blob: 9f4d99da9bae73b9456390d541f152d0a8932621 [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
showard474d1362009-08-20 23:32:01 +00008from autotest_lib.frontend.afe import model_logic
showarded2afea2009-07-07 20:54:07 +00009
showarda5288b42009-07-28 20:06:08 +000010
11class AclGroupTest(unittest.TestCase,
12 frontend_test_utils.FrontendTestMixin):
13 def setUp(self):
14 self._frontend_common_setup()
15
16
17 def tearDown(self):
18 self._frontend_common_teardown()
19
20
21 def _check_acls(self, host, acl_name_list):
22 actual_acl_names = [acl_group.name for acl_group
23 in host.aclgroup_set.all()]
24 self.assertEquals(set(actual_acl_names), set(acl_name_list))
25
26
27 def test_on_host_membership_change(self):
28 host1, host2 = self.hosts[1:3]
29 everyone_acl = models.AclGroup.objects.get(name='Everyone')
30
31 host1.aclgroup_set.clear()
32 self._check_acls(host1, [])
33 host2.aclgroup_set.add(everyone_acl)
34 self._check_acls(host2, ['Everyone', 'my_acl'])
35
36 models.AclGroup.on_host_membership_change()
37
38 self._check_acls(host1, ['Everyone'])
39 self._check_acls(host2, ['my_acl'])
40
41
showarded2afea2009-07-07 20:54:07 +000042class SpecialTaskUnittest(unittest.TestCase,
43 frontend_test_utils.FrontendTestMixin):
44 def setUp(self):
45 self._frontend_common_setup()
46
47
48 def tearDown(self):
49 self._frontend_common_teardown()
50
51
showardc0ac3a72009-07-08 21:14:45 +000052 def _create_task(self):
53 return models.SpecialTask.objects.create(
showarded2afea2009-07-07 20:54:07 +000054 host=self.hosts[0], task=models.SpecialTask.Task.VERIFY)
55
showardc0ac3a72009-07-08 21:14:45 +000056
57 def test_execution_path(self):
58 task = self._create_task()
showarded2afea2009-07-07 20:54:07 +000059 self.assertEquals(task.execution_path(), 'hosts/host1/1-verify')
60
61
showardc0ac3a72009-07-08 21:14:45 +000062 def test_status(self):
63 task = self._create_task()
64 self.assertEquals(task.status, 'Queued')
65
66 task.update_object(is_active=True)
67 self.assertEquals(task.status, 'Running')
68
69 task.update_object(is_active=False, is_complete=True)
70 self.assertEquals(task.status, 'Completed')
71
72
showard97446882009-07-20 22:37:28 +000073 def test_activate(self):
74 task = self._create_task()
75 task.activate()
76 self.assertTrue(task.is_active)
77 self.assertFalse(task.is_complete)
78
79
80 def test_finish(self):
81 task = self._create_task()
82 task.activate()
83 task.finish()
84 self.assertFalse(task.is_active)
85 self.assertTrue(task.is_complete)
86
87
showarded2afea2009-07-07 20:54:07 +000088if __name__ == '__main__':
89 unittest.main()