Tests run both on update and template creation
Signed-off-by: Ramon Medeiros <ramonn(a)linux.vnet.ibm.com>
---
tests/test_rest.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 55 insertions(+), 1 deletion(-)
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 852e4bd..a704283 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -151,8 +151,17 @@ class RestTests(unittest.TestCase):
self.assertEquals(200, resp.status)
def test_edit_vm(self):
+ disks = [
+ {'index': 0, 'size': 10, 'format': 'qcow2',
+ 'pool': {"name":
"/plugins/kimchi/storagepools/default-pool"}},
+ {'index': 1, 'size': 10, 'format': 'qcow2',
'io': 'threads',
+ 'cache': 'unsafe', 'bus': 'scsi',
+ 'pool': {"name":
"/plugins/kimchi/storagepools/default-pool"}}]
+
req = json.dumps({'name': 'test',
- 'source_media': {'type': 'disk',
'path': fake_iso}})
+ 'source_media': {'type': 'disk',
'path': fake_iso},
+ 'disks': disks})
+
resp = self.request('/plugins/kimchi/templates', req, 'POST')
self.assertEquals(201, resp.status)
@@ -166,6 +175,23 @@ class RestTests(unittest.TestCase):
vm = json.loads(self.request('/plugins/kimchi/vms/vm-1').read())
self.assertEquals('vm-1', vm['name'])
+ # test vm storage
+ storages = json.loads(
+ self.request('/plugins/kimchi/vms/vm-1/storages').read())
+ self.assertEquals(len(storages), 3)
+
+ # test sdb disk
+ resp = self.request('/plugins/kimchi/vms/vm-1/storages/sdb',
'GET')
+ self.assertEquals(resp.status, 200)
+ scsi_disk = json.loads(resp.read())
+ self.assertEquals(scsi_disk['cache'], 'unsafe')
+ self.assertEquals(scsi_disk['io'], 'threads')
+
+ # remove sdb disk
+ resp = self.request('/plugins/kimchi/vms/vm-1/storages/sdb',
+ '', 'DELETE')
+ self.assertEquals(resp.status, 204)
+
req = json.dumps({'cpu_info': {'maxvcpus': 5, 'vcpus':
3}})
resp = self.request('/plugins/kimchi/vms/vm-1', req, 'PUT')
self.assertEquals(200, resp.status)
@@ -330,6 +356,34 @@ class RestTests(unittest.TestCase):
resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd', req,
'PUT')
self.assertEquals(400, resp.status)
+ # add volume as scsi
+ mock_base = '/tmp/mock.img'
+ os.system("qemu-img create -f qcow2 %s 100M" % mock_base)
+ req = json.dumps({'type': 'disk',
+ 'path': mock_base,
+ 'bus': 'scsi'})
+ resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages',
+ req, 'POST')
+ self.assertEquals(201, resp.status)
+ resp = json.loads(resp.read())
+ self.assertEquals("scsi", resp["bus"])
+ dev = resp["dev"]
+
+ # change io/cache
+ req = json.dumps({"io": "threads", "cache":
"unsafe"})
+ resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages/' +
+ str(dev), req, 'PUT')
+ self.assertEquals(200, resp.status)
+ resp = json.loads(resp.read())
+ self.assertEquals('threads', resp['io'])
+ self.assertEquals('unsafe', resp['cache'])
+
+ # remove disk
+ resp = self.request('/plugins/kimchi/vms/∨м-црdαtеd/storages/' +
+ str(dev), req, 'DELETE')
+ os.system("rm -rf " + mock_base)
+ self.assertEquals(204, resp.status)
+
def test_vm_lifecycle(self):
# Create a Template
req = json.dumps({'name': 'test',
--
2.9.3