blob: 18e44525d3711e7e8d3eec609d59a16ead65f10d [file] [log] [blame]
Leo Toyodaa5278912013-04-16 15:40:12 +09001# Copyright 2013 NEC Corporation
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
15
Sean Dague1937d092013-05-17 16:36:38 -040016from tempest.api.compute import base
Leo Toyodaa5278912013-04-16 15:40:12 +090017from tempest.test import attr
Leo Toyodaa5278912013-04-16 15:40:12 +090018
19
Haiwei Xu7329a882013-12-09 13:26:55 +090020class AZAdminTestJSON(base.BaseV2ComputeAdminTest):
Leo Toyodaa5278912013-04-16 15:40:12 +090021
22 """
Haiwei Xu7329a882013-12-09 13:26:55 +090023 Tests Availability Zone API List
Leo Toyodaa5278912013-04-16 15:40:12 +090024 """
25
26 _interface = 'json'
27
28 @classmethod
29 def setUpClass(cls):
Haiwei Xu7329a882013-12-09 13:26:55 +090030 super(AZAdminTestJSON, cls).setUpClass()
Leo Toyodaa5278912013-04-16 15:40:12 +090031 cls.client = cls.os_adm.availability_zone_client
32 cls.non_adm_client = cls.availability_zone_client
33
Giulio Fidenteba3985a2013-05-29 01:46:36 +020034 @attr(type='gate')
Leo Toyodaa5278912013-04-16 15:40:12 +090035 def test_get_availability_zone_list(self):
36 # List of availability zone
37 resp, availability_zone = self.client.get_availability_zone_list()
38 self.assertEqual(200, resp.status)
39 self.assertTrue(len(availability_zone) > 0)
40
Giulio Fidenteba3985a2013-05-29 01:46:36 +020041 @attr(type='gate')
Leo Toyodaa5278912013-04-16 15:40:12 +090042 def test_get_availability_zone_list_detail(self):
43 # List of availability zones and available services
44 resp, availability_zone = \
45 self.client.get_availability_zone_list_detail()
46 self.assertEqual(200, resp.status)
47 self.assertTrue(len(availability_zone) > 0)
48
Giulio Fidenteba3985a2013-05-29 01:46:36 +020049 @attr(type='gate')
Leo Toyodaa5278912013-04-16 15:40:12 +090050 def test_get_availability_zone_list_with_non_admin_user(self):
Chang Bo Guof099f802013-09-13 19:01:46 -070051 # List of availability zone with non-administrator user
Leo Toyodaa5278912013-04-16 15:40:12 +090052 resp, availability_zone = \
53 self.non_adm_client.get_availability_zone_list()
54 self.assertEqual(200, resp.status)
55 self.assertTrue(len(availability_zone) > 0)
56
Leo Toyodaa5278912013-04-16 15:40:12 +090057
Haiwei Xu7329a882013-12-09 13:26:55 +090058class AZAdminTestXML(AZAdminTestJSON):
Leo Toyodaa5278912013-04-16 15:40:12 +090059 _interface = 'xml'