convert availability zone tests to requests-mock
Blueprint: http-mock-testing Change-Id: Ib02db9b9e24808d2f5eac42cf6f5b3c5ca123e9b
This commit is contained in:
parent
8f23885ca3
commit
49c2c64304
cinderclient/tests
80
cinderclient/tests/fixture_data/availability_zones.py
Normal file
80
cinderclient/tests/fixture_data/availability_zones.py
Normal file
@ -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)
|
@ -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(zone.zoneName, name)
|
||||
self.assertEqual(zone.zoneState, status)
|
||||
|
||||
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,
|
||||
|
@ -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(zone.zoneName, name)
|
||||
self.assertEqual(zone.zoneState, status)
|
||||
|
||||
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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user