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')
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')
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()