Using Django's fixture files, once the custom SQL schema file has
been removed/deprecated.

Also, some unittests needed adjustments because they did not count
on having any initial data (test labels) on the database. And since
the database creation is closer to being identical on production
and when running the unittests, they now have to cope with the
initial data present on the test database.

Signed-off-by: Cleber Rosa <[email protected]>
---
 frontend/tko/fixtures/initial_data.json | 12 ++++++++
 frontend/tko/rpc_interface_unittest.py  | 50 ++++++++++++++++++---------------
 2 files changed, 39 insertions(+), 23 deletions(-)
 create mode 100644 frontend/tko/fixtures/initial_data.json

diff --git a/frontend/tko/fixtures/initial_data.json 
b/frontend/tko/fixtures/initial_data.json
new file mode 100644
index 0000000..b14b44f
--- /dev/null
+++ b/frontend/tko/fixtures/initial_data.json
@@ -0,0 +1,12 @@
+[
+    {"pk": "1", "model": "tko.status", "fields": {"status_idx": "1", "word": 
"ABORT"}},
+    {"pk": "2", "model": "tko.status", "fields": {"status_idx": "2", "word": 
"ALERT"}},
+    {"pk": "3", "model": "tko.status", "fields": {"status_idx": "3", "word": 
"ERROR"}},
+    {"pk": "4", "model": "tko.status", "fields": {"status_idx": "4", "word": 
"FAIL"}},
+    {"pk": "5", "model": "tko.status", "fields": {"status_idx": "5", "word": 
"GOOD"}},
+    {"pk": "6", "model": "tko.status", "fields": {"status_idx": "6", "word": 
"NOSTATUS"}},
+    {"pk": "7", "model": "tko.status", "fields": {"status_idx": "7", "word": 
"RUNNING"}},
+    {"pk": "8", "model": "tko.status", "fields": {"status_idx": "8", "word": 
"TEST_NA"}},
+    {"pk": "9", "model": "tko.status", "fields": {"status_idx": "9", "word": 
"WARN"}},
+    {"pk": "1", "model": "tko.testlabel", "fields": {"id": "1", "name": 
"invalidated"}}
+]
diff --git a/frontend/tko/rpc_interface_unittest.py 
b/frontend/tko/rpc_interface_unittest.py
index 5f43eff..3fe4413 100755
--- a/frontend/tko/rpc_interface_unittest.py
+++ b/frontend/tko/rpc_interface_unittest.py
@@ -174,11 +174,15 @@ class TkoTestMixin(object):
         self._add_iteration_keyval('tko_iteration_result', test=job1_test1,
                                    iteration=2, attribute='iresult2', value=4)
 
-        label1 = models.TestLabel.objects.create(name='testlabel1')
+        # With the new database initialization based on Django, the fixture
+        # file is always loaded. That file has one entry, so the labels
+        # created for the test have ids set to 2 and 3, and not 1 and 2. We
+        # name them like this so that is even more explicit
         label2 = models.TestLabel.objects.create(name='testlabel2')
+        label3 = models.TestLabel.objects.create(name='testlabel3')
 
-        label1.tests.add(job1_test1)
         label2.tests.add(job1_test1)
+        label3.tests.add(job1_test1)
 
 
     def _add_iteration_keyval(self, table, test, iteration, attribute, value):
@@ -226,7 +230,7 @@ class RpcInterfaceTest(unittest.TestCase, TkoTestMixin):
                                                {'attr': {},
                                                 'perf': {'iresult': 3,
                                                          'iresult2': 4}}])
-        self.assertEquals(test['labels'], ['testlabel1', 'testlabel2'])
+        self.assertEquals(test['labels'], ['testlabel2', 'testlabel3'])
         self.assertEquals(test['job_keyvals'], {'keyval_key': 'keyval_value'})
 
 
@@ -274,10 +278,10 @@ class RpcInterfaceTest(unittest.TestCase, TkoTestMixin):
 
 
     def test_get_test_views_filter_on_labels(self):
-        tests = rpc_interface.get_test_views(include_labels=['testlabel1'])
+        tests = rpc_interface.get_test_views(include_labels=['testlabel2'])
         self._check_test_names(tests, ['mytest1'])
 
