blob: e065bdfe67b0d7a0cfbfefd87af1d3ab69dd44d3 [file] [log] [blame]
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -07001# Copyright 2017 NEC Corporation. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
Ken'ichi Ohmichi8c189082017-04-03 13:47:54 -070015from tempest.api.volume import base
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -070016from tempest.lib import decorators
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -070017
18
Ken'ichi Ohmichi8c189082017-04-03 13:47:54 -070019class VersionsTest(base.BaseVolumeTest):
zhufl067bcd02020-08-14 16:56:34 +080020 """Test volume versions"""
Ken'ichi Ohmichi8c189082017-04-03 13:47:54 -070021
22 _api_version = 3
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -070023
24 @decorators.idempotent_id('77838fc4-b49b-4c64-9533-166762517369')
Jordan Pittier3b46d272017-04-12 16:17:28 +020025 @decorators.attr(type='smoke')
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -070026 def test_list_versions(self):
zhufl067bcd02020-08-14 16:56:34 +080027 """Test listing volume versions"""
Ken'ichi Ohmichi4adae2f2017-03-15 15:47:44 -070028 # NOTE: The version data is checked on service client side
29 # with JSON-Schema validation. It is enough to just call
30 # the API here.
zhufl138d2792017-08-21 14:49:44 +080031 self.versions_client.list_versions()
Doug Schveninger152f1052019-09-06 19:53:02 -050032
33 @decorators.idempotent_id('7f755ae2-caa9-4049-988c-331d8f7a579f')
34 def test_show_version(self):
zhufl067bcd02020-08-14 16:56:34 +080035 """Test getting volume version details"""
Doug Schveninger152f1052019-09-06 19:53:02 -050036 # NOTE: The version data is checked on service client side
37 # with JSON-Schema validation. So we will loop through each
38 # version and call show version.
39 versions = self.versions_client.list_versions()['versions']
40 for version_dict in versions:
41 version = version_dict['id']
42 major_version = version.split('.')[0]
43 response = self.versions_client.show_version(major_version)
44 self.assertEqual(version, response['versions'][0]['id'])