diff --git a/src/azure-cli/azure/cli/command_modules/aro/_validators.py b/src/azure-cli/azure/cli/command_modules/aro/_validators.py index 13a3a0d3864..3f1bd66e665 100644 --- a/src/azure-cli/azure/cli/command_modules/aro/_validators.py +++ b/src/azure-cli/azure/cli/command_modules/aro/_validators.py @@ -97,10 +97,12 @@ def validate_disk_encryption_set(cmd, namespace): f"Invalid --disk-encryption-set '{namespace.disk_encryption_set}', has to be a resource ID.") desid = parse_resource_id(namespace.disk_encryption_set) - compute_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_COMPUTE) + from azure.cli.command_modules.vm.aaz.latest.disk_encryption_set import Show try: - compute_client.disk_encryption_sets.get(resource_group_name=desid['resource_group'], - disk_encryption_set_name=desid['name']) + Show(cli_ctx=cmd.cli_ctx)(command_args={ + 'resource_group': desid['resource_group'], + 'disk_encryption_set_name': desid['name'] + }) except HttpResponseError as err: raise InvalidArgumentValueError( f"Invalid --disk-encryption-set, error when getting '{namespace.disk_encryption_set}':" diff --git a/src/azure-cli/azure/cli/command_modules/aro/tests/latest/unit/test_validators.py b/src/azure-cli/azure/cli/command_modules/aro/tests/latest/unit/test_validators.py index bf053a44706..97b4db11b5d 100644 --- a/src/azure-cli/azure/cli/command_modules/aro/tests/latest/unit/test_validators.py +++ b/src/azure-cli/azure/cli/command_modules/aro/tests/latest/unit/test_validators.py @@ -275,41 +275,37 @@ def test_validate_cluster_resource_group(get_mgmt_service_client_mock, test_desc None ), ( - "should not raise any exception when compute_client.disk_encryption_sets.get() not raises CludError exception", + "should not raise any exception when the AAZ disk encryption set show command succeeds", Mock(cli_ctx=None), Mock(disk_encryption_set="something different than None"), True, Mock(), None, - {"resource_group": None, "name": None} + {"resource_group": "des-resource-group", "name": "des-name"} ) ] @pytest.mark.parametrize( - "test_description, cmd_mock, namespace, is_valid_resource_id_return_value, compute_client_mock, expected_exception, parse_resource_id_mock_return_value", + "test_description, cmd_mock, namespace, is_valid_resource_id_return_value, show_mock, expected_exception, parse_resource_id_mock_return_value", test_validate_disk_encryption_set_data, ids=[i[0] for i in test_validate_disk_encryption_set_data] ) -@patch('azure.cli.command_modules.aro._validators.get_mgmt_service_client') +@patch('azure.cli.command_modules.vm.aaz.latest.disk_encryption_set.Show') @patch('azure.cli.command_modules.aro._validators.parse_resource_id') @patch('azure.cli.command_modules.aro._validators.is_valid_resource_id') def test_validate_disk_encryption_set( - # Mocks: is_valid_resource_id_mock, parse_resource_id_mock, - get_mgmt_service_client_mock, - - # Test cases parameters: + aaz_show_mock, test_description, cmd_mock, namespace, is_valid_resource_id_return_value, - compute_client_mock, expected_exception, parse_resource_id_mock_return_value + show_mock, expected_exception, parse_resource_id_mock_return_value ): is_valid_resource_id_mock.return_value = is_valid_resource_id_return_value parse_resource_id_mock.return_value = parse_resource_id_mock_return_value - if compute_client_mock is not None: - compute_client_mock.get.return_value = None - get_mgmt_service_client_mock.return_value = compute_client_mock + if show_mock is not None: + aaz_show_mock.return_value = show_mock if expected_exception is None: validate_disk_encryption_set(cmd_mock, namespace) @@ -317,6 +313,13 @@ def test_validate_disk_encryption_set( with pytest.raises(expected_exception): validate_disk_encryption_set(cmd_mock, namespace) + if show_mock is not None: + aaz_show_mock.assert_called_once_with(cli_ctx=cmd_mock.cli_ctx) + show_mock.assert_called_once_with(command_args={ + 'resource_group': 'des-resource-group', + 'disk_encryption_set_name': 'des-name' + }) + test_validate_domain_data = [ (