diff --git a/manila/db/sqlalchemy/api.py b/manila/db/sqlalchemy/api.py index 12fd284aa7..f0922bf6c5 100644 --- a/manila/db/sqlalchemy/api.py +++ b/manila/db/sqlalchemy/api.py @@ -2978,7 +2978,7 @@ def availability_zone_get_all(context): models.Service.availability_zone_id, session=session, read_deleted="no" - ).filter_by(disabled=0).distinct() + ).filter_by(disabled=False).distinct() return model_query(context, models.AvailabilityZone, session=session, read_deleted="no").filter( diff --git a/manila_tempest_tests/services/share/json/shares_client.py b/manila_tempest_tests/services/share/json/shares_client.py index 660f16b7d7..3eeea5e83f 100644 --- a/manila_tempest_tests/services/share/json/shares_client.py +++ b/manila_tempest_tests/services/share/json/shares_client.py @@ -751,3 +751,12 @@ class SharesClient(rest_client.RestClient): resp, body = self.get(uri) self.expected_success(200, resp.status) return json.loads(body) + +############### + + def list_availability_zones(self): + """Get list of availability zones.""" + uri = 'os-availability-zone' + resp, body = self.get(uri) + self.expected_success(200, resp.status) + return self._parse_resp(body) diff --git a/manila_tempest_tests/tests/api/test_availability_zones.py b/manila_tempest_tests/tests/api/test_availability_zones.py new file mode 100644 index 0000000000..7330f41d94 --- /dev/null +++ b/manila_tempest_tests/tests/api/test_availability_zones.py @@ -0,0 +1,33 @@ +# Copyright 2015 mirantis Inc. +# All Rights Reserved. +# +# 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 tempest import test + +from manila_tempest_tests.tests.api import base + + +class AvailabilityZonesTest(base.BaseSharesTest): + + def _list_availability_zones_assertions(self, availability_zones): + self.assertTrue(len(availability_zones) > 0) + keys = ("created_at", "updated_at", "name", "id") + for az in availability_zones: + for key in keys: + self.assertIn(key, az) + + @test.attr(type=["smoke", "gate"]) + def test_list_availability_zones_extension(self): + azs = self.shares_client.list_availability_zones() + self._list_availability_zones_assertions(azs)