-        tests = rpc_interface.get_test_views(exclude_labels=['testlabel1'])
+        tests = rpc_interface.get_test_views(exclude_labels=['testlabel2'])
         self._check_test_names(tests, ['mytest2', 'kernbench'])
 
 
@@ -378,29 +382,29 @@ class RpcInterfaceTest(unittest.TestCase, TkoTestMixin):
     def test_test_labels(self):
         labels = rpc_interface.get_test_labels_for_tests(test_name='mytest1')
         self.assertEquals(len(labels), 2)
-        label1 = labels[0]
-        label2 = labels[1]
+        label2 = labels[0]
+        label3 = labels[1]
 
-        self._check_for_get_test_labels(label1, 1)
         self._check_for_get_test_labels(label2, 2)
+        self._check_for_get_test_labels(label3, 3)
 
-        rpc_interface.test_label_remove_tests(label1['id'], 
test_name='mytest1')
+        rpc_interface.test_label_remove_tests(label2['id'], 
test_name='mytest1')
 
         labels = rpc_interface.get_test_labels_for_tests(test_name='mytest1')
         self.assertEquals(len(labels), 1)
         label = labels[0]
 
-        self._check_for_get_test_labels(label, 2)
+        self._check_for_get_test_labels(label, 3)
 
-        rpc_interface.test_label_add_tests(label1['id'], test_name='mytest1')
+        rpc_interface.test_label_add_tests(label2['id'], test_name='mytest1')
 
         labels = rpc_interface.get_test_labels_for_tests(test_name='mytest1')
         self.assertEquals(len(labels), 2)
-        label1 = labels[0]
-        label2 = labels[1]
+        label2 = labels[0]
+        label3 = labels[1]
 
-        self._check_for_get_test_labels(label1, 1)
         self._check_for_get_test_labels(label2, 2)
+        self._check_for_get_test_labels(label3, 3)
 
 
     def test_get_test_attribute_fields(self):
@@ -448,36 +452,36 @@ class RpcInterfaceTest(unittest.TestCase, TkoTestMixin):
 
     def test_get_test_label_fields(self):
         tests = rpc_interface.get_test_views(
-                test_label_fields=['testlabel1', 'testlabel2'])
+                test_label_fields=['testlabel2', 'testlabel3'])
         self.assertEquals(len(tests), 3)
 
-        self.assertEquals(tests[0]['test_label_testlabel1'], 'testlabel1')
         self.assertEquals(tests[0]['test_label_testlabel2'], 'testlabel2')
+        self.assertEquals(tests[0]['test_label_testlabel3'], 'testlabel3')
 
         for index in (1, 2):
-            self.assertEquals(tests[index]['test_label_testlabel1'], None)
             self.assertEquals(tests[index]['test_label_testlabel2'], None)
+            self.assertEquals(tests[index]['test_label_testlabel3'], None)
 
 
     def test_filtering_on_test_label_fields(self):
         tests = rpc_interface.get_test_views(
-                extra_where='test_label_testlabel1 = "testlabel1"',
-                test_label_fields=['testlabel1'])
+                extra_where='test_label_testlabel2 = "testlabel2"',
+                test_label_fields=['testlabel2'])
         self.assertEquals(len(tests), 1)
 
 
     def test_grouping_on_test_label_fields(self):
         num_groups = rpc_interface.get_num_groups(
-                ['test_label_testlabel1'], test_label_fields=['testlabel1'])
+                ['test_label_testlabel2'], test_label_fields=['testlabel2'])
         self.assertEquals(num_groups, 2)
 
         counts = rpc_interface.get_group_counts(
-                ['test_label_testlabel1'], test_label_fields=['testlabel1'])
+                ['test_label_testlabel2'], test_label_fields=['testlabel2'])
         groups = counts['groups']
         self.assertEquals(len(groups), 2)
-        self.assertEquals(groups[0]['test_label_testlabel1'], None)
+        self.assertEquals(groups[0]['test_label_testlabel2'], None)
         self.assertEquals(groups[0]['group_count'], 2)
-        self.assertEquals(groups[1]['test_label_testlabel1'], 'testlabel1')
+        self.assertEquals(groups[1]['test_label_testlabel2'], 'testlabel2')
         self.assertEquals(groups[1]['group_count'], 1)
 
 
-- 
1.7.11.7

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to