diff options
author | Michael Wood <michael.g.wood@intel.com> | 2015-12-08 19:56:11 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-10 13:29:19 +0000 |
commit | 76c000801415597975724978d42763f4ac573c50 (patch) | |
tree | 65bd0430a93cc135b7674ce01cf99fd7eeb91873 /bitbake/lib/toaster/toastergui/tests.py | |
parent | 70a078ee851b0408b68ddc13fbc7fbb658ce38df (diff) | |
download | poky-76c000801415597975724978d42763f4ac573c50.tar.gz |
bitbake: toaster: toastergui tests Add addtional data to the setUp for new tables
Add additional data to the setUp to be able to test all the tables for
Image Customisation. Also add the name of the table being tested to the
num of rows assertion.
(Bitbake rev: dfcbcf789cf3f0733ca26b0601fdf97ce4291674)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/tests.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/tests.py | 91 |
1 files changed, 66 insertions, 25 deletions
diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py index bd5cb0f244..56a7d7e860 100644 --- a/bitbake/lib/toaster/toastergui/tests.py +++ b/bitbake/lib/toaster/toastergui/tests.py | |||
@@ -72,7 +72,8 @@ class ViewTests(TestCase): | |||
72 | 72 | ||
73 | build = Build.objects.create(project=self.project, | 73 | build = Build.objects.create(project=self.project, |
74 | started_on=now, | 74 | started_on=now, |
75 | completed_on=now) | 75 | completed_on=now, |
76 | outcome=Build.SUCCEEDED) | ||
76 | 77 | ||
77 | # for testing BuildsTable | 78 | # for testing BuildsTable |
78 | build1 = Build.objects.create(project=self.project, | 79 | build1 = Build.objects.create(project=self.project, |
@@ -163,22 +164,33 @@ class ViewTests(TestCase): | |||
163 | self.customr = CustomImageRecipe.objects.create(\ | 164 | self.customr = CustomImageRecipe.objects.create(\ |
164 | name="custom recipe", project=self.project, | 165 | name="custom recipe", project=self.project, |
165 | base_recipe=self.recipe1, | 166 | base_recipe=self.recipe1, |
167 | file_path="custr", | ||
166 | layer_version=lver_custom) | 168 | layer_version=lver_custom) |
167 | 169 | ||
168 | CustomImageRecipe.objects.create(name="z custom recipe", | ||
169 | project=self.project, | ||
170 | base_recipe=self.recipe1) | ||
171 | |||
172 | self.package = Package.objects.create(name='pkg1', | 170 | self.package = Package.objects.create(name='pkg1', |
173 | size=999, | 171 | size=999, |
174 | recipe=self.recipe1, | 172 | recipe=self.recipe1, |
173 | license="HHH", | ||
175 | build=build) | 174 | build=build) |
176 | 175 | ||
177 | Package.objects.create(name='zpkg1', recipe=self.recipe1, build=build) | 176 | Package.objects.create(name='A pkg1', |
177 | size=777, | ||
178 | recipe=self.recipe1, | ||
179 | build=build) | ||
180 | |||
181 | Package.objects.create(name='zpkg1', | ||
182 | recipe=self.recipe1, | ||
183 | build=build, | ||
184 | size=4, | ||
185 | license="ZZ") | ||
178 | 186 | ||
179 | self.cust_package = CustomImagePackage.objects.create( | 187 | self.cust_package = CustomImagePackage.objects.create( |
180 | name="ppkg1", | 188 | name="A pkg", |
181 | recipe=self.recipe1) | 189 | recipe=self.recipe1, |
190 | size=10, | ||
191 | license="AAA") | ||
192 | |||
193 | self.customr.appends_set.add(self.cust_package) | ||
182 | 194 | ||
183 | # recipe with project for testing AvailableRecipe table | 195 | # recipe with project for testing AvailableRecipe table |
184 | self.recipe2 = Recipe.objects.create(layer_source=layersrc, | 196 | self.recipe2 = Recipe.objects.create(layer_source=layersrc, |
@@ -191,6 +203,19 @@ class ViewTests(TestCase): | |||
191 | section="Z section", | 203 | section="Z section", |
192 | file_path='/home/foo') | 204 | file_path='/home/foo') |
193 | 205 | ||
206 | # additional package for the sorting for the SelectPackagesTable | ||
207 | cust_package_two = CustomImagePackage.objects.create(name="ZZ pkg", | ||
208 | size=5, | ||
209 | recipe=self.recipe2) | ||
210 | |||
211 | self.customr.appends_set.add(cust_package_two) | ||
212 | |||
213 | Package.objects.create(name='one1', | ||
214 | recipe=self.recipe2, | ||
215 | build=build, | ||
216 | size=2, | ||
217 | license="L") | ||
218 | |||
194 | Recipe.objects.create(layer_source=layersrc, | 219 | Recipe.objects.create(layer_source=layersrc, |
195 | is_image=True, | 220 | is_image=True, |
196 | name="Test image one", | 221 | name="Test image one", |
@@ -202,17 +227,27 @@ class ViewTests(TestCase): | |||
202 | file_path="/one/", | 227 | file_path="/one/", |
203 | layer_version=self.lver) | 228 | layer_version=self.lver) |
204 | 229 | ||
205 | Recipe.objects.create(layer_source=layersrc, | 230 | zrecipe = Recipe.objects.create(layer_source=layersrc, |
206 | is_image=True, | 231 | is_image=True, |
207 | name="Z Test image two", | 232 | name="Z Test image two", |
208 | version="1.3", | 233 | version="1.3", |
209 | summary="two image recipe", | 234 | summary="two image recipe", |
210 | description="recipe two", | 235 | description="recipe two", |
211 | section="B", | 236 | section="B", |
212 | license="Z", | 237 | license="Z", |
213 | file_path="/two/", | 238 | file_path="/two/", |
214 | layer_version=lver_two) | 239 | layer_version=lver_two) |
215 | 240 | ||
241 | CustomImageRecipe.objects.create(name="z custom recipe", | ||
242 | project=self.project, | ||
243 | base_recipe=zrecipe, | ||
244 | file_path="zzzz", | ||
245 | layer_version=lver_custom) | ||
246 | |||
247 | # Packages in PackagesTable requre that the recipe has been built so | ||
248 | # we need to create a target and build pair | ||
249 | target = Target.objects.create(target=self.recipe1.name, | ||
250 | build=build) | ||
216 | 251 | ||
217 | 252 | ||
218 | 253 | ||
@@ -416,14 +451,17 @@ class ViewTests(TestCase): | |||
416 | self.assertEqual(self.customr.appends_set.first().name, | 451 | self.assertEqual(self.customr.appends_set.first().name, |
417 | self.cust_package.name) | 452 | self.cust_package.name) |
418 | # delete it | 453 | # delete it |
454 | to_delete = self.customr.appends_set.first().pk | ||
419 | del_url = reverse('xhr_customrecipe_packages', | 455 | del_url = reverse('xhr_customrecipe_packages', |
420 | args=(self.customr.id, | 456 | args=(self.customr.id, to_delete)) |
421 | self.customr.appends_set.first().id)) | ||
422 | 457 | ||
423 | response = self.client.delete(del_url) | 458 | response = self.client.delete(del_url) |
424 | self.assertEqual(response.status_code, 200) | 459 | self.assertEqual(response.status_code, 200) |
425 | self.assertEqual(json.loads(response.content), {"error": "ok"}) | 460 | self.assertEqual(json.loads(response.content), {"error": "ok"}) |
426 | self.assertFalse(self.customr.includes_set.all()) | 461 | all_packages = self.customr.get_all_packages().values_list('pk', |
462 | flat=True) | ||
463 | |||
464 | self.assertFalse(to_delete in all_packages) | ||
427 | # delete invalid package to test error condition | 465 | # delete invalid package to test error condition |
428 | del_url = reverse('xhr_customrecipe_packages', | 466 | del_url = reverse('xhr_customrecipe_packages', |
429 | args=(self.customr.id, | 467 | args=(self.customr.id, |
@@ -465,8 +503,8 @@ class ViewTests(TestCase): | |||
465 | row2 = next(x for x in rows if x['name'] == self.recipe2.name) | 503 | row2 = next(x for x in rows if x['name'] == self.recipe2.name) |
466 | 504 | ||
467 | self.assertEqual(response.status_code, 200, 'should be 200 OK status') | 505 | self.assertEqual(response.status_code, 200, 'should be 200 OK status') |
468 | # self.recipe1 + self.recipe2 + self.customr = 3 | 506 | # All recipes in the setUp |
469 | self.assertEqual(len(rows), 3, 'should be 3 recipes') | 507 | self.assertEqual(len(rows), 5, 'should be 5 recipes') |
470 | 508 | ||
471 | # check other columns have been populated correctly | 509 | # check other columns have been populated correctly |
472 | self.assertEqual(row1['name'], self.recipe1.name) | 510 | self.assertEqual(row1['name'], self.recipe1.name) |
@@ -484,6 +522,7 @@ class ViewTests(TestCase): | |||
484 | 522 | ||
485 | def test_toaster_tables(self): | 523 | def test_toaster_tables(self): |
486 | """Test all ToasterTables instances""" | 524 | """Test all ToasterTables instances""" |
525 | current_recipes = self.project.get_available_recipes() | ||
487 | 526 | ||
488 | def get_data(table, options={}): | 527 | def get_data(table, options={}): |
489 | """Send a request and parse the json response""" | 528 | """Send a request and parse the json response""" |
@@ -494,7 +533,9 @@ class ViewTests(TestCase): | |||
494 | response = table.get(request, | 533 | response = table.get(request, |
495 | pid=self.project.id, | 534 | pid=self.project.id, |
496 | layerid=self.lver.pk, | 535 | layerid=self.lver.pk, |
497 | recipeid=self.recipe1.pk) | 536 | recipeid=self.recipe1.pk, |
537 | recipe_id=self.recipe1.pk, | ||
538 | custrecipeid=self.customr.pk) | ||
498 | return json.loads(response.content) | 539 | return json.loads(response.content) |
499 | 540 | ||
500 | # Get a list of classes in tables module | 541 | # Get a list of classes in tables module |
@@ -513,7 +554,7 @@ class ViewTests(TestCase): | |||
513 | all_data = get_data(table) | 554 | all_data = get_data(table) |
514 | 555 | ||
515 | self.assertTrue(len(all_data['rows']) > 1, | 556 | self.assertTrue(len(all_data['rows']) > 1, |
516 | "Cannot test on the table %s with < 1 row" % name) | 557 | "Cannot test on a %s table with < 1 row" % name) |
517 | 558 | ||
518 | if table.default_orderby: | 559 | if table.default_orderby: |
519 | row_one = all_data['rows'][0][table.default_orderby.strip("-")] | 560 | row_one = all_data['rows'][0][table.default_orderby.strip("-")] |