[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