コード例 #1
0
class TestTelnetSession(TestCase):
    def setUp(self):
        self._username = '******'
        self._password = '******'
        self._hostname = 'hostname'
        self._port = 22
        self._on_session_start = Mock()

    @patch('cloudshell.cli.session.telnet_session.ExpectSession')
    @patch('cloudshell.cli.session.telnet_session.ConnectionParams')
    def test_init_attributes(self, connection_params, expect_session):
        self._instance = TelnetSession(self._hostname,
                                       self._username,
                                       self._password,
                                       port=self._port,
                                       on_session_start=self._on_session_start)
        mandatory_attributes = ['username', '_handler', 'password']
        self.assertEqual(
            len(
                set(mandatory_attributes).difference(
                    set(self._instance.__dict__.keys()))), 0)

    @patch('cloudshell.cli.session.ssh_session.ExpectSession')
    def test_eq(self, expect_session):
        self._instance = TelnetSession(self._hostname,
                                       self._username,
                                       self._password,
                                       port=self._port,
                                       on_session_start=self._on_session_start)
        self.assertTrue(
            self._instance.__eq__(
                TelnetSession(self._hostname,
                              self._username,
                              self._password,
                              port=self._port,
                              on_session_start=self._on_session_start)))
        self.assertFalse(
            self._instance.__eq__(
                TelnetSession(self._hostname,
                              'incorrect_username',
                              self._password,
                              port=self._port,
                              on_session_start=self._on_session_start)))
        self.assertFalse(
            self._instance.__eq__(
                TelnetSession(self._hostname,
                              self._username,
                              'incorrect_password',
                              port=self._port,
                              on_session_start=self._on_session_start)))
コード例 #2
0
class TestTelnetSession(TestCase):
    def setUp(self):
        self._username = "******"
        self._password = "******"
        self._hostname = "hostname"
        self._port = 22
        self._on_session_start = Mock()

    @patch("cloudshell.cli.session.telnet_session.ExpectSession")
    @patch("cloudshell.cli.session.telnet_session.ConnectionParams")
    def test_init_attributes(self, connection_params, expect_session):
        self._instance = TelnetSession(
            self._hostname,
            self._username,
            self._password,
            port=self._port,
            on_session_start=self._on_session_start,
        )
        mandatory_attributes = ["username", "_handler", "password"]
        self.assertEqual(
            len(
                set(mandatory_attributes).difference(
                    set(self._instance.__dict__.keys()))),
            0,
        )

    @patch("cloudshell.cli.session.ssh_session.ExpectSession")
    def test_eq(self, expect_session):
        self._instance = TelnetSession(
            self._hostname,
            self._username,
            self._password,
            port=self._port,
            on_session_start=self._on_session_start,
        )
        self.assertTrue(
            self._instance.__eq__(
                TelnetSession(
                    self._hostname,
                    self._username,
                    self._password,
                    port=self._port,
                    on_session_start=self._on_session_start,
                )))
        self.assertFalse(
            self._instance.__eq__(
                TelnetSession(
                    self._hostname,
                    "incorrect_username",
                    self._password,
                    port=self._port,
                    on_session_start=self._on_session_start,
                )))
        self.assertFalse(
            self._instance.__eq__(
                TelnetSession(
                    self._hostname,
                    self._username,
                    "incorrect_password",
                    port=self._port,
                    on_session_start=self._on_session_start,
                )))

    @patch("cloudshell.cli.session.telnet_session.telnetlib")
    def test_intialize_session(self, telnet_lib):
        # Setup
        telnet_mock = Mock()
        telnet_lib.Telnet.return_value = telnet_mock
        hostname = "localhost"
        self._instance = TelnetSession(
            hostname,
            self._username,
            "incorrect_password",
            port=self._port,
            on_session_start=self._on_session_start,
        )

        # Act
        self._instance._initialize_session(">", logger=Mock())

        # Assert
        self.assertIsNotNone(self._instance._handler)
        self.assertEqual(telnet_mock, self._instance._handler)

    def test_connect_actions(self):
        # Setup
        hostname = "localhost"
        on_session_start = Mock()
        self._instance = TelnetSession(
            hostname,
            self._username,
            "password",
            port=self._port,
            on_session_start=on_session_start,
        )
        self._instance._timeout = 0
        self._instance.hardware_expect = Mock(return_value="Done")
        self._instance._handler = Mock()

        # Act
        self._instance._connect_actions(">", logger=Mock())

        # Assert
        self._instance.hardware_expect.assert_called_once()
        on_session_start.assert_called_once()