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.