Fix microversion comparison approach in functional tests
Manila microversions have following template: x.y where 'x' and 'y' both digits. And now manilaclient functional tests transform string 'x.y' to float, but it is incorrect thing to do because float assumes that each left value is bigger than right one. And it is not suitable for microversion comparisons. Examples: Microversions true conditions: 2.9 < 2.10 2.9 < 2.81 Float true conditions: 2.9 > 2.10 2.9 > 2.81 Change-Id: Ibb20e394cefdab82f7be946ce710a6681224051d Closes-bug: #1518996
This commit is contained in:
@@ -17,6 +17,7 @@ import six
|
||||
from tempest_lib.cli import output_parser
|
||||
import testtools
|
||||
|
||||
from manilaclient import api_versions
|
||||
from manilaclient import config
|
||||
|
||||
CONF = config.CONF
|
||||
@@ -93,10 +94,11 @@ def listing(output_lines):
|
||||
|
||||
|
||||
def is_microversion_supported(microversion):
|
||||
if (float(microversion) > float(CONF.max_api_microversion) or
|
||||
float(microversion) < float(CONF.min_api_microversion)):
|
||||
return False
|
||||
return True
|
||||
return (
|
||||
api_versions.APIVersion(CONF.min_api_microversion) <=
|
||||
api_versions.APIVersion(microversion) <=
|
||||
api_versions.APIVersion(CONF.max_api_microversion)
|
||||
)
|
||||
|
||||
|
||||
def skip_if_microversion_not_supported(microversion):
|
||||
|
@@ -30,7 +30,8 @@ class QuotaClassSetsTest(utils.TestCase):
|
||||
return quota_classes.QuotaClassSetManager(api=mock_microversion)
|
||||
|
||||
def _get_resource_path(self, microversion):
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
return quota_classes.RESOURCE_PATH
|
||||
return quota_classes.RESOURCE_PATH_LEGACY
|
||||
|
||||
|
@@ -30,7 +30,8 @@ class QuotaSetsTest(utils.TestCase):
|
||||
return quotas.QuotaSetManager(api=mock_microversion)
|
||||
|
||||
def _get_resource_path(self, microversion):
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
return quotas.RESOURCE_PATH
|
||||
return quotas.RESOURCE_PATH_LEGACY
|
||||
|
||||
|
@@ -30,7 +30,8 @@ class ServicesTest(utils.TestCase):
|
||||
return services.ServiceManager(api=mock_microversion)
|
||||
|
||||
def _get_resource_path(self, microversion):
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
return services.RESOURCE_PATH
|
||||
return services.RESOURCE_PATH_LEGACY
|
||||
|
||||
|
@@ -58,7 +58,8 @@ class ShareInstancesTest(utils.TestCase):
|
||||
def test_reset_instance_state(self, microversion, instance):
|
||||
manager = self._get_manager(microversion)
|
||||
state = 'available'
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
action_name = "reset_status"
|
||||
else:
|
||||
action_name = "os-reset_status"
|
||||
@@ -78,7 +79,8 @@ class ShareInstancesTest(utils.TestCase):
|
||||
@ddt.unpack
|
||||
def test_force_delete_share_snapshot(self, microversion, instance):
|
||||
manager = self._get_manager(microversion)
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
action_name = "force_delete"
|
||||
else:
|
||||
action_name = "os-force_delete"
|
||||
|
@@ -72,7 +72,8 @@ class ShareSnapshotsTest(utils.TestCase):
|
||||
def test_reset_snapshot_state(self, microversion, snapshot):
|
||||
manager = self._get_manager(microversion)
|
||||
state = 'available'
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
action_name = "reset_status"
|
||||
else:
|
||||
action_name = "os-reset_status"
|
||||
@@ -97,7 +98,8 @@ class ShareSnapshotsTest(utils.TestCase):
|
||||
@ddt.unpack
|
||||
def test_force_delete_share_snapshot(self, microversion, snapshot):
|
||||
manager = self._get_manager(microversion)
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
action_name = "force_delete"
|
||||
else:
|
||||
action_name = "os-force_delete"
|
||||
|
@@ -103,7 +103,8 @@ class TypesTest(utils.TestCase):
|
||||
@ddt.unpack
|
||||
def test_create_with_default_values(self, microversion, dhss):
|
||||
manager = self._get_share_types_manager(microversion)
|
||||
if float(microversion) > 2.6:
|
||||
if (api_versions.APIVersion(microversion) >
|
||||
api_versions.APIVersion("2.6")):
|
||||
is_public_keyname = "share_type_access:is_public"
|
||||
else:
|
||||
is_public_keyname = "os-share-type-access:is_public"
|
||||
|
Reference in New Issue
Block a user