[Toaster] [review-request][PATCH][v2] toastergui: Add tests for xhr_importlayer

Sujith H sujith.h at gmail.com
Thu Aug 6 08:41:28 PDT 2015


From: Sujith Haridasan <Sujith_Haridasan at mentor.com>

Inorder to make sure if layer name which we import is already
available in toaster database, a test case has been included.
This would help user to identify if layer name which has been
provided in the import layer web page already exists or not.

Signed-off-by: Sujith Haridasan <sujith.h at gmail.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan at mentor.com>
---
 bitbake/lib/toaster/toastergui/tests.py | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py
index 77e80fe..9e444ae 100644
--- a/bitbake/lib/toaster/toastergui/tests.py
+++ b/bitbake/lib/toaster/toastergui/tests.py
@@ -75,3 +75,34 @@ class XHRDataTypeAheadTestCase(ProvisionedLayersProjectTestCase):
         self.assertTrue(len(data["list"]) > 0)
 
         self.assertTrue(XHRDataTypeAheadTestCase.LAYER_NAME in map(lambda x: x["name"], data["list"]))
+
+
+class XHRImportLayerTestCase(ProvisionedLayersProjectTestCase):
+
+    def setUp(self):
+        super(XHRImportLayerTestCase, self).setUp()
+        self.assertTrue(self.lv in self.project.compatible_layerversions())
+
+    def test_import(self):
+        #Test for importing an already existing layer
+        data = {'vcs_url' : "git://git.example.com/test" ,
+                'name' : "base-layer", 'git_ref': "c12b9596afd236116b25ce26dbe0d793de9dc7ce",
+                'project_id': 1, 'dir_path' : "/path/in/repository"}
+        result = self.client.post(reverse('xhr_importlayer'), data)
+        self.assertEqual(result.status_code,200)
+        self.assertTrue("hint-layer-exists-with-different-url" in result.content)
+
+        #Test to verify import of a layer successful
+        data['name'] = "meta-oe"
+        result = self.client.post(reverse('xhr_importlayer'), data)
+        self.assertTrue('"error": "ok"' in result.content)
+
+        #Test for html tag in the data
+        data['<'] = "testing html tag"
+        result = self.client.post(reverse('xhr_importlayer'), data)
+        self.assertTrue('"error": "Invalid character <"' in result.content)
+
+        #Empty data passed
+        data = {}
+        result = self.client.post(reverse('xhr_importlayer'), data)
+        self.assertTrue('"error": "Missing parameters; requires vcs_url, name, git_ref and project_id"' in result.content)
-- 
1.9.1



More information about the toaster mailing list