Best Python code snippet using avocado_python
test_ssh_transport.py
Source:test_ssh_transport.py  
...34        manager = TestSSHVendorManager()35        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})36        vendor = object()37        manager.register_vendor("vendor", vendor)38        self.assertIs(manager.get_vendor({"BZR_SSH": "vendor"}), vendor)39    def test_default_vendor(self):40        manager = TestSSHVendorManager()41        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})42        vendor = object()43        manager.register_default_vendor(vendor)44        self.assertIs(manager.get_vendor({}), vendor)45    def test_get_vendor_by_environment(self):46        manager = TestSSHVendorManager()47        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})48        self.assertRaises(UnknownSSH,49            manager.get_vendor, {"BZR_SSH": "vendor"})50        vendor = object()51        manager.register_vendor("vendor", vendor)52        self.assertIs(manager.get_vendor({"BZR_SSH": "vendor"}), vendor)53    def test_get_vendor_by_inspection_openssh(self):54        manager = TestSSHVendorManager()55        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})56        manager.set_ssh_version_string("OpenSSH")57        self.assertIsInstance(manager.get_vendor({}), OpenSSHSubprocessVendor)58    def test_get_vendor_by_inspection_sshcorp(self):59        manager = TestSSHVendorManager()60        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})61        manager.set_ssh_version_string("SSH Secure Shell")62        self.assertIsInstance(manager.get_vendor({}), SSHCorpSubprocessVendor)63    def test_get_vendor_by_inspection_lsh(self):64        manager = TestSSHVendorManager()65        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})66        manager.set_ssh_version_string("lsh")67        self.assertIsInstance(manager.get_vendor({}), LSHSubprocessVendor)68    def test_get_vendor_by_inspection_plink(self):69        manager = TestSSHVendorManager()70        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})71        manager.set_ssh_version_string("plink")72        # Auto-detect of plink vendor disabled, on Windows recommended73        # default ssh-client is paramiko74        # see https://bugs.launchpad.net/bugs/41474375        #~self.assertIsInstance(manager.get_vendor({}), PLinkSubprocessVendor)76        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})77    def test_cached_vendor(self):78        manager = TestSSHVendorManager()79        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})80        vendor = object()81        manager.register_vendor("vendor", vendor)82        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})83        # Once the vendor is found the result is cached (mainly because of the84        # 'get_vendor' sometimes can be an expensive operation) and later85        # invocations of the 'get_vendor' just returns the cached value.86        self.assertIs(manager.get_vendor({"BZR_SSH": "vendor"}), vendor)87        self.assertIs(manager.get_vendor({}), vendor)88        # The cache can be cleared by the 'clear_cache' method89        manager.clear_cache()90        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})91    def test_get_vendor_search_order(self):92        # The 'get_vendor' method search for SSH vendors as following:93        #94        #   1. Check previously cached value95        #   2. Check BZR_SSH environment variable96        #   3. Check the system for known SSH vendors97        #   4. Fall back to the default vendor if registered98        #99        # Let's now check the each check method in the reverse order100        # clearing the cache between each invocation:101        manager = TestSSHVendorManager()102        # At first no vendors are found103        self.assertRaises(SSHVendorNotFound, manager.get_vendor, {})104        # If the default vendor is registered it will be returned105        default_vendor = object()106        manager.register_default_vendor(default_vendor)107        self.assertIs(manager.get_vendor({}), default_vendor)108        # If the known vendor is found in the system it will be returned109        manager.clear_cache()110        manager.set_ssh_version_string("OpenSSH")111        self.assertIsInstance(manager.get_vendor({}), OpenSSHSubprocessVendor)112        # If the BZR_SSH environment variable is found it will be treated as113        # the vendor name114        manager.clear_cache()115        vendor = object()116        manager.register_vendor("vendor", vendor)117        self.assertIs(manager.get_vendor({"BZR_SSH": "vendor"}), vendor)118        # Last cached value always checked first119        self.assertIs(manager.get_vendor({}), vendor)120    def test_get_vendor_from_path_win32_plink(self):121        manager = TestSSHVendorManager()122        manager.set_ssh_version_string("plink: Release 0.60")123        plink_path = "C:/Program Files/PuTTY/plink.exe"124        vendor = manager.get_vendor({"BZR_SSH": plink_path})125        self.assertIsInstance(vendor, PLinkSubprocessVendor)126        args = vendor._get_vendor_specific_argv("user", "host", 22, ["bzr"])127        self.assertEqual(args[0], plink_path)128    def test_get_vendor_from_path_nix_openssh(self):129        manager = TestSSHVendorManager()130        manager.set_ssh_version_string(131            "OpenSSH_5.1p1 Debian-5, OpenSSL, 0.9.8g 19 Oct 2007")132        openssh_path = "/usr/bin/ssh"133        vendor = manager.get_vendor({"BZR_SSH": openssh_path})134        self.assertIsInstance(vendor, OpenSSHSubprocessVendor)135        args = vendor._get_vendor_specific_argv("user", "host", 22, ["bzr"])136        self.assertEqual(args[0], openssh_path)137class SubprocessVendorsTests(TestCase):138    def test_openssh_command_tricked(self):139        vendor = OpenSSHSubprocessVendor()140        self.assertEqual(141            vendor._get_vendor_specific_argv(142                "user", "-oProxyCommand=blah", 100, command=["bzr"]),143            ["ssh", "-oForwardX11=no", "-oForwardAgent=no",144                "-oClearAllForwardings=yes",145                "-oNoHostAuthenticationForLocalhost=yes",146                "-p", "100",147                "-l", "user",...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
