python-zunclient/zunclient/tests/unit/v1/test_availability_zones.py
Hongbin Lu fc98313850 Support listing availability zones
Zun has introduced an API endpoint for listing availability zones
(https://review.openstack.org/#/c/564670/). This patch is the client
side implementation. In particular, this patch does the following:
* Python API for listing availability zones
* A CLI command for listing availability zones
  (i.e. zun availability-zone-list)
* An OSC command for doing the same
  (i.e. openstack appcontainer availability zone list)

Related-Bug: #1766395
Change-Id: I6c0512816277a63bbf444d0775121bb5d964a36a
2018-06-05 01:15:25 +00:00

47 lines
1.4 KiB
Python

# 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.
import testtools
from testtools import matchers
from zunclient.tests.unit import utils
from zunclient.v1 import availability_zones as az
AZ1 = {'availability_zone': 'fake-az-1'}
AZ2 = {'availability_zone': 'fake-az-2'}
fake_responses = {
'/v1/availability_zones':
{
'GET': (
{},
{'availability_zones': [AZ1, AZ2]},
),
},
}
class AZManagerTest(testtools.TestCase):
def setUp(self):
super(AZManagerTest, self).setUp()
self.api = utils.FakeAPI(fake_responses)
self.mgr = az.AvailabilityZoneManager(self.api)
def test_availability_zones_list(self):
zones = self.mgr.list()
expect = [
('GET', '/v1/availability_zones', {}, None),
]
self.assertEqual(expect, self.api.calls)
self.assertThat(zones, matchers.HasLength(2))