ZhiQiang Fan | 39f9722 | 2013-09-20 04:49:44 +0800 | [diff] [blame] | 1 | # Copyright 2012 OpenStack Foundation |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 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 Dague | 1937d09 | 2013-05-17 16:36:38 -0400 | [diff] [blame] | 16 | from tempest.api.compute import base |
Hoisaleshwara Madan V S | f2203df | 2013-12-26 10:15:33 +0530 | [diff] [blame] | 17 | from tempest import test |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 18 | |
| 19 | |
ivan-zhu | f2b0050 | 2013-10-18 10:06:52 +0800 | [diff] [blame] | 20 | class AbsoluteLimitsTestJSON(base.BaseV2ComputeTest): |
Attila Fazekas | 19044d5 | 2013-02-16 07:35:06 +0100 | [diff] [blame] | 21 | _interface = 'json' |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 22 | |
Attila Fazekas | 19044d5 | 2013-02-16 07:35:06 +0100 | [diff] [blame] | 23 | @classmethod |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 24 | def setUpClass(cls): |
Attila Fazekas | 19044d5 | 2013-02-16 07:35:06 +0100 | [diff] [blame] | 25 | super(AbsoluteLimitsTestJSON, cls).setUpClass() |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 26 | cls.client = cls.limits_client |
| 27 | |
Hoisaleshwara Madan V S | f2203df | 2013-12-26 10:15:33 +0530 | [diff] [blame] | 28 | @test.attr(type='gate') |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 29 | def test_absLimits_get(self): |
Sean Dague | 4dd2c0b | 2013-01-03 17:50:28 -0500 | [diff] [blame] | 30 | # To check if all limits are present in the response |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 31 | resp, absolute_limits = self.client.get_absolute_limits() |
| 32 | expected_elements = ['maxImageMeta', 'maxPersonality', |
| 33 | 'maxPersonalitySize', |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 34 | 'maxServerMeta', 'maxTotalCores', |
| 35 | 'maxTotalFloatingIps', 'maxSecurityGroups', |
| 36 | 'maxSecurityGroupRules', 'maxTotalInstances', |
| 37 | 'maxTotalKeypairs', 'maxTotalRAMSize', |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 38 | 'totalCoresUsed', 'totalFloatingIpsUsed', |
| 39 | 'totalSecurityGroupsUsed', 'totalInstancesUsed', |
Leo Toyoda | 0f0c14d | 2013-02-08 16:22:26 +0900 | [diff] [blame] | 40 | 'totalRAMUsed'] |
rajalakshmi-ganesan | a4ab007 | 2012-08-07 19:48:56 +0530 | [diff] [blame] | 41 | # check whether all expected elements exist |
| 42 | missing_elements =\ |
| 43 | [ele for ele in expected_elements if ele not in absolute_limits] |
| 44 | self.assertEqual(0, len(missing_elements), |
| 45 | "Failed to find element %s in absolute limits list" |
| 46 | % ', '.join(ele for ele in missing_elements)) |
| 47 | |
| 48 | |
Attila Fazekas | 19044d5 | 2013-02-16 07:35:06 +0100 | [diff] [blame] | 49 | class AbsoluteLimitsTestXML(AbsoluteLimitsTestJSON): |
| 50 | _interface = 'xml' |