[Kimchi-devel] [PATCH V2 4/4] clone template: update test case

shaohef at linux.vnet.ibm.com shaohef at linux.vnet.ibm.com
Thu Feb 13 09:35:54 UTC 2014


From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>

update test_rest.py and test_model.py

Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
---
 tests/test_model.py | 18 ++++++++++++++++++
 tests/test_rest.py  | 15 +++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/tests/test_model.py b/tests/test_model.py
index b374d2d..74cff87 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -21,6 +21,7 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
 
+import cherrypy
 import os
 import platform
 import psutil
@@ -380,6 +381,23 @@ class ModelTests(unittest.TestCase):
                 self.assertEquals(params[key], info[key])
 
     @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
+    def test_template_clone(self):
+        inst = model.Model('qemu:///system',
+                           objstore_loc=self.tmp_store)
+        with RollbackContext() as rollback:
+            orig_params = {'name': 'test-template', 'memory': 1024, 'cpus': 1}
+            inst.templates_create(orig_params)
+            orig_temp = inst.template_lookup(orig_params['name'])
+
+            self.assertRaises(cherrypy.HTTPRedirect,
+                              inst.template_clone, 'test-template')
+            clone_temp = inst.template_lookup('test-template%s' % "-clone1")
+
+            clone_temp['name'] = orig_temp['name']
+            for key in clone_temp.keys():
+                self.assertEquals(clone_temp[key], orig_temp[key])
+
+    @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
     def test_template_update(self):
         inst = model.Model('qemu:///system',
                            objstore_loc=self.tmp_store)
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 69b8316..6401d95 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -811,6 +811,21 @@ class RestTests(unittest.TestCase):
         res = json.loads(self.request('/templates/test').read())
         verify_template(t, res)
 
+        # clone a template
+        resp = self.request('/templates/%s/clone' % t['name'], '{}', 'POST')
+        self.assertEquals(303, resp.status)
+
+        # Verify the clone template
+        res = json.loads(self.request('/templates/%s-clone1' %
+                                      t['name']).read())
+        old_temp = t['name']
+        t['name'] = res['name']
+        verify_template(t, res)
+        # Delete the clone template
+        resp = self.request('/templates/%s' % t['name'], '{}', 'DELETE')
+        self.assertEquals(204, resp.status)
+        t['name'] = old_temp
+
         # Create a template with same name fails with 400
         t = {'name': 'test', 'os_distro': 'ImagineOS',
              'os_version': '1.0', 'memory': 1024, 'cpus': 1,
-- 
1.8.4.2




More information about the Kimchi-devel mailing list