Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -433,26 +433,32 @@ def test_acr_identity(self, resource_group):
self.assertEquals(list(result['userAssignedIdentities'].keys())[0].lower(), self.kwargs['identity_id'].lower())

# remove identities
import time
time.sleep(10)
self.cmd('acr identity remove --name {registry_name} --identities "{system_identity}" "{identity_id}"', self.check('identity', None))

# try different combinations of adds and deletes
# system
self.cmd('acr identity assign --name {registry_name} --identities {system_identity}', self.check('identity.type', 'SystemAssigned'))
time.sleep(10)
self.cmd('acr identity remove --name {registry_name} --identities {system_identity}', self.check('identity', None))
# user
self.cmd('acr identity assign --name {registry_name} --identities {identity_id}', self.check('identity.type', 'UserAssigned'))
time.sleep(10)
self.cmd('acr identity remove --name {registry_name} --identities {identity_id}', self.check('identity', None))

# add multiple identities
result = self.cmd('acr identity assign --name {registry_name} --identities "{system_identity}" "{identity_id}"',
self.check('identity.type', 'SystemAssigned, UserAssigned')).get_output_in_json()
self.assertUserIdentitiesExpected([self.kwargs['identity_id'].lower()], result['identity'])
# add another user identity to existing
time.sleep(10)
result = self.cmd('acr identity assign --name {registry_name} --identities {second_identity_id}',
self.check('identity.type', 'SystemAssigned, UserAssigned')).get_output_in_json()
self.assertUserIdentitiesExpected([self.kwargs['identity_id'].lower(), self.kwargs['second_identity_id'].lower()], result['identity'])

# remove identities and validate result
time.sleep(10)
self.cmd('acr identity remove --name {registry_name} --identities {second_identity_id}', self.check('identity.type', 'SystemAssigned, UserAssigned'))

self.cmd('acr identity remove --name {registry_name} --identities {identity_id}', self.check('identity.type', 'SystemAssigned'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@ def test_create_names_are_substrings(self, resource_group_one, resource_group_tw


class BackupWithName(ScenarioTest):
@AllowLargeResponse()
@ResourceGroupPreparer(parameter_name='resource_group', location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_backup_with_name(self, resource_group):
plan = self.create_random_name(prefix='plan-backup', length=24)
Expand Down Expand Up @@ -3003,6 +3004,7 @@ def test_webapp_hybridconnectionE2E(self, resource_group):
JMESPathCheck('length(@)', 0)
])

@AllowLargeResponse()
@ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_webapp_vnetE2E(self, resource_group):
webapp_name = self.create_random_name('swiftwebapp', 24)
Expand All @@ -3028,6 +3030,7 @@ def test_webapp_vnetE2E(self, resource_group):
JMESPathCheck('length(@)', 0)
])

@AllowLargeResponse()
@ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_webapp_vnetDelegation(self, resource_group):
webapp_name = self.create_random_name('swiftwebapp', 24)
Expand Down Expand Up @@ -3058,6 +3061,7 @@ def test_webapp_vnetDelegation(self, resource_group):
JMESPathCheck('length(@)', 0)
])

@AllowLargeResponse()
@ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP)
def test_webapp_vnetSameName(self, resource_group):
resource_group_2 = self.create_random_name('swiftwebapp', 24)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
# pylint: disable=line-too-long


class VaultPreparer(AbstractPreparer, SingleValueReplacer):
class VaultPreparer(AbstractPreparer, SingleValueReplacer): # pylint: disable=too-many-instance-attributes
def __init__(self, name_prefix='clitest-vault', parameter_name='vault_name',
resource_group_location_parameter_name='resource_group_location',
resource_group_parameter_name='resource_group',
dev_setting_name='AZURE_CLI_TEST_DEV_BACKUP_ACCT_NAME'):
dev_setting_name='AZURE_CLI_TEST_DEV_BACKUP_ACCT_NAME', soft_delete=True):
super(VaultPreparer, self).__init__(name_prefix, 24)
from azure.cli.core.mock import DummyCli
self.cli_ctx = DummyCli()
Expand All @@ -27,14 +27,17 @@ def __init__(self, name_prefix='clitest-vault', parameter_name='vault_name',
self.location = None
self.resource_group_location_parameter_name = resource_group_location_parameter_name
self.dev_setting_value = os.environ.get(dev_setting_name, None)
self.soft_delete = soft_delete

def create_resource(self, name, **kwargs):
if not self.dev_setting_value:
self.resource_group = self._get_resource_group(**kwargs)
self.location = self._get_resource_group_location(**kwargs)
cmd = 'az backup vault create -n {} -g {} --location {}'.format(name, self.resource_group, self.location)

execute(self.cli_ctx, cmd)
if not self.soft_delete:
cmd = 'az backup vault backup-properties set -n {} -g {} --soft-delete-feature-state Disable'.format(name, self.resource_group)
execute(self.cli_ctx, cmd)
return {self.parameter_name: name}
return {self.parameter_name: self.dev_setting_value}

Expand Down Expand Up @@ -69,7 +72,12 @@ def _cleanup(self, vault_name, resource_group):
execute(self.cli_ctx,
'az backup protection disable --backup-management-type AzureIaasVM --workload-type VM -g {} -v {} -c {} -i {} --delete-backup-data true --yes'
.format(resource_group, vault_name, container, item))
execute(self.cli_ctx, 'az backup vault delete -n {} -g {} --yes'.format(vault_name, resource_group))
from msrestazure.azure_exceptions import CloudError
try:
execute(self.cli_ctx, 'az backup vault delete -n {} -g {} --yes'.format(vault_name, resource_group))
except CloudError as ex:
if 'Recovery Services vault cannot be deleted as there are backup items in soft deleted state in the vault' not in str(ex):
raise ex


class VMPreparer(AbstractPreparer, SingleValueReplacer):
Expand Down
Loading