All of lore.kernel.org
 help / color / mirror / Atom feed
* [review-request][PATCH][v2] toastergui: Add tests for xhr_importlayer
@ 2015-08-06 15:41 Sujith H
  2015-08-06 15:43 ` sujith h
  2015-08-08 17:46 ` Ed Bartosh
  0 siblings, 2 replies; 7+ messages in thread
From: Sujith H @ 2015-08-06 15:41 UTC (permalink / raw)
  To: toaster

From: Sujith Haridasan <Sujith_Haridasan@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@gmail.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan@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



^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [review-request][PATCH][v2] toastergui: Add tests for xhr_importlayer
@ 2015-08-10  9:03 Sujith H
  2015-08-10  9:06 ` sujith h
  2015-08-10 16:26 ` Ed Bartosh
  0 siblings, 2 replies; 7+ messages in thread
From: Sujith H @ 2015-08-10  9:03 UTC (permalink / raw)
  To: toaster

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@gmail.com>
Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com>
---
 bitbake/lib/toaster/toastergui/tests.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/bitbake/lib/toaster/toastergui/tests.py b/bitbake/lib/toaster/toastergui/tests.py
index 93a85ac..2986e57 100644
--- a/bitbake/lib/toaster/toastergui/tests.py
+++ b/bitbake/lib/toaster/toastergui/tests.py
@@ -148,3 +148,35 @@ class ViewTests(TestCase):
             # After "typeing" the alpabet we should have result true
             # from each of the urls
             self.assertTrue(results)
+
+class XHRImportLayerTestCase(ViewTests):
+    """ Tests to verify xhr_importlayer API"""
+    def setUp(self):
+        super(XHRImportLayerTestCase, self).setUp()
+
+    def test_import(self):
+        """Tests to verify import layer already exist, if the imported layer is ok, response
+        for empty data, response for html tag in data"""
+        #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



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-08-11  7:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-06 15:41 [review-request][PATCH][v2] toastergui: Add tests for xhr_importlayer Sujith H
2015-08-06 15:43 ` sujith h
2015-08-08 17:46 ` Ed Bartosh
  -- strict thread matches above, loose matches on Subject: below --
2015-08-10  9:03 Sujith H
2015-08-10  9:06 ` sujith h
2015-08-10 16:26 ` Ed Bartosh
2015-08-11  7:26   ` sujith h

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.