From 1a99fb695e0fcdad004b47fc30e10420deec622e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Toma=C5=BE=20Muraus?= <kami@k5-storitve.net>
Date: Wed, 29 Dec 2010 16:03:03 +0100
Subject: [PATCH 2/2] Update affected test and add a new test for ex_list_availability_zones.

---
 test/fixtures/ec2/describe_availability_zones.xml |   17 +++++++++++++++++
 test/test_ec2.py                                  |   17 +++++++++++++++++
 2 files changed, 34 insertions(+), 0 deletions(-)
 create mode 100644 test/fixtures/ec2/describe_availability_zones.xml

diff --git a/test/fixtures/ec2/describe_availability_zones.xml b/test/fixtures/ec2/describe_availability_zones.xml
new file mode 100644
index 0000000..dc77d15
--- /dev/null
+++ b/test/fixtures/ec2/describe_availability_zones.xml
@@ -0,0 +1,17 @@
+<DescribeAvailabilityZonesResponse xmlns="http://ec2.amazonaws.com/doc/2010-08-31/">
+    <requestId>cc0dfb29-efef-451c-974f-341b3edfb28f</requestId>
+    <availabilityZoneInfo>
+        <item>
+            <zoneName>eu-west-1a</zoneName>
+            <zoneState>available</zoneState>
+            <regionName>eu-west-1</regionName>
+            <messageSet/>
+        </item>
+        <item>
+            <zoneName>eu-west-1b</zoneName>
+            <zoneState>available</zoneState>
+            <regionName>eu-west-1</regionName>
+            <messageSet/>
+        </item>
+    </availabilityZoneInfo>
+</DescribeAvailabilityZonesResponse>
diff --git a/test/test_ec2.py b/test/test_ec2.py
index 0c094c1..32ae622 100644
--- a/test/test_ec2.py
+++ b/test/test_ec2.py
@@ -44,6 +44,11 @@ class EC2Tests(unittest.TestCase, TestCaseMixin):
         node = self.driver.list_nodes()[0]
         self.assertEqual(node.id, 'i-4382922a')
 
+    def test_list_location(self):
+        locations = self.driver.list_locations()
+        self.assertTrue(len(locations) > 0)
+        self.assertTrue(locations[0].availability_zone != None)
+
     def test_reboot_node(self):
         node = Node('i-4382922a', None, None, None, None, self.driver)
         ret = self.driver.reboot_node(node)
@@ -76,6 +81,14 @@ class EC2Tests(unittest.TestCase, TestCaseMixin):
         self.assertEqual(image.name, 'ec2-public-images/fedora-8-i386-base-v1.04.manifest.xml')
         self.assertEqual(image.id, 'ami-be3adfd7')
 
+    def test_ex_list_availability_zones(self):
+        availability_zones = self.driver.ex_list_availability_zones()
+        availability_zone = availability_zones[0]
+        self.assertTrue(len(availability_zones) > 0)
+        self.assertEqual(availability_zone.name, 'eu-west-1a')
+        self.assertEqual(availability_zone.zone_state, 'available')
+        self.assertEqual(availability_zone.region_name, 'eu-west-1')
+
 class EC2MockHttp(MockHttp):
 
     fixtures = FileFixtures('ec2')
@@ -84,6 +97,10 @@ class EC2MockHttp(MockHttp):
         body = self.fixtures.load('describe_instances.xml')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
+    def _DescribeAvailabilityZones(self, method, url, body, headers):
+        body = self.fixtures.load('describe_availability_zones.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
     def _RebootInstances(self, method, url, body, headers):
         body = self.fixtures.load('reboot_instances.xml')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-- 
1.7.3.4

