Ejemplo n.º 1
0
    def test_remote_access_handler_should_retrieve_users_when_it_is_invoked_the_first_time(self):
        mock_os_util = MagicMock()
        with patch("azurelinuxagent.ga.remoteaccess.get_osutil", return_value=mock_os_util):
            with mock_wire_protocol(DATA_FILE) as mock_protocol:
                rah = RemoteAccessHandler(mock_protocol)
                rah.run()

                self.assertTrue(len(mock_os_util.get_users.call_args_list) == 1, "The first invocation of remote access should have retrieved the current users")
Ejemplo n.º 2
0
    def test_remote_access_handler_should_retrieve_users_when_goal_state_contains_jit_users(self):
        mock_os_util = MagicMock()
        with patch("azurelinuxagent.ga.remoteaccess.get_osutil", return_value=mock_os_util):
            with mock_wire_protocol(DATA_FILE_REMOTE_ACCESS) as mock_protocol:
                rah = RemoteAccessHandler(mock_protocol)
                rah.run()

                self.assertTrue(len(mock_os_util.get_users.call_args_list) > 0, "A goal state with jit users did not retrieve the current users")
Ejemplo n.º 3
0
    def test_remote_access_handler_should_not_retrieve_users_when_goal_state_does_not_contain_jit_users(self):
        mock_os_util = MagicMock()
        with patch("azurelinuxagent.ga.remoteaccess.get_osutil", return_value=mock_os_util):
            with mock_wire_protocol(DATA_FILE) as mock_protocol:
                rah = RemoteAccessHandler(mock_protocol)
                rah.run()  # this will trigger one call to retrieve the users

                mock_protocol.mock_wire_data.set_incarnation(123)  # mock a new goal state; the data file does not include any jit users
                rah.run()
                self.assertTrue(len(mock_os_util.get_users.call_args_list) == 1, "A goal state without jit users retrieved the current users")
 def test_remote_access_handler_run_error(self, _1, _2):
     rah = RemoteAccessHandler()
     rah.os_util = MockOSUtil()
     rah.run()
     print(TestRemoteAccessHandler.eventing_data)
     check_message = "foobar!"
     self.assertTrue(check_message in TestRemoteAccessHandler.eventing_data[4],
                     "expected message {0} not found in {1}"
                     .format(check_message, TestRemoteAccessHandler.eventing_data[4]))
     self.assertEqual(False, TestRemoteAccessHandler.eventing_data[2], "is_success is true")
 def test_remote_access_handler_run_error(self, _1, _2):
     rah = RemoteAccessHandler()
     rah.os_util = MockOSUtil()
     rah.run()
     print(TestRemoteAccessHandler.eventing_data)
     check_message = "foobar!"
     self.assertTrue(check_message in TestRemoteAccessHandler.eventing_data[4],
                     "expected message {0} not found in {1}"
                     .format(check_message, TestRemoteAccessHandler.eventing_data[4]))
     self.assertEqual(False, TestRemoteAccessHandler.eventing_data[2], "is_success is true")
Ejemplo n.º 6
0
 def test_remote_access_handler_run_bad_data(self, _1, _2, _3, _4, _5):
     with patch("azurelinuxagent.ga.remoteaccess.get_osutil", return_value=MockOSUtil()):
         rah = RemoteAccessHandler(Mock())
         tstpassword = "******"
         tstuser = "******"
         expiration_date = datetime.utcnow() + timedelta(days=1)
         pwd = tstpassword
         rah._add_user(tstuser, pwd, expiration_date) # pylint: disable=protected-access
         users = get_user_dictionary(rah._os_util.get_users()) # pylint: disable=protected-access
         self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
         rah.run()
         self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
 def test_remote_access_handler_run_bad_data(self, _1, _2, _3, _4, _5):
     rah = RemoteAccessHandler()
     rah.os_util = MockOSUtil()
     tstpassword = "******"
     tstuser = "******"
     expiration_date = datetime.utcnow() + timedelta(days=1)
     pwd = tstpassword
     rah.add_user(tstuser, pwd, expiration_date)
     users = get_user_dictionary(rah.os_util.get_users())
     self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
     rah.run()
     self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
 def test_remote_access_handler_run_bad_data(self, _1, _2, _3, _4, _5):
     rah = RemoteAccessHandler()
     rah.os_util = MockOSUtil()
     tstpassword = "******"
     tstuser = "******"
     expiration_date = datetime.utcnow() + timedelta(days=1)
     pwd = tstpassword
     rah.add_user(tstuser, pwd, expiration_date)
     users = get_user_dictionary(rah.os_util.get_users())
     self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
     rah.run()
     self.assertTrue(tstuser in users, "{0} missing from users".format(tstuser))
Ejemplo n.º 9
0
    def test_remote_access_handler_run_error(self, _):
        with patch("azurelinuxagent.ga.remoteaccess.get_osutil", return_value=MockOSUtil()):
            mock_protocol = WireProtocol("foo.bar")
            mock_protocol.get_incarnation = MagicMock(side_effect=Exception("foobar!"))

            rah = RemoteAccessHandler(mock_protocol)
            rah.run()
            print(TestRemoteAccessHandler.eventing_data)
            check_message = "foobar!"
            self.assertTrue(check_message in TestRemoteAccessHandler.eventing_data[4],
                            "expected message {0} not found in {1}"
                            .format(check_message, TestRemoteAccessHandler.eventing_data[4]))
            self.assertEqual(False, TestRemoteAccessHandler.eventing_data[2], "is_success is true")
    def test_remote_access_handler_run_error(self, _):
        mock_protocol = WireProtocol("foo.bar")
        mock_protocol.get_incarnation = MagicMock(
            side_effect=RemoteAccessError("foobar!"))

        rah = RemoteAccessHandler(mock_protocol)
        rah.os_util = MockOSUtil()
        rah.run()
        print(TestRemoteAccessHandler.eventing_data)
        check_message = "foobar!"
        self.assertTrue(
            check_message in TestRemoteAccessHandler.eventing_data[4],
            "expected message {0} not found in {1}".format(
                check_message, TestRemoteAccessHandler.eventing_data[4]))
        self.assertEqual(False, TestRemoteAccessHandler.eventing_data[2],
                         "is_success is true")