blob: 41388ad8eb4d2056b251782be7de5bb3dc4af6cd [file] [log] [blame]
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +03001# Licensed under the Apache License, Version 2.0 (the "License"); you may
2# not use this file except in compliance with the License. You may obtain
3# a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10# License for the specific language governing permissions and limitations
11# under the License.
12
Adam Gandelman2a86f1c2014-06-18 11:34:42 -070013from tempest.api.baremetal.admin import base
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030014from tempest import test
15
16
17class TestApiDiscovery(base.BaseBaremetalTest):
18 """Tests for API discovery features."""
19
Chris Hoge7579c1a2015-02-26 14:12:15 -080020 @test.idempotent_id('a3c27e94-f56c-42c4-8600-d6790650b9c5')
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030021 def test_api_versions(self):
Swapnil Kulkarniaa57d6e2014-08-19 10:40:35 +000022 _, descr = self.client.get_api_description()
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030023 expected_versions = ('v1',)
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030024 versions = [version['id'] for version in descr['versions']]
25
26 for v in expected_versions:
27 self.assertIn(v, versions)
28
Chris Hoge7579c1a2015-02-26 14:12:15 -080029 @test.idempotent_id('896283a6-488e-4f31-af78-6614286cbe0d')
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030030 def test_default_version(self):
Swapnil Kulkarniaa57d6e2014-08-19 10:40:35 +000031 _, descr = self.client.get_api_description()
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030032 default_version = descr['default_version']
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030033 self.assertEqual(default_version['id'], 'v1')
34
Chris Hoge7579c1a2015-02-26 14:12:15 -080035 @test.idempotent_id('abc0b34d-e684-4546-9728-ab7a9ad9f174')
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030036 def test_version_1_resources(self):
Swapnil Kulkarniaa57d6e2014-08-19 10:40:35 +000037 _, descr = self.client.get_version_description(version='v1')
Roman Prykhodchenko62b1ed12013-10-16 21:51:47 +030038 expected_resources = ('nodes', 'chassis',
39 'ports', 'links', 'media_types')
40
41 for res in expected_resources:
42 self.assertIn(res, descr)