[Toaster] [review-request][PATCH 2/2] toastergui: tests Add validate JSON payload for layer deps

Michael Wood michael.g.wood at intel.com
Tue Aug 11 07:45:20 PDT 2015


Add a test for the layer dependency information needed for the suggested
layers to add to your project dialog.

Signed-off-by: Michael Wood <michael.g.wood at intel.com>
---
 bitbake/lib/toaster/toastergui/tests.py | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py
index 4af84ec..3428e26 100644
--- a/bitbake/lib/toaster/toastergui/tests.py
+++ b/bitbake/lib/toaster/toastergui/tests.py
@@ -24,6 +24,7 @@
 from django.test import TestCase
 from django.core.urlresolvers import reverse
 from orm.models import Project, Release, BitbakeVersion
+from orm.models import LayerVersionDependency
 from orm.models import ReleaseLayerSourcePriority, LayerSource, Layer
 from orm.models import Layer_Version, Recipe, Machine, ProjectLayer
 from orm.models import ProjectAvailableRecipe, ProjectCustomRecipe
@@ -51,6 +52,18 @@ class ViewTests(TestCase):
         lver = Layer_Version.objects.create(layer=layer, project=self.project,
                                             layer_source=layersrc, commit="master")
 
+        layer_two = Layer.objects.create(name="second-layer",
+                                         layer_source=layersrc,
+                                         vcs_url="/example/")
+
+        lver_two = Layer_Version.objects.create(layer=layer_two,
+                                                project=self.project,
+                                                layer_source=layersrc,
+                                                commit="master")
+
+        LayerVersionDependency.objects.create(layer_version=lver,
+                                              depends_on=lver_two)
+
         Recipe.objects.create(layer_source=layersrc, name="base-recipe",
                               version="1.2", summary="one recipe",
                               description="recipe", layer_version=lver)
@@ -100,6 +113,26 @@ class ViewTests(TestCase):
                           'release_id', 'short_description', 'updated',
                           'user_id'])
 
+    def test_layerdetails_deps_json(self):
+        """Tests the correct fields are returned for the layer details deps"""
+        layer = Layer_Version.objects.first()
+        url = reverse('layerdetails', args=(self.project.pk, layer.pk))
+
+        response = self.client.get(url, { 'format': 'json' })
+        data = json.loads(response.content)
+
+        self.assertTrue("error" in data)
+
+        self.assertTrue(len(data['layerdeps']['list']) > 0)
+
+        layer_dep = data['layerdeps']['list'][0]
+
+        self.assertTrue(len(layer_dep['layerdetailurl']) > 0)
+        self.assertTrue(len(layer_dep['vcs_reference']) > 0)
+        self.assertTrue(len(layer_dep['vcs_url']) > 0)
+        self.assertTrue(len(layer_dep['name']) > 0)
+        self.assertTrue(layer_dep['id'] > 0)
+
     def test_typeaheads(self):
         """Test typeahead ReST API"""
         layers_url = reverse('xhr_layerstypeahead', args=(self.project.id,))
-- 
2.1.4



More information about the toaster mailing list