| #!/usr/bin/python3 |
| # pylint: disable=missing-docstring |
| |
| import unittest |
| |
| import common |
| from autotest_lib.frontend import setup_django_environment |
| from autotest_lib.frontend import setup_test_environment |
| from autotest_lib.frontend.tko import models |
| |
| |
| class TKOTestTest(unittest.TestCase): |
| |
| def setUp(self): |
| setup_test_environment.set_up() |
| self.machine1 = models.Machine.objects.create(hostname='myhost') |
| self.good_status = models.Status.objects.create(word='GOOD') |
| kernel_name = 'mykernel1' |
| self.kernel1 = models.Kernel.objects.create(kernel_hash=kernel_name, |
| base=kernel_name, |
| printable=kernel_name) |
| self.job1 = models.Job.objects.create( |
| tag='1-myjobtag1', label='myjob1', |
| username='myuser', machine=self.machine1, |
| afe_job_id=1) |
| self.job1_test1 = models.Test.objects.create( |
| job=self.job1, test='mytest1', |
| kernel=self.kernel1, |
| status=self.good_status, |
| machine=self.machine1) |
| |
| |
| def tearDown(self): |
| setup_test_environment.tear_down() |
| |
| |
| def _get_attributes(self, test): |
| models.Test.objects.populate_relationships( |
| [test], models.TestAttribute, 'attribute_list') |
| return dict((attribute.attribute, attribute.value) |
| for attribute in test.attribute_list) |
| |
| def test_delete_attribute(self): |
| test1 = self.job1_test1 |
| test1.set_attribute('test_attribute1', 'test_value1') |
| |
| attributes = self._get_attributes(test1) |
| self.assertEquals(attributes['test_attribute1'], 'test_value1') |
| |
| test1.set_or_delete_attribute('test_attribute1', None) |
| attributes = self._get_attributes(test1) |
| self.assertNotIn('test_attribute1', attributes.keys()) |
| |
| |
| def test_set_attribute(self): |
| # Verify adding static attribute in model_logic doesn't break TKO Test. |
| test1 = self.job1_test1 |
| test1.set_attribute('test_attribute1', 'test_value1') |
| test1.set_or_delete_attribute('test_attribute1', 'test_value2') |
| attributes = self._get_attributes(test1) |
| self.assertEquals(attributes['test_attribute1'], 'test_value2') |