complete coverage for osusers.models
- add tests for AdditionalGroups methods save, delete and __str__ - add TaskResultTest.test_update_taskstatus_finished
This commit is contained in:
parent
c270a6087e
commit
842e207acc
1 changed files with 49 additions and 10 deletions
|
@ -31,25 +31,51 @@ class TestCaseWithCeleryTasks(TestCase):
|
|||
|
||||
|
||||
class AdditionalGroupTest(TestCaseWithCeleryTasks):
|
||||
def test_clean_primary_group(self):
|
||||
group1 = Group.objects.create(groupname='test1', gid=1000)
|
||||
user = User.objects.create(
|
||||
username='test', uid=1000, group=group1,
|
||||
def setUp(self):
|
||||
self.group1 = Group.objects.create(groupname='test1', gid=1000)
|
||||
self.user = User.objects.create(
|
||||
username='test', uid=1000, group=self.group1,
|
||||
homedir='/home/test', shell='/bin/bash')
|
||||
testsubj = AdditionalGroup(user=user, group=group1)
|
||||
|
||||
def test_clean_primary_group(self):
|
||||
testsubj = AdditionalGroup(user=self.user, group=self.group1)
|
||||
with self.assertRaises(ValidationError) as cm:
|
||||
testsubj.clean()
|
||||
self.assertEqual(
|
||||
cm.exception.message, CANNOT_USE_PRIMARY_GROUP_AS_ADDITIONAL)
|
||||
|
||||
def test_clean_other_group(self):
|
||||
group1 = Group(groupname='test1', gid=1000)
|
||||
group2 = Group(groupname='test2', gid=1001)
|
||||
user = User(username='test', uid=1000, group=group1,
|
||||
homedir='/home/test', shell='/bin/bash')
|
||||
testsubj = AdditionalGroup(user=user, group=group2)
|
||||
group2 = Group.objects.create(groupname='test2', gid=1001)
|
||||
testsubj = AdditionalGroup(user=self.user, group=group2)
|
||||
testsubj.clean()
|
||||
|
||||
def test_save(self):
|
||||
group2 = Group.objects.create(groupname='test2', gid=1001)
|
||||
GroupTaskResult.objects.all().delete()
|
||||
addgroup = AdditionalGroup(user=self.user, group=group2)
|
||||
addgroup.save()
|
||||
taskres = GroupTaskResult.objects.all()
|
||||
self.assertTrue(len(taskres), 1)
|
||||
self.assertEqual(taskres[0].task_name, 'add_ldap_user_to_group')
|
||||
self.assertEqual(taskres[0].group, group2)
|
||||
|
||||
def test_delete(self):
|
||||
group2 = Group.objects.create(groupname='test2', gid=1001)
|
||||
addgroup = AdditionalGroup.objects.create(user=self.user, group=group2)
|
||||
DeleteTaskResult.objects.all().delete()
|
||||
addgroup.delete()
|
||||
taskres = DeleteTaskResult.objects.all()
|
||||
self.assertTrue(len(taskres), 1)
|
||||
self.assertEqual(taskres[0].task_name, 'remove_ldap_user_from_group')
|
||||
self.assertEqual(taskres[0].modeltype, 'usergroup')
|
||||
self.assertEqual(taskres[0].modelname, 'test (1000) in test2 (1001)')
|
||||
self.assertEqual(len(AdditionalGroup.objects.all()), 0)
|
||||
|
||||
def test___str__(self):
|
||||
group2 = Group.objects.create(groupname='test2', gid=1001)
|
||||
addgroup = AdditionalGroup.objects.create(user=self.user, group=group2)
|
||||
self.assertEqual(str(addgroup), 'test (1000) in test2 (1001)')
|
||||
|
||||
|
||||
@override_settings(OSUSER_MINGID=10000)
|
||||
class GroupManagerTest(TestCase):
|
||||
|
@ -177,6 +203,19 @@ class TaskResultTest(TestCase):
|
|||
mymock.ready.assert_called_with()
|
||||
self.assertTrue(tr.is_finished)
|
||||
|
||||
@patch('osusers.models.AsyncResult')
|
||||
def test_update_taskstatus_finished(self, asyncres):
|
||||
mock = MagicMock(task_id=TEST_TASK_UUID, task_name=TEST_TASK_NAME)
|
||||
mock.ready.return_value = True
|
||||
mock.state = 'SUCCESS'
|
||||
mock.result = TEST_RESULT
|
||||
tr = DeleteTaskResult.objects.create(mock, TEST_TASK_NAME)
|
||||
self.assertTrue(tr.is_finished)
|
||||
mymock = asyncres(TEST_TASK_UUID)
|
||||
tr.update_taskstatus()
|
||||
self.assertFalse(mymock.ready.called)
|
||||
self.assertTrue(tr.is_finished)
|
||||
|
||||
|
||||
TEST_RESULT = MagicMock()
|
||||
TEST_RESULT.task_id = TEST_TASK_UUID
|
||||
|
|
Loading…
Reference in a new issue