Modifed OpenNebula compute fixtures for additional test coverage.
git-svn-id: https://svn.apache.org/repos/asf/libcloud/trunk@1240458 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/test/compute/fixtures/opennebula_1_4/compute_25.xml b/test/compute/fixtures/opennebula_1_4/compute_25.xml
new file mode 100644
index 0000000..abc8b49
--- /dev/null
+++ b/test/compute/fixtures/opennebula_1_4/compute_25.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<COMPUTE>
+ <ID>25</ID>
+ <NAME>Compute 25</NAME>
+ <STATE>none</STATE>
+ <NETWORK>
+ <NIC network="5" ip="192.168.0.3"/>
+ <NIC network="15" ip="192.168.1.3"/>
+ </NETWORK>
+</COMPUTE>
diff --git a/test/compute/fixtures/opennebula_1_4/computes.xml b/test/compute/fixtures/opennebula_1_4/computes.xml
index 2aeb01e..2f6a082 100644
--- a/test/compute/fixtures/opennebula_1_4/computes.xml
+++ b/test/compute/fixtures/opennebula_1_4/computes.xml
@@ -2,4 +2,5 @@
<COMPUTES>
<COMPUTE href="http://www.opennebula.org/compute/5"/>
<COMPUTE href="http://www.opennebula.org/compute/15"/>
+ <COMPUTE href="http://www.opennebula.org/compute/25"/>
</COMPUTES>
diff --git a/test/compute/fixtures/opennebula_2_0/compute_25.xml b/test/compute/fixtures/opennebula_2_0/compute_25.xml
index 51796db..94daadb 100644
--- a/test/compute/fixtures/opennebula_2_0/compute_25.xml
+++ b/test/compute/fixtures/opennebula_2_0/compute_25.xml
@@ -14,7 +14,4 @@
<IP>192.168.1.3</IP>
<MAC>02:00:c0:a8:01:03</MAC>
</NIC>
- <CONTEXT>
- <HOSTNAME>compute-25</HOSTNAME>
- </CONTEXT>
</COMPUTE>
diff --git a/test/compute/test_opennebula.py b/test/compute/test_opennebula.py
index 96a5950..c24a6f8 100644
--- a/test/compute/test_opennebula.py
+++ b/test/compute/test_opennebula.py
@@ -117,7 +117,7 @@
"""
nodes = self.driver.list_nodes()
- self.assertEqual(len(nodes), 2)
+ self.assertEqual(len(nodes), 3)
node = nodes[0]
self.assertEqual(node.id, '5')
self.assertEqual(node.name, 'Compute 5')
@@ -150,6 +150,21 @@
self.assertEqual(node.private_ips, [])
self.assertEqual(node.image.id, '15')
self.assertEqual(node.image.extra['dev'], 'sda1')
+ node = nodes[2]
+ self.assertEqual(node.id, '25')
+ self.assertEqual(node.name, 'Compute 25')
+ self.assertEqual(node.state,
+ NodeState.UNKNOWN)
+ self.assertEqual(node.public_ips[0].id, '5')
+ self.assertEqual(node.public_ips[0].name, None)
+ self.assertEqual(node.public_ips[0].address, '192.168.0.3')
+ self.assertEqual(node.public_ips[0].size, 1)
+ self.assertEqual(node.public_ips[1].id, '15')
+ self.assertEqual(node.public_ips[1].name, None)
+ self.assertEqual(node.public_ips[1].address, '192.168.1.3')
+ self.assertEqual(node.public_ips[1].size, 1)
+ self.assertEqual(node.private_ips, [])
+ self.assertEqual(node.image, None)
def test_list_images(self):
"""
@@ -405,7 +420,7 @@
self.assertEqual(node.size, None)
self.assertEqual(node.image, None)
context = node.extra['context']
- self.assertEqual(context['hostname'], 'compute-25')
+ self.assertEqual(context, {})
def test_list_images(self):
"""
@@ -699,6 +714,24 @@
return (httplib.OK, body, {},
httplib.responses[httplib.OK])
+ def _compute_25(self, method, url, body, headers):
+ """
+ Compute entry resource.
+ """
+ if method == 'GET':
+ body = self.fixtures.load('compute_25.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ if method == 'PUT':
+ body = ""
+ return (httplib.ACCEPTED, body, {},
+ httplib.responses[httplib.ACCEPTED])
+
+ if method == 'DELETE':
+ body = ""
+ return (httplib.OK, body, {},
+ httplib.responses[httplib.OK])
+
def _storage_5(self, method, url, body, headers):
"""
Storage entry resource.