summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-08-28 20:00:45 +0000
committerGerrit Code Review <review@openstack.org>2014-08-28 20:00:46 +0000
commit7bd8eb2aacae499a957c54bb953bad3c722b0c7d (patch)
treef8c098cb41156ea870c138553b2464301d857ff1
parent3113ce8d23fb2cded5adadb8a311eef6296f5403 (diff)
parent49c2c64304b5a79c3658c1b57f665fd8e2fe2419 (diff)
downloadpython-cinderclient-7bd8eb2aacae499a957c54bb953bad3c722b0c7d.tar.gz
Merge "convert availability zone tests to requests-mock"
-rw-r--r--cinderclient/tests/fixture_data/availability_zones.py80
-rw-r--r--cinderclient/tests/v1/test_availability_zone.py17
-rw-r--r--cinderclient/tests/v2/test_availability_zone.py17
3 files changed, 98 insertions, 16 deletions
diff --git a/cinderclient/tests/fixture_data/availability_zones.py b/cinderclient/tests/fixture_data/availability_zones.py
new file mode 100644
index 0000000..bb1bc68
--- /dev/null
+++ b/cinderclient/tests/fixture_data/availability_zones.py
@@ -0,0 +1,80 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from datetime import datetime
+from cinderclient.tests.fixture_data import base
+
+# FIXME(jamielennox): use timeutils from oslo
+FORMAT = '%Y-%m-%d %H:%M:%S'
+
+
+class Fixture(base.Fixture):
+
+ base_url = 'os-availability-zone'
+
+ def setUp(self):
+ super(Fixture, self).setUp()
+
+ get_availability = {
+ "availabilityZoneInfo": [
+ {
+ "zoneName": "zone-1",
+ "zoneState": {"available": True},
+ "hosts": None,
+ },
+ {
+ "zoneName": "zone-2",
+ "zoneState": {"available": False},
+ "hosts": None,
+ },
+ ]
+ }
+ self.requests.register_uri('GET', self.url(), json=get_availability)
+
+ updated_1 = datetime(2012, 12, 26, 14, 45, 25, 0).strftime(FORMAT)
+ updated_2 = datetime(2012, 12, 26, 14, 45, 24, 0).strftime(FORMAT)
+ get_detail = {
+ "availabilityZoneInfo": [
+ {
+ "zoneName": "zone-1",
+ "zoneState": {"available": True},
+ "hosts": {
+ "fake_host-1": {
+ "cinder-volume": {
+ "active": True,
+ "available": True,
+ "updated_at": updated_1,
+ }
+ }
+ }
+ },
+ {
+ "zoneName": "internal",
+ "zoneState": {"available": True},
+ "hosts": {
+ "fake_host-1": {
+ "cinder-sched": {
+ "active": True,
+ "available": True,
+ "updated_at": updated_2,
+ }
+ }
+ }
+ },
+ {
+ "zoneName": "zone-2",
+ "zoneState": {"available": False},
+ "hosts": None,
+ },
+ ]
+ }
+ self.requests.register_uri('GET', self.url('detail'), json=get_detail)
diff --git a/cinderclient/tests/v1/test_availability_zone.py b/cinderclient/tests/v1/test_availability_zone.py
index 26cb124..e3e7d1f 100644
--- a/cinderclient/tests/v1/test_availability_zone.py
+++ b/cinderclient/tests/v1/test_availability_zone.py
@@ -18,22 +18,23 @@ import six
from cinderclient.v1 import availability_zones
from cinderclient.v1 import shell
+from cinderclient.tests.fixture_data import client
+from cinderclient.tests.fixture_data import availability_zones as azfixture
from cinderclient.tests import utils
-from cinderclient.tests.v1 import fakes
-cs = fakes.FakeClient()
+class AvailabilityZoneTest(utils.FixturedTestCase):
-
-class AvailabilityZoneTest(utils.TestCase):
+ client_fixture_class = client.V1
+ data_fixture_class = azfixture.Fixture
def _assertZone(self, zone, name, status):
self.assertEqual(name, zone.zoneName)
self.assertEqual(status, zone.zoneState)
def test_list_availability_zone(self):
- zones = cs.availability_zones.list(detailed=False)
- cs.assert_called('GET', '/os-availability-zone')
+ zones = self.cs.availability_zones.list(detailed=False)
+ self.assert_called('GET', '/os-availability-zone')
for zone in zones:
self.assertIsInstance(zone,
@@ -53,8 +54,8 @@ class AvailabilityZoneTest(utils.TestCase):
self._assertZone(z1[0], l1[0], l1[1])
def test_detail_availability_zone(self):
- zones = cs.availability_zones.list(detailed=True)
- cs.assert_called('GET', '/os-availability-zone/detail')
+ zones = self.cs.availability_zones.list(detailed=True)
+ self.assert_called('GET', '/os-availability-zone/detail')
for zone in zones:
self.assertIsInstance(zone,
diff --git a/cinderclient/tests/v2/test_availability_zone.py b/cinderclient/tests/v2/test_availability_zone.py
index b956074..599e884 100644
--- a/cinderclient/tests/v2/test_availability_zone.py
+++ b/cinderclient/tests/v2/test_availability_zone.py
@@ -18,22 +18,23 @@ import six
from cinderclient.v2 import availability_zones
from cinderclient.v2 import shell
+from cinderclient.tests.fixture_data import client
+from cinderclient.tests.fixture_data import availability_zones as azfixture
from cinderclient.tests import utils
-from cinderclient.tests.v2 import fakes
-cs = fakes.FakeClient()
+class AvailabilityZoneTest(utils.FixturedTestCase):
-
-class AvailabilityZoneTest(utils.TestCase):
+ client_fixture_class = client.V2
+ data_fixture_class = azfixture.Fixture
def _assertZone(self, zone, name, status):
self.assertEqual(name, zone.zoneName)
self.assertEqual(status, zone.zoneState)
def test_list_availability_zone(self):
- zones = cs.availability_zones.list(detailed=False)
- cs.assert_called('GET', '/os-availability-zone')
+ zones = self.cs.availability_zones.list(detailed=False)
+ self.assert_called('GET', '/os-availability-zone')
for zone in zones:
self.assertIsInstance(zone,
@@ -53,8 +54,8 @@ class AvailabilityZoneTest(utils.TestCase):
self._assertZone(z1[0], l1[0], l1[1])
def test_detail_availability_zone(self):
- zones = cs.availability_zones.list(detailed=True)
- cs.assert_called('GET', '/os-availability-zone/detail')
+ zones = self.cs.availability_zones.list(detailed=True)
+ self.assert_called('GET', '/os-availability-zone/detail')
for zone in zones:
self.assertIsInstance(zone,