Files
python-novaclient/novaclient/tests/functional/v2/test_flavor.py
Ghanshyam Mann 0e873a2d5a Microversion 2.75 - Multiple API cleanup changes
Add support microversion 2.75 which implement
multiple API cleanup changes.

1. Making server representation always consistent among all APIs
   returning the complete server representation.
 - Test cases added.

2. Change the default return value of ``swap`` field from the empty string
   to 0 (integer) in flavor APIs.
 - Test cases added.

Nova side path: https://review.opendev.org/#/c/666889/

Change-Id: Iec2cfc629dffd53178ef88a31fcd16a3f32e2e27
Partial-Implements: blueprint api-consistency-cleanup
2019-08-20 13:08:16 +00:00

73 lines
2.6 KiB
Python

# 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 novaclient.tests.functional import base
class TestFlavorNovaClientV274(base.TenantTestBase):
"""Functional tests for flavors"""
COMPUTE_API_VERSION = "2.74"
# NOTE(gmann): Before microversion 2.75, default value of 'swap' field is
# returned as empty string.
SWAP_DEFAULT = ""
def _create_flavor(self, swap=None):
flv_name = self.name_generate()
cmd = 'flavor-create %s auto 512 1 1'
if swap:
cmd = cmd + (' --swap %s' % swap)
out = self.nova(cmd % flv_name)
self.addCleanup(self.nova, 'flavor-delete %s' % flv_name)
return out, flv_name
def test_create_flavor_with_no_swap(self):
out, _ = self._create_flavor()
self.assertEqual(
self.SWAP_DEFAULT,
self._get_column_value_from_single_row_table(out, "Swap"))
def test_update_flavor_with_no_swap(self):
_, flv_name = self._create_flavor()
out = self.nova('flavor-update %s new-description' % flv_name)
self.assertEqual(
self.SWAP_DEFAULT,
self._get_column_value_from_single_row_table(out, "Swap"))
def test_show_flavor_with_no_swap(self):
_, flv_name = self._create_flavor()
out = self.nova('flavor-show %s' % flv_name)
self.assertEqual(self.SWAP_DEFAULT,
self._get_value_from_the_table(out, "swap"))
def test_list_flavor_with_no_swap(self):
self._create_flavor()
out = self.nova('flavor-list')
self.assertEqual(
self.SWAP_DEFAULT,
self._get_column_value_from_single_row_table(out, "Swap"))
def test_create_flavor_with_swap(self):
out, _ = self._create_flavor(swap=10)
self.assertEqual(
'10',
self._get_column_value_from_single_row_table(out, "Swap"))
class TestFlavorNovaClientV275(TestFlavorNovaClientV274):
"""Functional tests for flavors"""
COMPUTE_API_VERSION = "2.75"
# NOTE(gmann): Since microversion 2.75, default value of 'swap' field is
# returned as 0.
SWAP_DEFAULT = '0'