blob: df9e964d3c4078e10c322d98905300118790df3c [file] [log] [blame]
showarded2afea2009-07-07 20:54:07 +00001#!/usr/bin/python
2
3import unittest
4import common
5from autotest_lib.frontend import setup_django_environment
6from autotest_lib.frontend.afe import frontend_test_utils
7from autotest_lib.frontend.afe import models
8
showarda5288b42009-07-28 20:06:08 +00009
10class AclGroupTest(unittest.TestCase,
11 frontend_test_utils.FrontendTestMixin):
12 def setUp(self):
13 self._frontend_common_setup()
14
15
16 def tearDown(self):
17 self._frontend_common_teardown()
18
19
20 def _check_acls(self, host, acl_name_list):
21 actual_acl_names = [acl_group.name for acl_group
22 in host.aclgroup_set.all()]
23 self.assertEquals(set(actual_acl_names), set(acl_name_list))
24
25
26 def test_on_host_membership_change(self):
27 host1, host2 = self.hosts[1:3]
28 everyone_acl = models.AclGroup.objects.get(name='Everyone')
29
30 host1.aclgroup_set.clear()
31 self._check_acls(host1, [])
32 host2.aclgroup_set.add(everyone_acl)
33 self._check_acls(host2, ['Everyone', 'my_acl'])
34
35 models.AclGroup.on_host_membership_change()
36
37 self._check_acls(host1, ['Everyone'])
38 self._check_acls(host2, ['my_acl'])
39
40
showarded2afea2009-07-07 20:54:07 +000041class SpecialTaskUnittest(unittest.TestCase,
42 frontend_test_utils.FrontendTestMixin):
43 def setUp(self):
44 self._frontend_common_setup()
45
46
47 def tearDown(self):
48 self._frontend_common_teardown()
49
50
showardc0ac3a72009-07-08 21:14:45 +000051 def _create_task(self):
52 return models.SpecialTask.objects.create(
showarded2afea2009-07-07 20:54:07 +000053 host=self.hosts[0], task=models.SpecialTask.Task.VERIFY)
54
showardc0ac3a72009-07-08 21:14:45 +000055
56 def test_execution_path(self):
57 task = self._create_task()
showarded2afea2009-07-07 20:54:07 +000058 self.assertEquals(task.execution_path(), 'hosts/host1/1-verify')
59
60
showardc0ac3a72009-07-08 21:14:45 +000061 def test_status(self):
62 task = self._create_task()
63 self.assertEquals(task.status, 'Queued')
64
65 task.update_object(is_active=True)
66 self.assertEquals(task.status, 'Running')
67
68 task.update_object(is_active=False, is_complete=True)
69 self.assertEquals(task.status, 'Completed')
70
71
showard97446882009-07-20 22:37:28 +000072 def test_activate(self):
73 task = self._create_task()
74 task.activate()
75 self.assertTrue(task.is_active)
76 self.assertFalse(task.is_complete)
77
78
79 def test_finish(self):
80 task = self._create_task()
81 task.activate()
82 task.finish()
83 self.assertFalse(task.is_active)
84 self.assertTrue(task.is_complete)
85
86
showarded2afea2009-07-07 20:54:07 +000087if __name__ == '__main__':
88 unittest.main()