def setUp(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect=[(1, re.search('(?P<login>ogin:\s*$)', "login: "******"password: "******"junos % "), six.b('\r\r\nroot@device:~ # '))] self.dev = Console(host='1.1.1.1', user='******', password='******', mode='Telnet') self.dev.open()
def setUp(self, mock_read, mock_flush, mock_write, mock_serial_read, mock_open): self.dev = Console(port='COM4', baud=9600, mode='Serial') mock_read.side_effect = [('login', 'login'), ('passwd', 'passwd'), ('shell', 'shell')] mock_serial_read.side_effect = [ six. b("<!-- No zombies were killed during the creation of this user interface -->" ), six.b(''), six.b("""<!-- user root, class super-user --> <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <capabilities> <capability>urn:ietf:params:netconf:base:1.0</capability> <capability>urn:ietf:params:netconf:capability:candidate:1.0</capability> <capability>urn:ietf:params:netconf:capability:confirmed-commit:1.0</capability> <capability>urn:ietf:params:netconf:capability:validate:1.0</capability> <capability>urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file</capability> <capability>urn:ietf:params:xml:ns:netconf:base:1.0</capability> <capability>urn:ietf:params:xml:ns:netconf:capability:candidate:1.0</capability> <capability>urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0</capability> <capability>urn:ietf:params:xml:ns:netconf:capability:validate:1.0</capability> <capability>urn:ietf:params:xml:ns:netconf:capability:url:1.0?scheme=http,ftp,file</capability> <capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring</capability> <capability>http://xml.juniper.net/netconf/junos/1.0</capability> <capability>http://xml.juniper.net/dmi/system/1.0</capability> </capabilities> <session-id>7478</session-id> </hello> ]]>]]>"""), six.b('') ] self.dev.open()
def test_telnet_host_none(self): self.dev = Console( host=None, user='******', password='******', mode='Telnet') self.assertTrue(self.dev.open()['failed'])
def test_telnet_old_fact_warning(self, mock_warn): self.dev = Console(host='1.1.1.1', user='******', password='******', mode='Telnet', fact_style='old') mock_warn.assert_called_once( 'fact-style old will be removed in a ' 'future release.', RuntimeWarning)
def setUp(self, mock_nc_open, mock_read, mock_flush, mock_write, mock_open): self.dev = Console(port="USB/ttyUSB0", baud=9600, mode="Serial") mock_read.side_effect = [ ("login", "login"), ("passwd", "passwd"), ("shell", "shell"), ] self.dev.open()
def test_console_serial(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect = [six.b('\r\r\n Login:'******'\r\r\n password:'******'\r\r\nroot@device:~ # ')] self.dev = Console(host='1.1.1.1', user='******', password='******', mode='serial') self.dev.open() self.assertTrue(self.dev.connected) self.assertFalse(self.dev.gather_facts)
def test_console_serial(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect = [ six.b("\r\r\n Login:"******"\r\r\n password:"******"\r\r\nroot@device:~ # "), ] self.dev = Console(host="1.1.1.1", user="******", password="******", mode="serial") self.dev.open() self.assertTrue(self.dev.connected) self.assertFalse(self.dev._gather_facts)
def test_login_bad_password(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect = [ (1, re.search('(?P<login>ogin:\s*$)', "login: "******"password: "******"login incorrect"), six.b('\r\r\nlogin incorrect')) ] self.dev = Console(host='1.1.1.1', user='******', password='******', mode='Telnet') self.assertRaises(StopIteration, self.dev.open)
def test_telnet_old_fact_warning(self, mock_warn): self.dev = Console( host="1.1.1.1", user="******", password="******", mode="Telnet", fact_style="old", ) mock_warn.assert_has_calls( [ call.warn( "fact-style old will be removed in a future release.", RuntimeWarning, ) ] )
def test_with_context(self, mock_write, mock_expect, mock_open, mock_logout): tty_netconf.open = MagicMock() mock_expect.side_effect = [ (1, re.search('(?P<login>ogin:\s*$)', "login: "******"password: "******"junos % "), six.b('\r\r\nroot@device:~ # ')) ] with Console(host='1.1.1.1', user='******', password='******', mode='Telnet') as dev: self.assertTrue(isinstance(self.dev, Console))
def test_login_bad_password(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect = [ (1, re.search("(?P<login>ogin:\s*$)", "login: "******"\r\r\n ogin:")), ( 2, re.search("(?P<passwd>assword:\s*$)", "password: "******"\r\r\n password:"******"(?P<badpasswd>ogin incorrect)", "login incorrect"), six.b("\r\r\nlogin incorrect"), ), ] self.dev = Console(host="1.1.1.1", user="******", password="******", mode="Telnet") self.assertRaises(StopIteration, self.dev.open)
def setUp(self, mock_write, mock_expect, mock_open): tty_netconf.open = MagicMock() mock_expect.side_effect = [ (1, re.search("(?P<login>ogin:\s*$)", "login: "******"\r\r\n ogin:")), ( 2, re.search("(?P<passwd>assword:\s*$)", "password: "******"\r\r\n password:"******"(?P<shell>%|#\s*$)", "junos % "), six.b("\r\r\nroot@device:~ # "), ), ] self.dev = Console(host="1.1.1.1", user="******", password="******", mode="Telnet") self.dev.open()
def test_with_context(self, mock_write, mock_expect, mock_open, mock_logout): tty_netconf.open = MagicMock() mock_expect.side_effect = [ (1, re.search("(?P<login>ogin:\s*$)", "login: "******"\r\r\n ogin:")), ( 2, re.search("(?P<passwd>assword:\s*$)", "password: "******"\r\r\n password:"******"(?P<shell>%|#\s*$)", "junos % "), six.b("\r\r\nroot@device:~ # "), ), ] with Console( host="1.1.1.1", user="******", password="******", mode="Telnet" ) as dev: self.assertTrue(isinstance(self.dev, Console))
def test_wrong_mode(self): dev = Console(host='1.1.1.1', user='******', password='******', mode='testing') self.assertRaises(AttributeError, dev.open)
def test_tty_serial_open_exception(self, mock_open): dev = Console(port='USB/ttyUSB0', baud=9600, mode='Serial') mock_open.side_effect = OSError self.assertRaises(RuntimeError, dev.open)
def setUp(self, mock_nc_open, mock_read, mock_flush, mock_write, mock_open): self.dev = Console(port='USB/ttyUSB0', baud=9600, mode='Serial') mock_read.side_effect = [ ('login', 'login'), ('passwd', 'passwd'), ('shell', 'shell')] self.dev.open()
def test_telnet_host_none(self): self.dev = Console(host=None, user="******", password="******", mode="Telnet") self.assertTrue(self.dev.open()["failed"])
def test_wrong_mode(self): dev = Console(host="1.1.1.1", user="******", password="******", mode="testing") self.assertRaises(AttributeError, dev.open)