Ejemplo n.º 1
0
    def test_user_profile_admin_wheel(self, mock_log, mock_libuser, mock_os,
                                      mock_get_sudoers):

        """
        unittest to validate get_user_profile() for user is wheel group
        mock_log: mock of wok_log imported in model.users
        mock_libuser: mock of libuser imported in model.users
        mock_os: mock of os imported in model.users
        mock_get_sudoers: mock of get_sudoers() in model.users
        """
        mock_adm = mock_libuser.admin()
        mock_os.path.isfile.return_value = False
        mock_adm.enumerateGroupsByUser.return_value = ['user1', 'wheel']
        f = '/etc/sudoers.d/user1_conf'
        profile = get_user_profile('user1')
        self.assertEqual('admin', profile)
        mock_adm.enumerateGroupsByUser.assert_called_once_with('user1')
        mock_os.path.isfile.assert_called_once_with(f)
        self.assertFalse(mock_get_sudoers.called,
                         msg='Unexpected call to mock_get_sudoers')
Ejemplo n.º 2
0
    def test_profile_regular_user(self, mock_log, mock_libuser,
                                  mock_os, mock_get_sudoers):

        """
        unittest to validate get_user_profile() for user in kvm group
        Note: sudoers list is passed to get_user_profile() so it shouldn't
              call get_sudoers() method
        mock_log: mock of wok_log imported in model.users
        mock_libuser: mock of libuser imported in model.users
        mock_os: mock of os imported in model.users
        mock_get_sudoers: mock of get_sudoers() in model.users
        """
        mock_adm = mock_libuser.admin()
        mock_os.path.isfile.return_value = False
        mock_adm.enumerateGroupsByUser.return_value = ['g1', 'g2']
        f = '/etc/sudoers.d/user1_conf'
        profile = get_user_profile('user1', [])
        self.assertEqual('regularuser', profile)
        mock_adm.enumerateGroupsByUser.assert_called_once_with('user1')
        mock_os.path.isfile.assert_called_once_with(f)
        self.assertFalse(mock_get_sudoers.called,
                         msg='Unexpected call to mock_get_sudoers')
Ejemplo n.º 3
0
    def test_profile_user_in_sudoers_file(self, mock_log, mock_libuser,
                                          mock_os, mock_get_sudoers):

        """
        unittest to validate get_user_profile() for user in /etc/sudoers file
        Note: sudoers is not passed to get_user_profile() so it
              should call get_sudoers() method
        mock_log: mock of wok_log imported in model.users
        mock_libuser: mock of libuser imported in model.users
        mock_os: mock of os imported in model.users
        mock_get_sudoers: mock of get_sudoers() in model.users
        """
        mock_adm = mock_libuser.admin()
        mock_os.path.isfile.return_value = False
        mock_adm.enumerateGroupsByUser.return_value = ['g1', 'g2']
        mock_get_sudoers.return_value = ['user1', 'user2']
        f = '/etc/sudoers.d/user1_conf'
        profile = get_user_profile('user1')
        self.assertEqual('admin', profile)
        mock_adm.enumerateGroupsByUser.assert_called_once_with('user1')
        mock_os.path.isfile.assert_called_once_with(f)
        mock_get_sudoers.assert_called_once_with()