From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
update test_model.py and test_rest.py
Signed-off-by: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
---
tests/test_model.py | 20 ++++++++++++++++++++
tests/test_rest.py | 8 ++++++++
2 files changed, 28 insertions(+)
diff --git a/tests/test_model.py b/tests/test_model.py
index 2fb4446..fac4008 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -147,6 +147,8 @@ class ModelTests(unittest.TestCase):
'subnet': '127.0.100.0/24'}
inst.networks_create(net_args)
rollback.prependDefer(inst.network_delete, net_name)
+ inst.network_activate(net_name)
+ rollback.prependDefer(inst.network_deactivate, net_name)
ifaces = inst.vmifaces_get_list('kimchi-ifaces')
self.assertEquals(1, len(ifaces))
@@ -170,6 +172,24 @@ class ModelTests(unittest.TestCase):
self.assertEquals("test-network", iface['network'])
self.assertEquals("virtio", iface["model"])
+ # update vm interface
+ iface_args = {"network": "default",
+ "model": "e1000"}
+ inst.vmiface_update('kimchi-ifaces', mac, iface_args)
+ iface = inst.vmiface_lookup('kimchi-ifaces', mac)
+ self.assertEquals("default", iface['network'])
+ self.assertEquals("e1000", iface["model"])
+
+ # update vm interface when vm is running
+ inst.vm_start("kimchi-ifaces")
+ rollback.prependDefer(inst.vm_poweroff, 'kimchi-ifaces')
+ iface_args = {"network": "test-network",
+ "model": "virtio"}
+ inst.vmiface_update('kimchi-ifaces', mac, iface_args)
+ iface = inst.vmiface_lookup('kimchi-ifaces', mac)
+ self.assertEquals("e1000", iface["model"])
+ self.assertEquals("test-network", iface['network'])
+
@unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
def test_vm_cdrom(self):
inst = model.Model(objstore_loc=self.tmp_store)
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 06396db..0d19841 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -516,6 +516,14 @@ class RestTests(unittest.TestCase):
self.assertEquals('virtio', iface['model'])
self.assertEquals('network', iface['type'])
+ # update vm interface
+ req = json.dumps({"network": "default",
"model": "e1000"})
+ resp = self.request('/vms/test-vm/ifaces/%s' % iface['mac'],
req, 'PUT')
+ self.assertEquals(200, resp.status)
+ update_iface = json.loads(resp.read())
+ self.assertEquals('e1000', update_iface['model'])
+ self.assertEquals('default', update_iface['network'])
+
# detach network interface from vm
resp = self.request('/vms/test-vm/ifaces/%s' % iface['mac'],
'{}', 'DELETE')
--
1.9.0