From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Add mockmodel test and model test to validate:
1. ref_cnt of storage volume forked internal vm creation is 1.
2. ref_cnt of storage volume created from REST API is 0.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
tests/test_model.py | 4 ++++
tests/test_rest.py | 2 ++
2 files changed, 6 insertions(+)
diff --git a/tests/test_model.py b/tests/test_model.py
index 2b34619..0115cdd 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -353,6 +353,7 @@ class ModelTests(unittest.TestCase):
inst.storagevolume_wipe(pool, vol)
volinfo = inst.storagevolume_lookup(pool, vol)
self.assertEquals(0, volinfo['allocation'])
+ self.assertEquals(0, volinfo['ref_cnt'])
volinfo = inst.storagevolume_lookup(pool, vol)
# Define the size = capacity + 16M
@@ -402,6 +403,9 @@ class ModelTests(unittest.TestCase):
vm_info = inst.vm_lookup(params['name'])
disk_path = '/tmp/kimchi-images/%s-0.img' % vm_info['uuid']
self.assertTrue(os.access(disk_path, os.F_OK))
+ vol = '%s-0.img' % vm_info['uuid']
+ volinfo = inst.storagevolume_lookup(pool, vol)
+ self.assertEquals(1, volinfo['ref_cnt'])
# reset template to default storage pool
# so we can remove the storage pool created 'test-pool'
diff --git a/tests/test_rest.py b/tests/test_rest.py
index ced9a33..a605e08 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -243,6 +243,7 @@ class RestTests(unittest.TestCase):
resp = self.request(vol_uri)
vol = json.loads(resp.read())
self.assertEquals(1 << 30, vol['capacity'])
+ self.assertEquals(1, vol['ref_cnt'])
# Start the VM
resp = self.request('/vms/test-vm/start', '{}', 'POST')
@@ -843,6 +844,7 @@ class RestTests(unittest.TestCase):
storagevolume = json.loads(resp.read())
self.assertEquals('volume-1', storagevolume['name'])
self.assertEquals('raw', storagevolume['format'])
+ self.assertEquals(0, storagevolume['ref_cnt'])
self.assertEquals('/var/lib/libvirt/images/volume-1',
storagevolume['path'])
--
1.8.1.2