tests: Migrate to 'set_xxx_api_version' helpers
Clean things up somewhat. Change-Id: I868f496fc8285a28e8fd551377f2ae6228051d19 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
parent
88fffeabd7
commit
402327f2e4
@ -4418,7 +4418,7 @@ class SetServer(command.Command):
|
||||
)
|
||||
|
||||
if parsed_args.description:
|
||||
if server.api_version < api_versions.APIVersion("2.19"):
|
||||
if compute_client.api_version < api_versions.APIVersion("2.19"):
|
||||
msg = _(
|
||||
'--os-compute-api-version 2.19 or greater is required to '
|
||||
'support the --description option'
|
||||
@ -4426,7 +4426,7 @@ class SetServer(command.Command):
|
||||
raise exceptions.CommandError(msg)
|
||||
|
||||
if parsed_args.tags:
|
||||
if server.api_version < api_versions.APIVersion('2.26'):
|
||||
if compute_client.api_version < api_versions.APIVersion('2.26'):
|
||||
msg = _(
|
||||
'--os-compute-api-version 2.26 or greater is required to '
|
||||
'support the --tag option'
|
||||
@ -4434,7 +4434,7 @@ class SetServer(command.Command):
|
||||
raise exceptions.CommandError(msg)
|
||||
|
||||
if parsed_args.hostname:
|
||||
if server.api_version < api_versions.APIVersion('2.90'):
|
||||
if compute_client.api_version < api_versions.APIVersion('2.90'):
|
||||
msg = _(
|
||||
'--os-compute-api-version 2.90 or greater is required to '
|
||||
'support the --hostname option'
|
||||
|
@ -17,7 +17,6 @@ from unittest import mock
|
||||
from unittest.mock import call
|
||||
|
||||
from openstack import exceptions as sdk_exceptions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -608,8 +607,9 @@ class TestAggregateCacheImage(TestAggregate):
|
||||
|
||||
self.cmd = aggregate.CacheImageForAggregate(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_aggregate_not_supported(self, sm_mock):
|
||||
def test_aggregate_cache_pre_v281(self):
|
||||
self.set_compute_api_version('2.80')
|
||||
|
||||
arglist = ['ag1', 'im1']
|
||||
verifylist = [
|
||||
('aggregate', 'ag1'),
|
||||
@ -620,8 +620,9 @@ class TestAggregateCacheImage(TestAggregate):
|
||||
exceptions.CommandError, self.cmd.take_action, parsed_args
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_aggregate_add_single_image(self, sm_mock):
|
||||
def test_aggregate_cache_add_single_image(self):
|
||||
self.set_compute_api_version('2.81')
|
||||
|
||||
arglist = ['ag1', 'im1']
|
||||
verifylist = [
|
||||
('aggregate', 'ag1'),
|
||||
@ -636,8 +637,9 @@ class TestAggregateCacheImage(TestAggregate):
|
||||
self.fake_ag.id, [self.images[0].id]
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_aggregate_add_multiple_images(self, sm_mock):
|
||||
def test_aggregate_cache_add_multiple_images(self):
|
||||
self.set_compute_api_version('2.81')
|
||||
|
||||
arglist = [
|
||||
'ag1',
|
||||
'im1',
|
||||
|
@ -16,7 +16,6 @@ from unittest import mock
|
||||
|
||||
from openstack.compute.v2 import flavor as _flavor
|
||||
from openstack import exceptions as sdk_exceptions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -118,6 +117,8 @@ class TestFlavorCreate(TestFlavor):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_flavor_create_all_options(self):
|
||||
self.set_compute_api_version('2.55')
|
||||
|
||||
arglist = [
|
||||
'--id',
|
||||
self.flavor.id,
|
||||
@ -184,13 +185,8 @@ class TestFlavorCreate(TestFlavor):
|
||||
expected_flavor
|
||||
)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
):
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
self.compute_sdk_client.create_flavor.assert_called_once_with(
|
||||
**args
|
||||
)
|
||||
self.compute_sdk_client.create_flavor.assert_called_once_with(**args)
|
||||
self.compute_sdk_client.create_flavor_extra_specs.assert_called_once_with(
|
||||
create_flavor, props
|
||||
)
|
||||
@ -200,6 +196,8 @@ class TestFlavorCreate(TestFlavor):
|
||||
self.assertCountEqual(tuple(cmp_data), data)
|
||||
|
||||
def test_flavor_create_other_options(self):
|
||||
self.set_compute_api_version('2.55')
|
||||
|
||||
self.flavor.is_public = False
|
||||
arglist = [
|
||||
'--id',
|
||||
@ -272,10 +270,8 @@ class TestFlavorCreate(TestFlavor):
|
||||
expected_flavor
|
||||
)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
):
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.compute_sdk_client.create_flavor.assert_called_once_with(**args)
|
||||
self.compute_sdk_client.flavor_add_tenant_access.assert_called_with(
|
||||
self.flavor.id,
|
||||
@ -314,7 +310,9 @@ class TestFlavorCreate(TestFlavor):
|
||||
verifylist,
|
||||
)
|
||||
|
||||
def test_flavor_create_with_description_api_newer(self):
|
||||
def test_flavor_create_with_description(self):
|
||||
self.set_compute_api_version('2.55')
|
||||
|
||||
arglist = [
|
||||
'--id',
|
||||
self.flavor.id,
|
||||
@ -348,9 +346,7 @@ class TestFlavorCreate(TestFlavor):
|
||||
('name', self.flavor.name),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
):
|
||||
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
args = {
|
||||
@ -371,7 +367,9 @@ class TestFlavorCreate(TestFlavor):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data_private, data)
|
||||
|
||||
def test_flavor_create_with_description_api_older(self):
|
||||
def test_flavor_create_with_description_pre_v255(self):
|
||||
self.set_compute_api_version('2.54')
|
||||
|
||||
arglist = [
|
||||
'--id',
|
||||
self.flavor.id,
|
||||
@ -391,9 +389,6 @@ class TestFlavorCreate(TestFlavor):
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=False
|
||||
):
|
||||
self.assertRaises(
|
||||
exceptions.CommandError, self.cmd.take_action, parsed_args
|
||||
)
|
||||
@ -887,7 +882,9 @@ class TestFlavorSet(TestFlavor):
|
||||
self.compute_sdk_client.flavor_add_tenant_access.assert_not_called()
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_flavor_set_description_api_newer(self):
|
||||
def test_flavor_set_description(self):
|
||||
self.set_compute_api_version('2.55')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
'description',
|
||||
@ -899,16 +896,15 @@ class TestFlavorSet(TestFlavor):
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
):
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
self.compute_sdk_client.update_flavor.assert_called_with(
|
||||
flavor=self.flavor.id, description='description'
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_flavor_set_description_api_older(self):
|
||||
def test_flavor_set_description_pre_v254(self):
|
||||
self.set_compute_api_version('2.54')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
'description',
|
||||
@ -920,14 +916,13 @@ class TestFlavorSet(TestFlavor):
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=False
|
||||
):
|
||||
self.assertRaises(
|
||||
exceptions.CommandError, self.cmd.take_action, parsed_args
|
||||
)
|
||||
|
||||
def test_flavor_set_description_using_name_api_newer(self):
|
||||
def test_flavor_set_description_using_name(self):
|
||||
self.set_compute_api_version('2.55')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
'description',
|
||||
@ -939,16 +934,15 @@ class TestFlavorSet(TestFlavor):
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
):
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
self.compute_sdk_client.update_flavor.assert_called_with(
|
||||
flavor=self.flavor.id, description='description'
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_flavor_set_description_using_name_api_older(self):
|
||||
def test_flavor_set_description_using_name_pre_v255(self):
|
||||
self.set_compute_api_version('2.54')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
'description',
|
||||
@ -960,9 +954,6 @@ class TestFlavorSet(TestFlavor):
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
with mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=False
|
||||
):
|
||||
self.assertRaises(
|
||||
exceptions.CommandError, self.cmd.take_action, parsed_args
|
||||
)
|
||||
|
@ -11,13 +11,10 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
import json
|
||||
from unittest import mock
|
||||
|
||||
from novaclient import exceptions as nova_exceptions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -164,10 +161,7 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
exceptions.NotFound, self.cmd.take_action, parsed_args
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_hypervisor_list_with_matching_and_pagination_options(
|
||||
self, sm_mock
|
||||
):
|
||||
def test_hypervisor_list_with_matching_and_pagination_options(self):
|
||||
arglist = [
|
||||
'--matching',
|
||||
self.hypervisors[0].name,
|
||||
@ -191,8 +185,7 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
'--matching is not compatible with --marker or --limit', str(ex)
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_hypervisor_list_long_option(self, sm_mock):
|
||||
def test_hypervisor_list_long_option(self):
|
||||
arglist = [
|
||||
'--long',
|
||||
]
|
||||
@ -210,8 +203,9 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns_long, columns)
|
||||
self.assertEqual(self.data_long, tuple(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_hypervisor_list_with_limit(self, sm_mock):
|
||||
def test_hypervisor_list_with_limit(self):
|
||||
self.set_compute_api_version('2.33')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
'1',
|
||||
@ -227,8 +221,9 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
limit=1, details=True
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_hypervisor_list_with_limit_pre_v233(self, sm_mock):
|
||||
def test_hypervisor_list_with_limit_pre_v233(self):
|
||||
self.set_compute_api_version('2.32')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
'1',
|
||||
@ -246,8 +241,9 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
'--os-compute-api-version 2.33 or greater is required', str(ex)
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_hypervisor_list_with_marker(self, sm_mock):
|
||||
def test_hypervisor_list_with_marker(self):
|
||||
self.set_compute_api_version('2.33')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
'test_hyp',
|
||||
@ -263,8 +259,9 @@ class TestHypervisorList(compute_fakes.TestComputev2):
|
||||
marker='test_hyp', details=True
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_hypervisor_list_with_marker_pre_v233(self, sm_mock):
|
||||
def test_hypervisor_list_with_marker_pre_v233(self):
|
||||
self.set_compute_api_version('2.32')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
'test_hyp',
|
||||
@ -413,8 +410,9 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
|
||||
# Get the command object to test
|
||||
self.cmd = hypervisor.ShowHypervisor(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_hypervisor_show(self, sm_mock):
|
||||
def test_hypervisor_show(self):
|
||||
self.set_compute_api_version('2.88')
|
||||
|
||||
arglist = [
|
||||
self.hypervisor.name,
|
||||
]
|
||||
@ -431,10 +429,9 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns_v288, columns)
|
||||
self.assertCountEqual(self.data_v288, data)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', side_effect=[False, True, False]
|
||||
)
|
||||
def test_hypervisor_show_pre_v288(self, sm_mock):
|
||||
def test_hypervisor_show_pre_v288(self):
|
||||
self.set_compute_api_version('2.87')
|
||||
|
||||
arglist = [
|
||||
self.hypervisor.name,
|
||||
]
|
||||
@ -451,8 +448,9 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_hypervisor_show_pre_v228(self, sm_mock):
|
||||
def test_hypervisor_show_pre_v228(self):
|
||||
self.set_compute_api_version('2.27')
|
||||
|
||||
# before microversion 2.28, nova returned a stringified version of this
|
||||
# field
|
||||
self.hypervisor.cpu_info = json.dumps(self.hypervisor.cpu_info)
|
||||
@ -474,10 +472,9 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', side_effect=[False, True, False]
|
||||
)
|
||||
def test_hypervisor_show_uptime_not_implemented(self, sm_mock):
|
||||
def test_hypervisor_show_uptime_not_implemented(self):
|
||||
self.set_compute_api_version('2.87')
|
||||
|
||||
arglist = [
|
||||
self.hypervisor.name,
|
||||
]
|
||||
|
@ -17,7 +17,6 @@ from unittest import mock
|
||||
from unittest.mock import call
|
||||
import uuid
|
||||
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.compute.v2 import keypair
|
||||
@ -175,8 +174,9 @@ class TestKeypairCreate(TestKeypair):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_create_with_key_type(self, sm_mock):
|
||||
def test_keypair_create_with_key_type(self):
|
||||
self.set_compute_api_version('2.2')
|
||||
|
||||
for key_type in ['x509', 'ssh']:
|
||||
self.compute_sdk_client.create_keypair.return_value = self.keypair
|
||||
|
||||
@ -220,8 +220,9 @@ class TestKeypairCreate(TestKeypair):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_create_with_key_type_pre_v22(self, sm_mock):
|
||||
def test_keypair_create_with_key_type_pre_v22(self):
|
||||
self.set_compute_api_version('2.1')
|
||||
|
||||
for key_type in ['x509', 'ssh']:
|
||||
arglist = [
|
||||
'--public-key',
|
||||
@ -257,8 +258,9 @@ class TestKeypairCreate(TestKeypair):
|
||||
'_generate_keypair',
|
||||
return_value=keypair.Keypair('private', 'public'),
|
||||
)
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_key_pair_create_with_user(self, sm_mock, mock_generate):
|
||||
def test_key_pair_create_with_user(self, mock_generate):
|
||||
self.set_compute_api_version('2.10')
|
||||
|
||||
arglist = [
|
||||
'--user',
|
||||
identity_fakes.user_name,
|
||||
@ -281,8 +283,9 @@ class TestKeypairCreate(TestKeypair):
|
||||
self.assertEqual({}, columns)
|
||||
self.assertEqual({}, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_key_pair_create_with_user_pre_v210(self, sm_mock):
|
||||
def test_key_pair_create_with_user_pre_v210(self):
|
||||
self.set_compute_api_version('2.9')
|
||||
|
||||
arglist = [
|
||||
'--user',
|
||||
identity_fakes.user_name,
|
||||
@ -368,8 +371,9 @@ class TestKeypairDelete(TestKeypair):
|
||||
calls.append(call(k, ignore_missing=False))
|
||||
self.compute_sdk_client.delete_keypair.assert_has_calls(calls)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_delete_with_user(self, sm_mock):
|
||||
def test_keypair_delete_with_user(self):
|
||||
self.set_compute_api_version('2.10')
|
||||
|
||||
arglist = ['--user', identity_fakes.user_name, self.keypairs[0].name]
|
||||
verifylist = [
|
||||
('user', identity_fakes.user_name),
|
||||
@ -386,8 +390,9 @@ class TestKeypairDelete(TestKeypair):
|
||||
ignore_missing=False,
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_delete_with_user_pre_v210(self, sm_mock):
|
||||
def test_keypair_delete_with_user_pre_v210(self):
|
||||
self.set_compute_api_version('2.9')
|
||||
|
||||
arglist = ['--user', identity_fakes.user_name, self.keypairs[0].name]
|
||||
verifylist = [
|
||||
('user', identity_fakes.user_name),
|
||||
@ -415,8 +420,7 @@ class TestKeypairList(TestKeypair):
|
||||
# Get the command object to test
|
||||
self.cmd = keypair.ListKeypair(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_list_no_options(self, sm_mock):
|
||||
def test_keypair_list_no_options(self):
|
||||
arglist = []
|
||||
verifylist = []
|
||||
|
||||
@ -437,8 +441,9 @@ class TestKeypairList(TestKeypair):
|
||||
tuple(data),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_list_v22(self, sm_mock):
|
||||
def test_keypair_list_v22(self):
|
||||
self.set_compute_api_version('2.22')
|
||||
|
||||
arglist = []
|
||||
verifylist = []
|
||||
|
||||
@ -465,8 +470,9 @@ class TestKeypairList(TestKeypair):
|
||||
tuple(data),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_list_with_user(self, sm_mock):
|
||||
def test_keypair_list_with_user(self):
|
||||
self.set_compute_api_version('2.35')
|
||||
|
||||
users_mock = self.identity_client.users
|
||||
users_mock.reset_mock()
|
||||
users_mock.get.return_value = fakes.FakeResource(
|
||||
@ -503,8 +509,9 @@ class TestKeypairList(TestKeypair):
|
||||
tuple(data),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_list_with_user_pre_v210(self, sm_mock):
|
||||
def test_keypair_list_with_user_pre_v210(self):
|
||||
self.set_compute_api_version('2.9')
|
||||
|
||||
arglist = [
|
||||
'--user',
|
||||
identity_fakes.user_name,
|
||||
@ -521,8 +528,9 @@ class TestKeypairList(TestKeypair):
|
||||
'--os-compute-api-version 2.10 or greater is required', str(ex)
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_list_with_project(self, sm_mock):
|
||||
def test_keypair_list_with_project(self):
|
||||
self.set_compute_api_version('2.35')
|
||||
|
||||
projects_mock = self.identity_client.tenants
|
||||
projects_mock.reset_mock()
|
||||
projects_mock.get.return_value = fakes.FakeResource(
|
||||
@ -565,8 +573,9 @@ class TestKeypairList(TestKeypair):
|
||||
tuple(data),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_list_with_project_pre_v210(self, sm_mock):
|
||||
def test_keypair_list_with_project_pre_v210(self):
|
||||
self.set_compute_api_version('2.9')
|
||||
|
||||
arglist = ['--project', identity_fakes.project_name]
|
||||
verifylist = [('project', identity_fakes.project_name)]
|
||||
|
||||
@ -594,10 +603,9 @@ class TestKeypairList(TestKeypair):
|
||||
None,
|
||||
)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', new=mock.Mock(return_value=True)
|
||||
)
|
||||
def test_keypair_list_with_limit(self):
|
||||
self.set_compute_api_version('2.35')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
'1',
|
||||
@ -611,10 +619,9 @@ class TestKeypairList(TestKeypair):
|
||||
|
||||
self.compute_sdk_client.keypairs.assert_called_with(limit=1)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', new=mock.Mock(return_value=False)
|
||||
)
|
||||
def test_keypair_list_with_limit_pre_v235(self):
|
||||
self.set_compute_api_version('2.34')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
'1',
|
||||
@ -632,10 +639,9 @@ class TestKeypairList(TestKeypair):
|
||||
'--os-compute-api-version 2.35 or greater is required', str(ex)
|
||||
)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', new=mock.Mock(return_value=True)
|
||||
)
|
||||
def test_keypair_list_with_marker(self):
|
||||
self.set_compute_api_version('2.35')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
'test_kp',
|
||||
@ -649,10 +655,9 @@ class TestKeypairList(TestKeypair):
|
||||
|
||||
self.compute_sdk_client.keypairs.assert_called_with(marker='test_kp')
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', new=mock.Mock(return_value=False)
|
||||
)
|
||||
def test_keypair_list_with_marker_pre_v235(self):
|
||||
self.set_compute_api_version('2.34')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
'test_kp',
|
||||
@ -743,8 +748,9 @@ class TestKeypairShow(TestKeypair):
|
||||
self.assertEqual({}, columns)
|
||||
self.assertEqual({}, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_keypair_show_with_user(self, sm_mock):
|
||||
def test_keypair_show_with_user(self):
|
||||
self.set_compute_api_version('2.10')
|
||||
|
||||
self.keypair = compute_fakes.create_one_keypair()
|
||||
self.compute_sdk_client.find_keypair.return_value = self.keypair
|
||||
|
||||
@ -782,8 +788,9 @@ class TestKeypairShow(TestKeypair):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_keypair_show_with_user_pre_v210(self, sm_mock):
|
||||
def test_keypair_show_with_user_pre_v210(self):
|
||||
self.set_compute_api_version('2.9')
|
||||
|
||||
self.keypair = compute_fakes.create_one_keypair()
|
||||
arglist = [
|
||||
'--user',
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -15,40 +15,14 @@
|
||||
from unittest import mock
|
||||
|
||||
import iso8601
|
||||
from novaclient import api_versions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.compute.v2 import server_event
|
||||
from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
|
||||
|
||||
|
||||
class TestServerEvent(compute_fakes.TestComputev2):
|
||||
class TestListServerEvent(compute_fakes.TestComputev2):
|
||||
fake_server = compute_fakes.create_one_sdk_server()
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
patcher = mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
)
|
||||
self.addCleanup(patcher.stop)
|
||||
self.supports_microversion_mock = patcher.start()
|
||||
self._set_mock_microversion(
|
||||
self.compute_client.api_version.get_string()
|
||||
)
|
||||
|
||||
def _set_mock_microversion(self, mock_v):
|
||||
"""Set a specific microversion for the mock supports_microversion()."""
|
||||
self.supports_microversion_mock.reset_mock(return_value=True)
|
||||
|
||||
self.supports_microversion_mock.side_effect = (
|
||||
lambda _, v: api_versions.APIVersion(v)
|
||||
<= api_versions.APIVersion(mock_v)
|
||||
)
|
||||
|
||||
|
||||
class TestListServerEvent(TestServerEvent):
|
||||
fake_event = compute_fakes.create_one_server_action()
|
||||
|
||||
columns = (
|
||||
@ -145,7 +119,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
self.assertEqual(self.long_data, tuple(data))
|
||||
|
||||
def test_server_event_list_with_changes_since(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
'--changes-since',
|
||||
@ -177,7 +151,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
self,
|
||||
mock_parse_isotime,
|
||||
):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
'--changes-since',
|
||||
@ -200,7 +174,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
mock_parse_isotime.assert_called_once_with('Invalid time value')
|
||||
|
||||
def test_server_event_list_with_changes_since_pre_v258(self):
|
||||
self._set_mock_microversion('2.57')
|
||||
self.set_compute_api_version('2.57')
|
||||
|
||||
arglist = [
|
||||
'--changes-since',
|
||||
@ -225,7 +199,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
def test_server_event_list_with_changes_before(self):
|
||||
self._set_mock_microversion('2.66')
|
||||
self.set_compute_api_version('2.66')
|
||||
|
||||
arglist = [
|
||||
'--changes-before',
|
||||
@ -257,7 +231,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
self,
|
||||
mock_parse_isotime,
|
||||
):
|
||||
self._set_mock_microversion('2.66')
|
||||
self.set_compute_api_version('2.66')
|
||||
|
||||
arglist = [
|
||||
'--changes-before',
|
||||
@ -278,7 +252,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
mock_parse_isotime.assert_called_once_with('Invalid time value')
|
||||
|
||||
def test_server_event_list_with_changes_before_pre_v266(self):
|
||||
self._set_mock_microversion('2.65')
|
||||
self.set_compute_api_version('2.65')
|
||||
|
||||
arglist = [
|
||||
'--changes-before',
|
||||
@ -301,7 +275,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
def test_server_event_list_with_limit(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
@ -323,7 +297,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
def test_server_event_list_with_limit_pre_v258(self):
|
||||
self._set_mock_microversion('2.57')
|
||||
self.set_compute_api_version('2.57')
|
||||
|
||||
arglist = [
|
||||
'--limit',
|
||||
@ -348,7 +322,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
def test_server_event_list_with_marker(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
@ -369,7 +343,7 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
def test_server_event_list_with_marker_pre_v258(self):
|
||||
self._set_mock_microversion('2.57')
|
||||
self.set_compute_api_version('2.57')
|
||||
|
||||
arglist = [
|
||||
'--marker',
|
||||
@ -391,7 +365,8 @@ class TestListServerEvent(TestServerEvent):
|
||||
)
|
||||
|
||||
|
||||
class TestShowServerEvent(TestServerEvent):
|
||||
class TestShowServerEvent(compute_fakes.TestComputev2):
|
||||
fake_server = compute_fakes.create_one_sdk_server()
|
||||
fake_event = compute_fakes.create_one_server_action()
|
||||
columns = (
|
||||
'action',
|
||||
|
@ -13,9 +13,6 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -57,8 +54,9 @@ class TestServerGroupCreate(TestServerGroup):
|
||||
)
|
||||
self.cmd = server_group.CreateServerGroup(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_create(self, sm_mock):
|
||||
def test_server_group_create(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = [
|
||||
'--policy',
|
||||
'anti-affinity',
|
||||
@ -78,8 +76,9 @@ class TestServerGroupCreate(TestServerGroup):
|
||||
self.assertCountEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_create_with_soft_policies(self, sm_mock):
|
||||
def test_server_group_create_with_soft_policies(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = [
|
||||
'--policy',
|
||||
'soft-anti-affinity',
|
||||
@ -99,8 +98,9 @@ class TestServerGroupCreate(TestServerGroup):
|
||||
self.assertCountEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_server_group_create_with_soft_policies_pre_v215(self, sm_mock):
|
||||
def test_server_group_create_with_soft_policies_pre_v215(self):
|
||||
self.set_compute_api_version('2.14')
|
||||
|
||||
arglist = [
|
||||
'--policy',
|
||||
'soft-anti-affinity',
|
||||
@ -118,8 +118,9 @@ class TestServerGroupCreate(TestServerGroup):
|
||||
'--os-compute-api-version 2.15 or greater is required', str(ex)
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_create_with_rules(self, sm_mock):
|
||||
def test_server_group_create_with_rules(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = [
|
||||
'--policy',
|
||||
'soft-anti-affinity',
|
||||
@ -143,10 +144,9 @@ class TestServerGroupCreate(TestServerGroup):
|
||||
self.assertCountEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', side_effect=[True, False]
|
||||
)
|
||||
def test_server_group_create_with_rules_pre_v264(self, sm_mock):
|
||||
def test_server_group_create_with_rules_pre_v264(self):
|
||||
self.set_compute_api_version('2.63')
|
||||
|
||||
arglist = [
|
||||
'--policy',
|
||||
'soft-anti-affinity',
|
||||
@ -346,8 +346,7 @@ class TestServerGroupList(TestServerGroup):
|
||||
]
|
||||
self.cmd = server_group.ListServerGroup(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_server_group_list(self, sm_mock):
|
||||
def test_server_group_list(self):
|
||||
arglist = []
|
||||
verifylist = [
|
||||
('all_projects', False),
|
||||
@ -363,8 +362,7 @@ class TestServerGroupList(TestServerGroup):
|
||||
self.assertCountEqual(self.list_columns, columns)
|
||||
self.assertCountEqual(self.list_data, tuple(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
|
||||
def test_server_group_list_with_all_projects_and_long(self, sm_mock):
|
||||
def test_server_group_list_with_all_projects_and_long(self):
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
'--long',
|
||||
@ -384,8 +382,7 @@ class TestServerGroupList(TestServerGroup):
|
||||
self.assertCountEqual(self.list_columns_long, columns)
|
||||
self.assertCountEqual(self.list_data_long, tuple(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_list_with_limit(self, sm_mock):
|
||||
def test_server_group_list_with_limit(self):
|
||||
arglist = [
|
||||
'--limit',
|
||||
'1',
|
||||
@ -402,8 +399,7 @@ class TestServerGroupList(TestServerGroup):
|
||||
|
||||
self.compute_sdk_client.server_groups.assert_called_once_with(limit=1)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_list_with_offset(self, sm_mock):
|
||||
def test_server_group_list_with_offset(self):
|
||||
arglist = [
|
||||
'--offset',
|
||||
'5',
|
||||
@ -420,8 +416,9 @@ class TestServerGroupList(TestServerGroup):
|
||||
|
||||
self.compute_sdk_client.server_groups.assert_called_once_with(offset=5)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_list_v264(self, sm_mock):
|
||||
def test_server_group_list_v264(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
('all_projects', False),
|
||||
@ -434,8 +431,9 @@ class TestServerGroupList(TestServerGroup):
|
||||
self.assertCountEqual(self.list_columns_v264, columns)
|
||||
self.assertCountEqual(self.list_data_v264, tuple(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_list_with_all_projects_and_long_v264(self, sm_mock):
|
||||
def test_server_group_list_with_all_projects_and_long_v264(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
'--long',
|
||||
@ -463,8 +461,9 @@ class TestServerGroupShow(TestServerGroup):
|
||||
)
|
||||
self.cmd = server_group.ShowServerGroup(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
|
||||
def test_server_group_show(self, sm_mock):
|
||||
def test_server_group_show(self):
|
||||
self.set_compute_api_version('2.64')
|
||||
|
||||
arglist = [
|
||||
'affinity_group',
|
||||
]
|
||||
|
@ -10,10 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from novaclient import api_versions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as common_utils
|
||||
|
||||
@ -22,34 +18,7 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
|
||||
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
|
||||
|
||||
|
||||
class TestServerMigration(compute_fakes.TestComputev2):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
# Get a shortcut to the compute client ServerManager Mock
|
||||
self.servers_mock = self.compute_client.servers
|
||||
self.servers_mock.reset_mock()
|
||||
|
||||
# Get a shortcut to the compute client ServerMigrationsManager Mock
|
||||
self.server_migrations_mock = self.compute_client.server_migrations
|
||||
self.server_migrations_mock.reset_mock()
|
||||
|
||||
patcher = mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
)
|
||||
self.addCleanup(patcher.stop)
|
||||
self.supports_microversion_mock = patcher.start()
|
||||
|
||||
def _set_mock_microversion(self, mock_v):
|
||||
"""Set a specific microversion for the mock supports_microversion()."""
|
||||
self.supports_microversion_mock.reset_mock(return_value=True)
|
||||
self.supports_microversion_mock.side_effect = (
|
||||
lambda _, v: api_versions.APIVersion(v)
|
||||
<= api_versions.APIVersion(mock_v)
|
||||
)
|
||||
|
||||
|
||||
class TestListMigration(TestServerMigration):
|
||||
class TestListMigration(compute_fakes.TestComputev2):
|
||||
"""Test fetch all migrations."""
|
||||
|
||||
MIGRATION_COLUMNS = [
|
||||
@ -83,8 +52,6 @@ class TestListMigration(TestServerMigration):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self._set_mock_microversion('2.1')
|
||||
|
||||
self.server = compute_fakes.create_one_sdk_server()
|
||||
self.compute_sdk_client.find_server.return_value = self.server
|
||||
|
||||
@ -189,7 +156,7 @@ class TestListMigrationV223(TestListMigration):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self._set_mock_microversion('2.23')
|
||||
self.set_compute_api_version('2.23')
|
||||
|
||||
def test_server_migration_list(self):
|
||||
arglist = ['--status', 'migrating']
|
||||
@ -249,7 +216,7 @@ class TestListMigrationV259(TestListMigration):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
def test_server_migration_list(self):
|
||||
arglist = [
|
||||
@ -286,7 +253,8 @@ class TestListMigrationV259(TestListMigration):
|
||||
self.assertEqual(tuple(self.data), tuple(data))
|
||||
|
||||
def test_server_migration_list_with_limit_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = ['--status', 'migrating', '--limit', '1']
|
||||
verifylist = [('status', 'migrating'), ('limit', 1)]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
@ -298,7 +266,8 @@ class TestListMigrationV259(TestListMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_list_with_marker_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = ['--status', 'migrating', '--marker', 'test_kp']
|
||||
verifylist = [('status', 'migrating'), ('marker', 'test_kp')]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
@ -310,7 +279,8 @@ class TestListMigrationV259(TestListMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_list_with_changes_since_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
'--status',
|
||||
'migrating',
|
||||
@ -371,7 +341,7 @@ class TestListMigrationV266(TestListMigration):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self._set_mock_microversion('2.66')
|
||||
self.set_compute_api_version('2.66')
|
||||
|
||||
def test_server_migration_list_with_changes_before(self):
|
||||
arglist = [
|
||||
@ -412,7 +382,8 @@ class TestListMigrationV266(TestListMigration):
|
||||
self.assertEqual(tuple(self.data), tuple(data))
|
||||
|
||||
def test_server_migration_list_with_changes_before_pre_v266(self):
|
||||
self._set_mock_microversion('2.65')
|
||||
self.set_compute_api_version('2.65')
|
||||
|
||||
arglist = [
|
||||
'--status',
|
||||
'migrating',
|
||||
@ -485,7 +456,7 @@ class TestListMigrationV280(TestListMigration):
|
||||
self.projects_mock.get.return_value = self.project
|
||||
self.users_mock.get.return_value = self.user
|
||||
|
||||
self._set_mock_microversion('2.80')
|
||||
self.set_compute_api_version('2.80')
|
||||
|
||||
def test_server_migration_list_with_project(self):
|
||||
arglist = [
|
||||
@ -540,7 +511,8 @@ class TestListMigrationV280(TestListMigration):
|
||||
self.MIGRATION_FIELDS.remove('project_id')
|
||||
|
||||
def test_get_migrations_with_project_pre_v280(self):
|
||||
self._set_mock_microversion('2.79')
|
||||
self.set_compute_api_version('2.79')
|
||||
|
||||
arglist = [
|
||||
'--status',
|
||||
'migrating',
|
||||
@ -612,7 +584,8 @@ class TestListMigrationV280(TestListMigration):
|
||||
self.MIGRATION_FIELDS.remove('user_id')
|
||||
|
||||
def test_get_migrations_with_user_pre_v280(self):
|
||||
self._set_mock_microversion('2.79')
|
||||
self.set_compute_api_version('2.79')
|
||||
|
||||
arglist = [
|
||||
'--status',
|
||||
'migrating',
|
||||
@ -690,7 +663,8 @@ class TestListMigrationV280(TestListMigration):
|
||||
self.MIGRATION_FIELDS.remove('user_id')
|
||||
|
||||
def test_get_migrations_with_project_and_user_pre_v280(self):
|
||||
self._set_mock_microversion('2.79')
|
||||
self.set_compute_api_version('2.79')
|
||||
|
||||
arglist = [
|
||||
'--status',
|
||||
'migrating',
|
||||
@ -716,7 +690,7 @@ class TestListMigrationV280(TestListMigration):
|
||||
)
|
||||
|
||||
|
||||
class TestServerMigrationShow(TestServerMigration):
|
||||
class TestServerMigrationShow(compute_fakes.TestComputev2):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -793,12 +767,12 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_show(self):
|
||||
self._set_mock_microversion('2.24')
|
||||
self.set_compute_api_version('2.24')
|
||||
|
||||
self._test_server_migration_show()
|
||||
|
||||
def test_server_migration_show_v259(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.columns += ('UUID',)
|
||||
self.data += (self.server_migration.uuid,)
|
||||
@ -806,7 +780,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
self._test_server_migration_show()
|
||||
|
||||
def test_server_migration_show_v280(self):
|
||||
self._set_mock_microversion('2.80')
|
||||
self.set_compute_api_version('2.80')
|
||||
|
||||
self.columns += ('UUID', 'User ID', 'Project ID')
|
||||
self.data += (
|
||||
@ -818,7 +792,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
self._test_server_migration_show()
|
||||
|
||||
def test_server_migration_show_pre_v224(self):
|
||||
self._set_mock_microversion('2.23')
|
||||
self.set_compute_api_version('2.23')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -835,7 +809,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_show_by_uuid(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.compute_sdk_client.server_migrations.return_value = iter(
|
||||
[self.server_migration]
|
||||
@ -865,7 +839,8 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
self.compute_sdk_client.get_server_migration.assert_not_called()
|
||||
|
||||
def test_server_migration_show_by_uuid_no_matches(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.compute_sdk_client.server_migrations.return_value = iter([])
|
||||
|
||||
arglist = [
|
||||
@ -884,7 +859,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_show_by_uuid_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -901,7 +876,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_show_invalid_id(self):
|
||||
self._set_mock_microversion('2.24')
|
||||
self.set_compute_api_version('2.24')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -918,7 +893,7 @@ class TestServerMigrationShow(TestServerMigration):
|
||||
)
|
||||
|
||||
|
||||
class TestServerMigrationAbort(TestServerMigration):
|
||||
class TestServerMigrationAbort(compute_fakes.TestComputev2):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -931,7 +906,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
self.cmd = server_migration.AbortMigration(self.app, None)
|
||||
|
||||
def test_migration_abort(self):
|
||||
self._set_mock_microversion('2.24')
|
||||
self.set_compute_api_version('2.24')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -951,7 +926,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_migration_abort_pre_v224(self):
|
||||
self._set_mock_microversion('2.23')
|
||||
self.set_compute_api_version('2.23')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -968,7 +943,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_abort_by_uuid(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.server_migration = compute_fakes.create_one_server_migration()
|
||||
self.compute_sdk_client.server_migrations.return_value = iter(
|
||||
@ -996,7 +971,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_server_migration_abort_by_uuid_no_matches(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.compute_sdk_client.server_migrations.return_value = iter([])
|
||||
|
||||
@ -1016,7 +991,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_abort_by_uuid_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -1033,7 +1008,7 @@ class TestServerMigrationAbort(TestServerMigration):
|
||||
)
|
||||
|
||||
|
||||
class TestServerMigrationForceComplete(TestServerMigration):
|
||||
class TestServerMigrationForceComplete(compute_fakes.TestComputev2):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -1046,7 +1021,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
|
||||
self.cmd = server_migration.ForceCompleteMigration(self.app, None)
|
||||
|
||||
def test_migration_force_complete(self):
|
||||
self._set_mock_microversion('2.22')
|
||||
self.set_compute_api_version('2.22')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -1066,7 +1041,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_migration_force_complete_pre_v222(self):
|
||||
self._set_mock_microversion('2.21')
|
||||
self.set_compute_api_version('2.21')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -1083,7 +1058,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_force_complete_by_uuid(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.server_migration = compute_fakes.create_one_server_migration()
|
||||
self.compute_sdk_client.server_migrations.return_value = iter(
|
||||
@ -1111,7 +1086,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_server_migration_force_complete_by_uuid_no_matches(self):
|
||||
self._set_mock_microversion('2.59')
|
||||
self.set_compute_api_version('2.59')
|
||||
|
||||
self.compute_sdk_client.server_migrations.return_value = iter([])
|
||||
|
||||
@ -1131,7 +1106,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
|
||||
)
|
||||
|
||||
def test_server_migration_force_complete_by_uuid_pre_v259(self):
|
||||
self._set_mock_microversion('2.58')
|
||||
self.set_compute_api_version('2.58')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
|
@ -10,9 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.compute.v2 import server_volume
|
||||
@ -35,10 +32,7 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
||||
# Get the command object to test
|
||||
self.cmd = server_volume.ListServerVolume(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_list(self, sm_mock):
|
||||
sm_mock.side_effect = [False, False, False, False]
|
||||
|
||||
def test_server_volume_list(self):
|
||||
arglist = [
|
||||
self.server.id,
|
||||
]
|
||||
@ -71,9 +65,8 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
||||
self.server,
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_list_with_tags(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True, False, False]
|
||||
def test_server_volume_list_with_tags(self):
|
||||
self.set_compute_api_version('2.70')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -118,9 +111,9 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
||||
self.server,
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_list_with_delete_on_attachment(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True, True, False]
|
||||
def test_server_volume_list_with_delete_on_attachment(self):
|
||||
self.set_compute_api_version('2.79')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
]
|
||||
@ -167,9 +160,9 @@ class TestServerVolumeList(compute_fakes.TestComputev2):
|
||||
self.server,
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_list_with_attachment_ids(self, sm_mock):
|
||||
sm_mock.side_effect = [True, True, True, True]
|
||||
def test_server_volume_list_with_attachment_ids(self):
|
||||
self.set_compute_api_version('2.89')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
]
|
||||
@ -251,9 +244,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
||||
self.compute_sdk_client.update_volume_attachment.assert_not_called()
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_update_with_delete_on_termination(self, sm_mock):
|
||||
sm_mock.return_value = True
|
||||
def test_server_volume_update_with_delete_on_termination(self):
|
||||
self.set_compute_api_version('2.85')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -276,9 +268,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_update_with_preserve_on_termination(self, sm_mock):
|
||||
sm_mock.return_value = True
|
||||
def test_server_volume_update_with_preserve_on_termination(self):
|
||||
self.set_compute_api_version('2.85')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -299,12 +290,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_update_with_delete_on_termination_pre_v285(
|
||||
self,
|
||||
sm_mock,
|
||||
):
|
||||
sm_mock.return_value = False
|
||||
def test_server_volume_update_with_delete_on_termination_pre_v285(self):
|
||||
self.set_compute_api_version('2.84')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
@ -325,12 +312,8 @@ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.compute_sdk_client.update_volume_attachment.assert_not_called()
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_server_volume_update_with_preserve_on_termination_pre_v285(
|
||||
self,
|
||||
sm_mock,
|
||||
):
|
||||
sm_mock.return_value = False
|
||||
def test_server_volume_update_with_preserve_on_termination_pre_v285(self):
|
||||
self.set_compute_api_version('2.84')
|
||||
|
||||
arglist = [
|
||||
self.server.id,
|
||||
|
@ -13,9 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
from unittest.mock import call
|
||||
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.compute.v2 import service
|
||||
@ -62,7 +60,7 @@ class TestServiceDelete(compute_fakes.TestComputev2):
|
||||
|
||||
calls = []
|
||||
for s in self.services:
|
||||
calls.append(call(s.binary, ignore_missing=False))
|
||||
calls.append(mock.call(s.binary, ignore_missing=False))
|
||||
self.compute_sdk_client.delete_service.assert_has_calls(calls)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@ -156,10 +154,7 @@ class TestServiceList(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, list(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_list_with_long_option(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
|
||||
def test_service_list_with_long_option(self):
|
||||
arglist = [
|
||||
'--host',
|
||||
self.service.host,
|
||||
@ -187,9 +182,8 @@ class TestServiceList(compute_fakes.TestComputev2):
|
||||
self.assertEqual(self.columns_long, columns)
|
||||
self.assertEqual(self.data_long, list(data))
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_list_with_long_option_2_11(self, sm_mock):
|
||||
sm_mock.return_value = True
|
||||
def test_service_list_with_long_option_2_11(self):
|
||||
self.set_compute_api_version('2.11')
|
||||
|
||||
arglist = [
|
||||
'--host',
|
||||
@ -234,9 +228,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
|
||||
self.cmd = service.SetService(self.app, None)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_set_nothing(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_set_nothing(self):
|
||||
arglist = [
|
||||
self.service.host,
|
||||
self.service.binary,
|
||||
@ -252,9 +244,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
self.compute_sdk_client.disable_service.assert_not_called()
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_enable(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_service_set_enable(self):
|
||||
arglist = [
|
||||
'--enable',
|
||||
self.service.host,
|
||||
@ -274,9 +264,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_disable(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_service_set_disable(self):
|
||||
arglist = [
|
||||
'--disable',
|
||||
self.service.host,
|
||||
@ -296,9 +284,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_disable_with_reason(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_service_set_disable_with_reason(self):
|
||||
reason = 'earthquake'
|
||||
arglist = [
|
||||
'--disable',
|
||||
@ -322,9 +308,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_only_with_disable_reason(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_service_set_only_with_disable_reason(self):
|
||||
reason = 'earthquake'
|
||||
arglist = [
|
||||
'--disable-reason',
|
||||
@ -348,9 +332,7 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
str(e),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_enable_with_disable_reason(self, sm_mock):
|
||||
sm_mock.return_value = False
|
||||
def test_service_set_enable_with_disable_reason(self):
|
||||
reason = 'earthquake'
|
||||
arglist = [
|
||||
'--enable',
|
||||
@ -376,9 +358,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
str(e),
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_state_up(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True]
|
||||
def test_service_set_state_up(self):
|
||||
self.set_compute_api_version('2.11')
|
||||
|
||||
arglist = [
|
||||
'--up',
|
||||
self.service.host,
|
||||
@ -398,9 +380,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
self.assertNotCalled(self.compute_sdk_client.disable_service)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_state_down(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True]
|
||||
def test_service_set_state_down(self):
|
||||
self.set_compute_api_version('2.11')
|
||||
|
||||
arglist = [
|
||||
'--down',
|
||||
self.service.host,
|
||||
@ -420,9 +402,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
self.assertNotCalled(self.compute_sdk_client.disable_service)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_enable_and_state_down(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True]
|
||||
def test_service_set_enable_and_state_down(self):
|
||||
self.set_compute_api_version('2.11')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
'--down',
|
||||
@ -445,9 +427,9 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_enable_and_state_down_with_exception(self, sm_mock):
|
||||
sm_mock.side_effect = [False, True]
|
||||
def test_service_set_enable_and_state_down_with_exception(self):
|
||||
self.set_compute_api_version('2.11')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
'--down',
|
||||
@ -472,11 +454,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
None, self.service.host, self.service.binary, True
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_2_53_disable_down(self, sm_mock):
|
||||
def test_service_set_disable_down(self):
|
||||
# Tests disabling and forcing down a compute service with microversion
|
||||
# 2.53 which requires looking up the service by host and binary.
|
||||
sm_mock.return_value = True
|
||||
self.set_compute_api_version('2.53')
|
||||
|
||||
arglist = [
|
||||
'--disable',
|
||||
'--down',
|
||||
@ -503,11 +485,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_2_53_disable_reason(self, sm_mock):
|
||||
def test_service_set_disable_reason(self):
|
||||
# Tests disabling with reason a compute service with microversion
|
||||
# 2.53 which requires looking up the service by host and binary.
|
||||
sm_mock.return_value = True
|
||||
self.set_compute_api_version('2.53')
|
||||
|
||||
reason = 'earthquake'
|
||||
arglist = [
|
||||
'--disable',
|
||||
@ -533,11 +515,11 @@ class TestServiceSet(compute_fakes.TestComputev2):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_service_set_2_53_enable_up(self, sm_mock):
|
||||
def test_service_set_enable_up(self):
|
||||
# Tests enabling and bringing up a compute service with microversion
|
||||
# 2.53 which requires looking up the service by host and binary.
|
||||
sm_mock.return_value = True
|
||||
self.set_compute_api_version('2.53')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
'--up',
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
import uuid
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
@ -40,7 +39,7 @@ class TestBlockStorageCleanup(TestBlockStorage):
|
||||
self.cmd = block_storage_cleanup.BlockStorageCleanup(self.app, None)
|
||||
|
||||
def test_cleanup(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.24')
|
||||
self.set_volume_api_version('3.24')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -96,7 +95,7 @@ class TestBlockStorageCleanup(TestBlockStorage):
|
||||
)
|
||||
|
||||
def test_cleanup_with_args(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.24')
|
||||
self.set_volume_api_version('3.24')
|
||||
|
||||
fake_cluster = 'fake-cluster'
|
||||
fake_host = 'fake-host'
|
||||
|
@ -10,7 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
@ -41,7 +40,7 @@ class TestBlockStorageClusterList(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -82,7 +81,7 @@ class TestBlockStorageClusterList(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_list_with_full_options(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--cluster',
|
||||
@ -152,7 +151,7 @@ class TestBlockStorageClusterList(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_list_pre_v37(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.6')
|
||||
self.set_volume_api_version('3.6')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -215,7 +214,7 @@ class TestBlockStorageClusterSet(TestBlockStorageCluster):
|
||||
self.cmd = block_storage_cluster.SetBlockStorageCluster(self.app, None)
|
||||
|
||||
def test_cluster_set(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
@ -242,7 +241,7 @@ class TestBlockStorageClusterSet(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_set_disable_with_reason(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--binary',
|
||||
@ -272,7 +271,7 @@ class TestBlockStorageClusterSet(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_set_only_with_disable_reason(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--disable-reason',
|
||||
@ -295,7 +294,7 @@ class TestBlockStorageClusterSet(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_set_enable_with_disable_reason(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
@ -319,7 +318,7 @@ class TestBlockStorageClusterSet(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_set_pre_v37(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.6')
|
||||
self.set_volume_api_version('3.6')
|
||||
|
||||
arglist = [
|
||||
'--enable',
|
||||
@ -385,7 +384,7 @@ class TestBlockStorageClusterShow(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_show(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.7')
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'--binary',
|
||||
@ -409,7 +408,7 @@ class TestBlockStorageClusterShow(TestBlockStorageCluster):
|
||||
)
|
||||
|
||||
def test_cluster_show_pre_v37(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.6')
|
||||
self.set_volume_api_version('3.6')
|
||||
|
||||
arglist = [
|
||||
'--binary',
|
||||
|
@ -12,7 +12,6 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
from cinderclient import api_versions
|
||||
import ddt
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -42,7 +41,8 @@ class TestBlockStorageLogLevelList(TestService):
|
||||
self.cmd = service.BlockStorageLogLevelList(self.app, None)
|
||||
|
||||
def test_block_storage_log_level_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
'--host',
|
||||
self.service_log.host,
|
||||
@ -113,7 +113,8 @@ class TestBlockStorageLogLevelList(TestService):
|
||||
)
|
||||
|
||||
def test_block_storage_log_level_list_invalid_service_name(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
'--host',
|
||||
self.service_log.host,
|
||||
@ -148,7 +149,8 @@ class TestBlockStorageLogLevelSet(TestService):
|
||||
self.cmd = service.BlockStorageLogLevelSet(self.app, None)
|
||||
|
||||
def test_block_storage_log_level_set(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
'ERROR',
|
||||
'--host',
|
||||
@ -202,7 +204,8 @@ class TestBlockStorageLogLevelSet(TestService):
|
||||
)
|
||||
|
||||
def test_block_storage_log_level_set_invalid_service_name(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
'ERROR',
|
||||
'--host',
|
||||
@ -229,7 +232,8 @@ class TestBlockStorageLogLevelSet(TestService):
|
||||
|
||||
@ddt.data('WARNING', 'info', 'Error', 'debuG', 'fake-log-level')
|
||||
def test_block_storage_log_level_set_log_level(self, log_level):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
log_level,
|
||||
'--host',
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit import utils as tests_utils
|
||||
@ -46,7 +45,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_volume_manage_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
]
|
||||
@ -87,6 +87,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_volume_manage_list__pre_v38(self):
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
]
|
||||
@ -103,7 +105,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_volume_manage_list__pre_v317(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.16')
|
||||
self.set_volume_api_version('3.16')
|
||||
|
||||
arglist = [
|
||||
'--cluster',
|
||||
'fake_cluster',
|
||||
@ -122,7 +125,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
self.assertIn('--cluster', str(exc))
|
||||
|
||||
def test_block_storage_volume_manage_list__host_and_cluster(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.17')
|
||||
self.set_volume_api_version('3.17')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
'--cluster',
|
||||
@ -145,7 +149,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
|
||||
def test_block_storage_volume_manage_list__detailed(self):
|
||||
"""This option is deprecated."""
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'--detailed',
|
||||
'True',
|
||||
@ -205,9 +210,8 @@ class TestBlockStorageVolumeManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_volume_manage_list__all_args(self):
|
||||
self.app.client_manager.volume.api_version = api_versions.APIVersion(
|
||||
'3.8'
|
||||
)
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
'--long',
|
||||
@ -285,7 +289,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_snapshot_manage_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
]
|
||||
@ -328,6 +333,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_snapshot_manage_list__pre_v38(self):
|
||||
self.set_volume_api_version('3.7')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
]
|
||||
@ -344,7 +351,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_snapshot_manage_list__pre_v317(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.16')
|
||||
self.set_volume_api_version('3.16')
|
||||
|
||||
arglist = [
|
||||
'--cluster',
|
||||
'fake_cluster',
|
||||
@ -363,7 +371,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
self.assertIn('--cluster', str(exc))
|
||||
|
||||
def test_block_storage_snapshot_manage_list__host_and_cluster(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.17')
|
||||
self.set_volume_api_version('3.17')
|
||||
|
||||
arglist = [
|
||||
'fake_host',
|
||||
'--cluster',
|
||||
@ -385,7 +394,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_snapshot_manage_list__detailed(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'--detailed',
|
||||
'True',
|
||||
@ -447,9 +457,8 @@ class TestBlockStorageSnapshotManage(TestBlockStorageManage):
|
||||
)
|
||||
|
||||
def test_block_storage_snapshot_manage_list__all_args(self):
|
||||
self.app.client_manager.volume.api_version = api_versions.APIVersion(
|
||||
'3.8'
|
||||
)
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'--long',
|
||||
'--marker',
|
||||
|
@ -10,10 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from cinderclient import api_versions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -21,29 +17,7 @@ from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
from openstackclient.volume.v3 import block_storage_resource_filter
|
||||
|
||||
|
||||
class TestBlockStorageResourceFilter(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
patcher = mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
)
|
||||
self.addCleanup(patcher.stop)
|
||||
self.supports_microversion_mock = patcher.start()
|
||||
self._set_mock_microversion(
|
||||
self.app.client_manager.volume.api_version.get_string()
|
||||
)
|
||||
|
||||
def _set_mock_microversion(self, mock_v):
|
||||
"""Set a specific microversion for the mock supports_microversion()."""
|
||||
self.supports_microversion_mock.reset_mock(return_value=True)
|
||||
self.supports_microversion_mock.side_effect = (
|
||||
lambda _, v: api_versions.APIVersion(v)
|
||||
<= api_versions.APIVersion(mock_v)
|
||||
)
|
||||
|
||||
|
||||
class TestBlockStorageResourceFilterList(TestBlockStorageResourceFilter):
|
||||
class TestBlockStorageResourceFilterList(volume_fakes.TestVolume):
|
||||
# The resource filters to be listed
|
||||
fake_resource_filters = volume_fakes.create_resource_filters()
|
||||
|
||||
@ -62,7 +36,7 @@ class TestBlockStorageResourceFilterList(TestBlockStorageResourceFilter):
|
||||
)
|
||||
|
||||
def test_resource_filter_list(self):
|
||||
self._set_mock_microversion('3.33')
|
||||
self.set_volume_api_version('3.33')
|
||||
|
||||
arglist = []
|
||||
verifylist = []
|
||||
@ -85,7 +59,7 @@ class TestBlockStorageResourceFilterList(TestBlockStorageResourceFilter):
|
||||
self.volume_sdk_client.resource_filters.assert_called_with()
|
||||
|
||||
def test_resource_filter_list_pre_v333(self):
|
||||
self._set_mock_microversion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = []
|
||||
verifylist = []
|
||||
@ -99,7 +73,7 @@ class TestBlockStorageResourceFilterList(TestBlockStorageResourceFilter):
|
||||
)
|
||||
|
||||
|
||||
class TestBlockStorageResourceFilterShow(TestBlockStorageResourceFilter):
|
||||
class TestBlockStorageResourceFilterShow(volume_fakes.TestVolume):
|
||||
# The resource filters to be listed
|
||||
fake_resource_filter = volume_fakes.create_one_resource_filter()
|
||||
|
||||
@ -118,7 +92,7 @@ class TestBlockStorageResourceFilterShow(TestBlockStorageResourceFilter):
|
||||
)
|
||||
|
||||
def test_resource_filter_show(self):
|
||||
self._set_mock_microversion('3.33')
|
||||
self.set_volume_api_version('3.33')
|
||||
|
||||
arglist = [
|
||||
self.fake_resource_filter.resource,
|
||||
@ -144,7 +118,7 @@ class TestBlockStorageResourceFilterShow(TestBlockStorageResourceFilter):
|
||||
)
|
||||
|
||||
def test_resource_filter_show_pre_v333(self):
|
||||
self._set_mock_microversion('3.32')
|
||||
self.set_volume_api_version('3.32')
|
||||
|
||||
arglist = [
|
||||
self.fake_resource_filter.resource,
|
||||
|
@ -10,17 +10,14 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
import copy
|
||||
from unittest import mock
|
||||
|
||||
from cinderclient import api_versions
|
||||
from openstack.block_storage.v3 import block_storage_summary as _summary
|
||||
from openstack.block_storage.v3 import snapshot as _snapshot
|
||||
from openstack.block_storage.v3 import volume as _volume
|
||||
from openstack.test import fakes as sdk_fakes
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
@ -32,28 +29,6 @@ from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
from openstackclient.volume.v3 import volume
|
||||
|
||||
|
||||
class BaseVolumeTest(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
patcher = mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
)
|
||||
self.addCleanup(patcher.stop)
|
||||
self.supports_microversion_mock = patcher.start()
|
||||
self._set_mock_microversion(
|
||||
self.volume_client.api_version.get_string()
|
||||
)
|
||||
|
||||
def _set_mock_microversion(self, mock_v):
|
||||
"""Set a specific microversion for the mock supports_microversion()."""
|
||||
self.supports_microversion_mock.reset_mock(return_value=True)
|
||||
self.supports_microversion_mock.side_effect = (
|
||||
lambda _, v: api_versions.APIVersion(v)
|
||||
<= api_versions.APIVersion(mock_v)
|
||||
)
|
||||
|
||||
|
||||
# TODO(stephenfin): Combine these two test classes
|
||||
class TestVolumeCreateLegacy(volume_fakes.TestVolume):
|
||||
project = identity_fakes.FakeProject.create_one_project()
|
||||
@ -355,6 +330,8 @@ class TestVolumeCreateLegacy(volume_fakes.TestVolume):
|
||||
self.assertCountEqual(self.datalist, data)
|
||||
|
||||
def test_volume_create_with_backup(self):
|
||||
self.set_volume_api_version('3.47')
|
||||
|
||||
backup = volume_fakes.create_one_backup()
|
||||
self.new_volume.backup_id = backup.id
|
||||
arglist = [
|
||||
@ -370,8 +347,6 @@ class TestVolumeCreateLegacy(volume_fakes.TestVolume):
|
||||
|
||||
self.backups_mock.get.return_value = backup
|
||||
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.47')
|
||||
|
||||
# In base command class ShowOne in cliff, abstract method take_action()
|
||||
# returns a two-part tuple with a tuple of column names and a tuple of
|
||||
# data to be shown.
|
||||
@ -758,7 +733,7 @@ class TestVolumeCreateLegacy(volume_fakes.TestVolume):
|
||||
self.assertCountEqual(self.datalist, data)
|
||||
|
||||
|
||||
class TestVolumeCreate(BaseVolumeTest):
|
||||
class TestVolumeCreate(volume_fakes.TestVolume):
|
||||
columns = (
|
||||
'attachments',
|
||||
'availability_zone',
|
||||
@ -872,7 +847,7 @@ class TestVolumeCreate(BaseVolumeTest):
|
||||
self.assertCountEqual(self.datalist, data)
|
||||
|
||||
def test_volume_create_remote_source_pre_v316(self):
|
||||
self._set_mock_microversion('3.15')
|
||||
self.set_volume_api_version('3.15')
|
||||
arglist = [
|
||||
'--remote-source',
|
||||
'key=val',
|
||||
@ -895,7 +870,7 @@ class TestVolumeCreate(BaseVolumeTest):
|
||||
)
|
||||
|
||||
def test_volume_create_remote_source_host_and_cluster(self):
|
||||
self._set_mock_microversion('3.16')
|
||||
self.set_volume_api_version('3.16')
|
||||
arglist = [
|
||||
'--remote-source',
|
||||
'key=val',
|
||||
@ -987,7 +962,7 @@ class TestVolumeCreate(BaseVolumeTest):
|
||||
)
|
||||
|
||||
|
||||
class TestVolumeDeleteLegacy(BaseVolumeTest):
|
||||
class TestVolumeDeleteLegacy(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -1101,7 +1076,7 @@ class TestVolumeDeleteLegacy(BaseVolumeTest):
|
||||
self.assertIsNone(result)
|
||||
|
||||
|
||||
class TestVolumeDelete(BaseVolumeTest):
|
||||
class TestVolumeDelete(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -2189,7 +2164,7 @@ class TestVolumeUnset(volume_fakes.TestVolume):
|
||||
)
|
||||
|
||||
|
||||
class TestVolumeSummary(BaseVolumeTest):
|
||||
class TestVolumeSummary(volume_fakes.TestVolume):
|
||||
columns = [
|
||||
'Total Count',
|
||||
'Total Size',
|
||||
@ -2211,7 +2186,7 @@ class TestVolumeSummary(BaseVolumeTest):
|
||||
self.cmd = volume.VolumeSummary(self.app, None)
|
||||
|
||||
def test_volume_summary(self):
|
||||
self._set_mock_microversion('3.12')
|
||||
self.set_volume_api_version('3.12')
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
]
|
||||
@ -2246,7 +2221,7 @@ class TestVolumeSummary(BaseVolumeTest):
|
||||
)
|
||||
|
||||
def test_volume_summary_with_metadata(self):
|
||||
self._set_mock_microversion('3.36')
|
||||
self.set_volume_api_version('3.36')
|
||||
|
||||
metadata = {**self.volume_a.metadata, **self.volume_b.metadata}
|
||||
self.summary = sdk_fakes.generate_fake_resource(
|
||||
@ -2282,7 +2257,7 @@ class TestVolumeSummary(BaseVolumeTest):
|
||||
self.assertCountEqual(datalist, tuple(data))
|
||||
|
||||
|
||||
class TestVolumeRevertToSnapshot(BaseVolumeTest):
|
||||
class TestVolumeRevertToSnapshot(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
@ -2314,7 +2289,7 @@ class TestVolumeRevertToSnapshot(BaseVolumeTest):
|
||||
)
|
||||
|
||||
def test_volume_revert_to_snapshot(self):
|
||||
self._set_mock_microversion('3.40')
|
||||
self.set_volume_api_version('3.40')
|
||||
arglist = [
|
||||
self.snapshot.id,
|
||||
]
|
||||
|
@ -10,7 +10,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -78,7 +77,7 @@ class TestVolumeAttachmentCreate(TestVolumeAttachment):
|
||||
self.cmd = volume_attachment.CreateVolumeAttachment(self.app, None)
|
||||
|
||||
def test_volume_attachment_create(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.27')
|
||||
self.set_volume_api_version('3.27')
|
||||
|
||||
arglist = [
|
||||
self.volume.id,
|
||||
@ -113,7 +112,7 @@ class TestVolumeAttachmentCreate(TestVolumeAttachment):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_attachment_create_with_connect(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.54')
|
||||
self.set_volume_api_version('3.54')
|
||||
|
||||
arglist = [
|
||||
self.volume.id,
|
||||
@ -176,7 +175,7 @@ class TestVolumeAttachmentCreate(TestVolumeAttachment):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_attachment_create_pre_v327(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.26')
|
||||
self.set_volume_api_version('3.26')
|
||||
|
||||
arglist = [
|
||||
self.volume.id,
|
||||
@ -196,7 +195,7 @@ class TestVolumeAttachmentCreate(TestVolumeAttachment):
|
||||
)
|
||||
|
||||
def test_volume_attachment_create_with_mode_pre_v354(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.53')
|
||||
self.set_volume_api_version('3.53')
|
||||
|
||||
arglist = [
|
||||
self.volume.id,
|
||||
@ -219,7 +218,7 @@ class TestVolumeAttachmentCreate(TestVolumeAttachment):
|
||||
)
|
||||
|
||||
def test_volume_attachment_create_with_connect_missing_arg(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.54')
|
||||
self.set_volume_api_version('3.54')
|
||||
|
||||
arglist = [
|
||||
self.volume.id,
|
||||
@ -254,7 +253,7 @@ class TestVolumeAttachmentDelete(TestVolumeAttachment):
|
||||
self.cmd = volume_attachment.DeleteVolumeAttachment(self.app, None)
|
||||
|
||||
def test_volume_attachment_delete(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.27')
|
||||
self.set_volume_api_version('3.27')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -272,7 +271,7 @@ class TestVolumeAttachmentDelete(TestVolumeAttachment):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_volume_attachment_delete_pre_v327(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.26')
|
||||
self.set_volume_api_version('3.26')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -324,7 +323,7 @@ class TestVolumeAttachmentSet(TestVolumeAttachment):
|
||||
self.cmd = volume_attachment.SetVolumeAttachment(self.app, None)
|
||||
|
||||
def test_volume_attachment_set(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.27')
|
||||
self.set_volume_api_version('3.27')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -376,7 +375,7 @@ class TestVolumeAttachmentSet(TestVolumeAttachment):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_attachment_set_pre_v327(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.26')
|
||||
self.set_volume_api_version('3.26')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -408,7 +407,7 @@ class TestVolumeAttachmentComplete(TestVolumeAttachment):
|
||||
self.cmd = volume_attachment.CompleteVolumeAttachment(self.app, None)
|
||||
|
||||
def test_volume_attachment_complete(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.44')
|
||||
self.set_volume_api_version('3.44')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -426,7 +425,7 @@ class TestVolumeAttachmentComplete(TestVolumeAttachment):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_volume_attachment_complete_pre_v344(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.43')
|
||||
self.set_volume_api_version('3.43')
|
||||
|
||||
arglist = [
|
||||
self.volume_attachment.id,
|
||||
@ -475,7 +474,7 @@ class TestVolumeAttachmentList(TestVolumeAttachment):
|
||||
self.cmd = volume_attachment.ListVolumeAttachment(self.app, None)
|
||||
|
||||
def test_volume_attachment_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.27')
|
||||
self.set_volume_api_version('3.27')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -504,7 +503,7 @@ class TestVolumeAttachmentList(TestVolumeAttachment):
|
||||
self.assertCountEqual(tuple(self.data), data)
|
||||
|
||||
def test_volume_attachment_list_with_options(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.27')
|
||||
self.set_volume_api_version('3.27')
|
||||
|
||||
arglist = [
|
||||
'--project',
|
||||
@ -544,7 +543,7 @@ class TestVolumeAttachmentList(TestVolumeAttachment):
|
||||
self.assertCountEqual(tuple(self.data), data)
|
||||
|
||||
def test_volume_attachment_list_pre_v327(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.26')
|
||||
self.set_volume_api_version('3.26')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
|
@ -10,13 +10,9 @@
|
||||
# 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 unittest import mock
|
||||
from unittest.mock import call
|
||||
|
||||
from cinderclient import api_versions
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
@ -37,29 +33,7 @@ class TestBackupLegacy(volume_fakes.TestVolume):
|
||||
self.restores_mock.reset_mock()
|
||||
|
||||
|
||||
class TestBackup(volume_fakes.TestVolume):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
patcher = mock.patch.object(
|
||||
sdk_utils, 'supports_microversion', return_value=True
|
||||
)
|
||||
self.addCleanup(patcher.stop)
|
||||
self.supports_microversion_mock = patcher.start()
|
||||
self._set_mock_microversion(
|
||||
self.app.client_manager.volume.api_version.get_string()
|
||||
)
|
||||
|
||||
def _set_mock_microversion(self, mock_v):
|
||||
"""Set a specific microversion for the mock supports_microversion()."""
|
||||
self.supports_microversion_mock.reset_mock(return_value=True)
|
||||
self.supports_microversion_mock.side_effect = (
|
||||
lambda _, v: api_versions.APIVersion(v)
|
||||
<= api_versions.APIVersion(mock_v)
|
||||
)
|
||||
|
||||
|
||||
class TestBackupCreate(TestBackup):
|
||||
class TestBackupCreate(volume_fakes.TestVolume):
|
||||
volume = volume_fakes.create_one_volume()
|
||||
snapshot = volume_fakes.create_one_snapshot()
|
||||
new_backup = volume_fakes.create_one_backup(
|
||||
@ -127,7 +101,7 @@ class TestBackupCreate(TestBackup):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_backup_create_with_properties(self):
|
||||
self._set_mock_microversion('3.43')
|
||||
self.set_volume_api_version('3.43')
|
||||
|
||||
arglist = [
|
||||
"--property",
|
||||
@ -157,7 +131,7 @@ class TestBackupCreate(TestBackup):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_backup_create_with_properties_pre_v343(self):
|
||||
self._set_mock_microversion('3.42')
|
||||
self.set_volume_api_version('3.42')
|
||||
|
||||
arglist = [
|
||||
"--property",
|
||||
@ -178,7 +152,7 @@ class TestBackupCreate(TestBackup):
|
||||
self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
|
||||
|
||||
def test_backup_create_with_availability_zone(self):
|
||||
self._set_mock_microversion('3.51')
|
||||
self.set_volume_api_version('3.51')
|
||||
|
||||
arglist = [
|
||||
"--availability-zone",
|
||||
@ -206,7 +180,7 @@ class TestBackupCreate(TestBackup):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_backup_create_with_availability_zone_pre_v351(self):
|
||||
self._set_mock_microversion('3.50')
|
||||
self.set_volume_api_version('3.50')
|
||||
|
||||
arglist = [
|
||||
"--availability-zone",
|
||||
@ -253,7 +227,7 @@ class TestBackupCreate(TestBackup):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
|
||||
class TestBackupDelete(TestBackup):
|
||||
class TestBackupDelete(volume_fakes.TestVolume):
|
||||
backups = volume_fakes.create_backups(count=2)
|
||||
|
||||
def setUp(self):
|
||||
@ -346,7 +320,7 @@ class TestBackupDelete(TestBackup):
|
||||
)
|
||||
|
||||
|
||||
class TestBackupList(TestBackup):
|
||||
class TestBackupList(volume_fakes.TestVolume):
|
||||
volume = volume_fakes.create_one_volume()
|
||||
backups = volume_fakes.create_backups(
|
||||
attrs={'volume_id': volume.name}, count=3
|
||||
@ -479,7 +453,7 @@ class TestBackupList(TestBackup):
|
||||
self.assertCountEqual(self.data_long, list(data))
|
||||
|
||||
|
||||
class TestBackupRestore(TestBackup):
|
||||
class TestBackupRestore(volume_fakes.TestVolume):
|
||||
volume = volume_fakes.create_one_volume()
|
||||
backup = volume_fakes.create_one_backup(
|
||||
attrs={'volume_id': volume.id},
|
||||
@ -593,7 +567,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.cmd = volume_backup.SetVolumeBackup(self.app, None)
|
||||
|
||||
def test_backup_set_name(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.9')
|
||||
self.set_volume_api_version('3.9')
|
||||
|
||||
arglist = [
|
||||
'--name',
|
||||
@ -615,7 +589,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_backup_set_name_pre_v39(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'--name',
|
||||
@ -634,7 +608,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIn("--os-volume-api-version 3.9 or greater", str(exc))
|
||||
|
||||
def test_backup_set_description(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.9')
|
||||
self.set_volume_api_version('3.9')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
@ -658,7 +632,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_backup_set_description_pre_v39(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.8')
|
||||
self.set_volume_api_version('3.8')
|
||||
|
||||
arglist = [
|
||||
'--description',
|
||||
@ -707,7 +681,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
)
|
||||
|
||||
def test_backup_set_no_property(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.43')
|
||||
self.set_volume_api_version('3.43')
|
||||
|
||||
arglist = [
|
||||
'--no-property',
|
||||
@ -731,7 +705,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_backup_set_no_property_pre_v343(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.42')
|
||||
self.set_volume_api_version('3.42')
|
||||
|
||||
arglist = [
|
||||
'--no-property',
|
||||
@ -749,7 +723,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
|
||||
|
||||
def test_backup_set_property(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.43')
|
||||
self.set_volume_api_version('3.43')
|
||||
|
||||
arglist = [
|
||||
'--property',
|
||||
@ -774,7 +748,7 @@ class TestBackupSet(TestBackupLegacy):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_backup_set_property_pre_v343(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.42')
|
||||
self.set_volume_api_version('3.42')
|
||||
|
||||
arglist = [
|
||||
'--property',
|
||||
@ -807,7 +781,7 @@ class TestBackupUnset(TestBackupLegacy):
|
||||
self.cmd = volume_backup.UnsetVolumeBackup(self.app, None)
|
||||
|
||||
def test_backup_unset_property(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.43')
|
||||
self.set_volume_api_version('3.43')
|
||||
|
||||
arglist = [
|
||||
'--property',
|
||||
@ -832,7 +806,7 @@ class TestBackupUnset(TestBackupLegacy):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_backup_unset_property_pre_v343(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.42')
|
||||
self.set_volume_api_version('3.42')
|
||||
|
||||
arglist = [
|
||||
'--property',
|
||||
@ -851,7 +825,7 @@ class TestBackupUnset(TestBackupLegacy):
|
||||
self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
|
||||
|
||||
|
||||
class TestBackupShow(TestBackup):
|
||||
class TestBackupShow(volume_fakes.TestVolume):
|
||||
backup = volume_fakes.create_one_backup()
|
||||
|
||||
columns = (
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit import utils as tests_utils
|
||||
@ -96,7 +95,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
self.cmd = volume_group.CreateVolumeGroup(self.app, None)
|
||||
|
||||
def test_volume_group_create(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
'--volume-group-type',
|
||||
@ -132,7 +131,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_create__legacy(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -172,7 +171,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
)
|
||||
|
||||
def test_volume_group_create_no_volume_type(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
'--volume-group-type',
|
||||
@ -194,7 +193,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
)
|
||||
|
||||
def test_volume_group_create_with_options(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
'--volume-group-type',
|
||||
@ -236,7 +235,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_create_pre_v313(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.12')
|
||||
self.set_volume_api_version('3.12')
|
||||
|
||||
arglist = [
|
||||
'--volume-group-type',
|
||||
@ -261,7 +260,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
)
|
||||
|
||||
def test_volume_group_create_from_source_group(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.14')
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
'--source-group',
|
||||
@ -290,7 +289,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_create_from_group_snapshot(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.14')
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
'--group-snapshot',
|
||||
@ -319,7 +318,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_create_from_src_pre_v314(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
'--source-group',
|
||||
@ -338,7 +337,7 @@ class TestVolumeGroupCreate(TestVolumeGroup):
|
||||
)
|
||||
|
||||
def test_volume_group_create_from_src_source_group_group_snapshot(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.14')
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
'--source-group',
|
||||
@ -376,7 +375,7 @@ class TestVolumeGroupDelete(TestVolumeGroup):
|
||||
self.cmd = volume_group.DeleteVolumeGroup(self.app, None)
|
||||
|
||||
def test_volume_group_delete(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -397,7 +396,7 @@ class TestVolumeGroupDelete(TestVolumeGroup):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_volume_group_delete_pre_v313(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.12')
|
||||
self.set_volume_api_version('3.12')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -455,7 +454,7 @@ class TestVolumeGroupSet(TestVolumeGroup):
|
||||
self.cmd = volume_group.SetVolumeGroup(self.app, None)
|
||||
|
||||
def test_volume_group_set(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -482,7 +481,7 @@ class TestVolumeGroupSet(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_with_enable_replication_option(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.38')
|
||||
self.set_volume_api_version('3.38')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -503,7 +502,7 @@ class TestVolumeGroupSet(TestVolumeGroup):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_set_pre_v313(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.12')
|
||||
self.set_volume_api_version('3.12')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -527,7 +526,7 @@ class TestVolumeGroupSet(TestVolumeGroup):
|
||||
)
|
||||
|
||||
def test_volume_group_with_enable_replication_option_pre_v338(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.37')
|
||||
self.set_volume_api_version('3.37')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -572,7 +571,7 @@ class TestVolumeGroupList(TestVolumeGroup):
|
||||
self.cmd = volume_group.ListVolumeGroup(self.app, None)
|
||||
|
||||
def test_volume_group_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.13')
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
@ -593,7 +592,7 @@ class TestVolumeGroupList(TestVolumeGroup):
|
||||
self.assertCountEqual(tuple(self.data), data)
|
||||
|
||||
def test_volume_group_list_pre_v313(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.12')
|
||||
self.set_volume_api_version('3.12')
|
||||
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
@ -623,7 +622,7 @@ class TestVolumeGroupFailover(TestVolumeGroup):
|
||||
self.cmd = volume_group.FailoverVolumeGroup(self.app, None)
|
||||
|
||||
def test_volume_group_failover(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.38')
|
||||
self.set_volume_api_version('3.38')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -648,7 +647,7 @@ class TestVolumeGroupFailover(TestVolumeGroup):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_volume_group_failover_pre_v338(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.37')
|
||||
self.set_volume_api_version('3.37')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
|
@ -10,28 +10,15 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from keystoneauth1 import discover
|
||||
from openstack.block_storage.v3 import group as _group
|
||||
from openstack.block_storage.v3 import group_snapshot as _group_snapshot
|
||||
from openstack.test import fakes as sdk_fakes
|
||||
from openstack import utils as sdk_utils
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
|
||||
from openstackclient.volume.v3 import volume_group_snapshot
|
||||
|
||||
|
||||
def fake_supports_microversion(mocked_version):
|
||||
def supports_microversion(adapter, microversion, raise_exception=False):
|
||||
required = discover.normalize_version_number(microversion)
|
||||
candidate = discover.normalize_version_number(mocked_version)
|
||||
return discover.version_match(required, candidate)
|
||||
|
||||
return supports_microversion
|
||||
|
||||
|
||||
class TestVolumeGroupSnapshotCreate(volume_fakes.TestVolume):
|
||||
fake_volume_group = sdk_fakes.generate_fake_resource(_group.Group)
|
||||
fake_volume_group_snapshot = sdk_fakes.generate_fake_resource(
|
||||
@ -70,9 +57,8 @@ class TestVolumeGroupSnapshotCreate(volume_fakes.TestVolume):
|
||||
self.app, None
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_create(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.14')
|
||||
def test_volume_group_snapshot_create(self):
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -99,9 +85,8 @@ class TestVolumeGroupSnapshotCreate(volume_fakes.TestVolume):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_create_with_options(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.14')
|
||||
def test_volume_group_snapshot_create_with_options(self):
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -132,9 +117,8 @@ class TestVolumeGroupSnapshotCreate(volume_fakes.TestVolume):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_create_pre_v314(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.13')
|
||||
def test_volume_group_snapshot_create_pre_v314(self):
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group.id,
|
||||
@ -174,9 +158,8 @@ class TestVolumeGroupSnapshotDelete(volume_fakes.TestVolume):
|
||||
self.app, None
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_delete(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.14')
|
||||
def test_volume_group_snapshot_delete(self):
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_snapshot.id,
|
||||
@ -193,9 +176,8 @@ class TestVolumeGroupSnapshotDelete(volume_fakes.TestVolume):
|
||||
)
|
||||
self.assertIsNone(result)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_delete_pre_v314(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.13')
|
||||
def test_volume_group_snapshot_delete_pre_v314(self):
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_snapshot.id,
|
||||
@ -249,9 +231,8 @@ class TestVolumeGroupSnapshotList(volume_fakes.TestVolume):
|
||||
self.app, None
|
||||
)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_list(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.14')
|
||||
def test_volume_group_snapshot_list(self):
|
||||
self.set_volume_api_version('3.14')
|
||||
|
||||
arglist = [
|
||||
'--all-projects',
|
||||
@ -269,9 +250,8 @@ class TestVolumeGroupSnapshotList(volume_fakes.TestVolume):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertCountEqual(tuple(self.data), data)
|
||||
|
||||
@mock.patch.object(sdk_utils, 'supports_microversion')
|
||||
def test_volume_group_snapshot_list_pre_v314(self, mock_mv):
|
||||
mock_mv.side_effect = fake_supports_microversion('3.13')
|
||||
def test_volume_group_snapshot_list_pre_v314(self):
|
||||
self.set_volume_api_version('3.13')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
from unittest import mock
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
|
||||
@ -56,7 +55,7 @@ class TestVolumeGroupTypeCreate(TestVolumeGroupType):
|
||||
self.cmd = volume_group_type.CreateVolumeGroupType(self.app, None)
|
||||
|
||||
def test_volume_group_type_create(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.name,
|
||||
@ -77,7 +76,7 @@ class TestVolumeGroupTypeCreate(TestVolumeGroupType):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_type_create_with_options(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.name,
|
||||
@ -101,7 +100,7 @@ class TestVolumeGroupTypeCreate(TestVolumeGroupType):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_type_create_pre_v311(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.10')
|
||||
self.set_volume_api_version('3.10')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.name,
|
||||
@ -135,7 +134,7 @@ class TestVolumeGroupTypeDelete(TestVolumeGroupType):
|
||||
self.cmd = volume_group_type.DeleteVolumeGroupType(self.app, None)
|
||||
|
||||
def test_volume_group_type_delete(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -153,7 +152,7 @@ class TestVolumeGroupTypeDelete(TestVolumeGroupType):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_volume_group_type_delete_pre_v311(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.10')
|
||||
self.set_volume_api_version('3.10')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -208,7 +207,7 @@ class TestVolumeGroupTypeSet(TestVolumeGroupType):
|
||||
self.cmd = volume_group_type.SetVolumeGroupType(self.app, None)
|
||||
|
||||
def test_volume_group_type_set(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
self.fake_volume_group_type.set_keys.return_value = None
|
||||
|
||||
@ -247,7 +246,7 @@ class TestVolumeGroupTypeSet(TestVolumeGroupType):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_type_with_no_property_option(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -278,7 +277,7 @@ class TestVolumeGroupTypeSet(TestVolumeGroupType):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_type_set_pre_v311(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.10')
|
||||
self.set_volume_api_version('3.10')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -335,7 +334,7 @@ class TestVolumeGroupTypeUnset(TestVolumeGroupType):
|
||||
self.cmd = volume_group_type.UnsetVolumeGroupType(self.app, None)
|
||||
|
||||
def test_volume_group_type_unset(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -363,7 +362,7 @@ class TestVolumeGroupTypeUnset(TestVolumeGroupType):
|
||||
self.assertCountEqual(self.data, data)
|
||||
|
||||
def test_volume_group_type_unset_pre_v311(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.10')
|
||||
self.set_volume_api_version('3.10')
|
||||
|
||||
arglist = [
|
||||
self.fake_volume_group_type.id,
|
||||
@ -416,7 +415,7 @@ class TestVolumeGroupTypeList(TestVolumeGroupType):
|
||||
self.cmd = volume_group_type.ListVolumeGroupType(self.app, None)
|
||||
|
||||
def test_volume_group_type_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -431,7 +430,7 @@ class TestVolumeGroupTypeList(TestVolumeGroupType):
|
||||
self.assertCountEqual(tuple(self.data), data)
|
||||
|
||||
def test_volume_group_type_list_with_default_option(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.11')
|
||||
self.set_volume_api_version('3.11')
|
||||
|
||||
arglist = [
|
||||
'--default',
|
||||
@ -448,7 +447,7 @@ class TestVolumeGroupTypeList(TestVolumeGroupType):
|
||||
self.assertCountEqual(tuple([self.data[0]]), data)
|
||||
|
||||
def test_volume_group_type_list_pre_v311(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.10')
|
||||
self.set_volume_api_version('3.10')
|
||||
|
||||
arglist = []
|
||||
verifylist = []
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
from unittest.mock import call
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
|
||||
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
|
||||
@ -46,7 +45,7 @@ class TestVolumeMessageDelete(TestVolumeMessage):
|
||||
self.cmd = volume_message.DeleteMessage(self.app, None)
|
||||
|
||||
def test_message_delete(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = [
|
||||
self.fake_messages[0].id,
|
||||
@ -64,7 +63,7 @@ class TestVolumeMessageDelete(TestVolumeMessage):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_message_delete_multiple_messages(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = [
|
||||
self.fake_messages[0].id,
|
||||
@ -84,7 +83,7 @@ class TestVolumeMessageDelete(TestVolumeMessage):
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_message_delete_multiple_messages_with_exception(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = [
|
||||
self.fake_messages[0].id,
|
||||
@ -114,7 +113,7 @@ class TestVolumeMessageDelete(TestVolumeMessage):
|
||||
self.assertEqual(2, self.volume_messages_mock.delete.call_count)
|
||||
|
||||
def test_message_delete_pre_v33(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.2')
|
||||
self.set_volume_api_version('3.2')
|
||||
|
||||
arglist = [
|
||||
self.fake_messages[0].id,
|
||||
@ -172,7 +171,7 @@ class TestVolumeMessageList(TestVolumeMessage):
|
||||
self.cmd = volume_message.ListMessages(self.app, None)
|
||||
|
||||
def test_message_list(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -196,7 +195,7 @@ class TestVolumeMessageList(TestVolumeMessage):
|
||||
self.assertCountEqual(self.data, list(data))
|
||||
|
||||
def test_message_list_with_options(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = [
|
||||
'--project',
|
||||
@ -227,7 +226,7 @@ class TestVolumeMessageList(TestVolumeMessage):
|
||||
self.assertCountEqual(self.data, list(data))
|
||||
|
||||
def test_message_list_pre_v33(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.2')
|
||||
self.set_volume_api_version('3.2')
|
||||
|
||||
arglist = []
|
||||
verifylist = [
|
||||
@ -280,7 +279,7 @@ class TestVolumeMessageShow(TestVolumeMessage):
|
||||
self.cmd = volume_message.ShowMessage(self.app, None)
|
||||
|
||||
def test_message_show(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.3')
|
||||
self.set_volume_api_version('3.3')
|
||||
|
||||
arglist = [self.fake_message.id]
|
||||
verifylist = [('message_id', self.fake_message.id)]
|
||||
@ -293,7 +292,7 @@ class TestVolumeMessageShow(TestVolumeMessage):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_message_show_pre_v33(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.2')
|
||||
self.set_volume_api_version('3.2')
|
||||
|
||||
arglist = [self.fake_message.id]
|
||||
verifylist = [('message_id', self.fake_message.id)]
|
||||
|
@ -15,7 +15,6 @@
|
||||
from unittest import mock
|
||||
from unittest.mock import call
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
|
||||
@ -177,7 +176,7 @@ class TestTransferCreate(TestTransfer):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_transfer_create_with_no_snapshots(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.55')
|
||||
self.set_volume_api_version('3.55')
|
||||
|
||||
arglist = [
|
||||
'--no-snapshots',
|
||||
@ -199,7 +198,7 @@ class TestTransferCreate(TestTransfer):
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_transfer_create_pre_v355(self):
|
||||
self.volume_client.api_version = api_versions.APIVersion('3.54')
|
||||
self.set_volume_api_version('3.54')
|
||||
|
||||
arglist = [
|
||||
'--no-snapshots',
|
||||
|
@ -14,7 +14,6 @@
|
||||
from unittest import mock
|
||||
from unittest.mock import call
|
||||
|
||||
from cinderclient import api_versions
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
@ -434,9 +433,7 @@ class TestTypeList(TestType):
|
||||
self.assertCountEqual(self.data_with_default_type, list(data))
|
||||
|
||||
def test_type_list_with_properties(self):
|
||||
self.app.client_manager.volume.api_version = api_versions.APIVersion(
|
||||
'3.52'
|
||||
)
|
||||
self.set_volume_api_version('3.52')
|
||||
|
||||
arglist = [
|
||||
"--property",
|
||||
@ -477,9 +474,7 @@ class TestTypeList(TestType):
|
||||
self.assertCountEqual(self.data, list(data))
|
||||
|
||||
def test_type_list_with_properties_pre_v352(self):
|
||||
self.app.client_manager.volume.api_version = api_versions.APIVersion(
|
||||
'3.51'
|
||||
)
|
||||
self.set_volume_api_version('3.51')
|
||||
|
||||
arglist = [
|
||||
"--property",
|
||||
|
Loading…
x
Reference in New Issue
Block a user