Tag scenario tests and enhanced interactive testing debugging.

This commit is contained in:
Travis Prescott 2016-05-16 17:11:40 -07:00
Родитель 6e2e99327c
Коммит 515e96939f
12 изменённых файлов: 844 добавлений и 902 удалений

Просмотреть файл

@ -61,6 +61,9 @@
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\provider_resource_type.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\provider_resource_type.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\template_link.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\template_link.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_acs\lib\models\__init__.py" />
<Compile Include="command_modules\azure-cli-component\azure\cli\command_modules\component\custom.py" />
<Compile Include="command_modules\azure-cli-component\azure\cli\command_modules\component\generated.py" />
<Compile Include="command_modules\azure-cli-component\azure\cli\command_modules\component\_params.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\custom.py" /> <Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\custom.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\generated.py" /> <Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\generated.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_public_ip\lib\credentials.py" /> <Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_public_ip\lib\credentials.py" />
@ -134,8 +137,6 @@
<Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\generated.py"> <Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\generated.py">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\tests\command_specs.py" />
<Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\tests\test_commands.py" />
<Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\_params.py"> <Compile Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\_params.py">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
@ -195,6 +196,7 @@
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\models\template_link.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\models\template_link.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\models\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\models\__init__.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\operations\avail_set_operations.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\operations\avail_set_operations.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\operations\vm_operations.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\operations\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\operations\__init__.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\version.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\version.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\lib\__init__.py" />
@ -240,6 +242,7 @@
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\vm_creation_client.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\vm_creation_client.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\__init__.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\__init__.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\tests\command_specs_vm_create.py" />
<Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\tests\test_custom_vm_commands.py" /> <Compile Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\tests\test_custom_vm_commands.py" />
<Compile Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\test_resource_list_odata_filter.py" /> <Compile Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\test_resource_list_odata_filter.py" />
<Compile Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\test_api_check.py"> <Compile Include="command_modules\azure-cli-resource\azure\cli\command_modules\resource\tests\test_api_check.py">
@ -400,8 +403,6 @@
<Folder Include="command_modules\azure-cli-profile\azure\cli\" /> <Folder Include="command_modules\azure-cli-profile\azure\cli\" />
<Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\" /> <Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\" />
<Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\" /> <Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\" />
<Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\tests\" />
<Folder Include="command_modules\azure-cli-profile\azure\cli\command_modules\profile\tests\recordings\" />
<Folder Include="command_modules\azure-cli-resource\" /> <Folder Include="command_modules\azure-cli-resource\" />
<Folder Include="command_modules\azure-cli-resource\azure\" /> <Folder Include="command_modules\azure-cli-resource\azure\" />
<Folder Include="command_modules\azure-cli-resource\azure\cli\" /> <Folder Include="command_modules\azure-cli-resource\azure\cli\" />
@ -445,9 +446,7 @@
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\__pycache__\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\nested_templates\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\nested_templates\" />
<Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\" /> <Folder Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_avail_set\" />
@ -481,6 +480,9 @@
<Content Include="command_modules\azure-cli-profile\requirements.txt" /> <Content Include="command_modules\azure-cli-profile\requirements.txt" />
<Content Include="command_modules\azure-cli-resource\requirements.txt" /> <Content Include="command_modules\azure-cli-resource\requirements.txt" />
<Content Include="command_modules\azure-cli-role\azure\cli\command_modules\role\tests\recordings\expected_results.res" /> <Content Include="command_modules\azure-cli-role\azure\cli\command_modules\role\tests\recordings\expected_results.res" />
<Content Include="command_modules\azure-cli-role\azure\cli\command_modules\role\tests\recordings\test_role_assignment_scenario.yaml" />
<Content Include="command_modules\azure-cli-role\azure\cli\command_modules\role\tests\recordings\test_role_scenario.yaml" />
<Content Include="command_modules\azure-cli-role\README.rst" />
<Content Include="command_modules\azure-cli-role\requirements.txt" /> <Content Include="command_modules\azure-cli-role\requirements.txt" />
<Content Include="command_modules\azure-cli-storage\requirements.txt" /> <Content Include="command_modules\azure-cli-storage\requirements.txt" />
<Content Include="command_modules\azure-cli-taskhelp\requirements.txt" /> <Content Include="command_modules\azure-cli-taskhelp\requirements.txt" />
@ -499,37 +501,6 @@
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vmss_create\nested_templates\VNet_new.json" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vmss_create\nested_templates\VNet_new.json" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vmss_create\swagger_create_vmss.json" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vmss_create\swagger_create_vmss.json" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\azuredeploy.json" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\azuredeploy.json" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\basic_dependency.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\dependency.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\deployment_extended.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\deployment_parameter_artifacts_location.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\deployment_properties_extended.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\deployment_vm.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\parameters_link.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\provider.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\provider_resource_type.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\template_link.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\vm_creation_client_enums.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__init__.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\basic_dependency.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\dependency.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\deployment_extended.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\deployment_parameter_artifacts_location.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\deployment_properties_extended.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\deployment_vm.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\parameters_link.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\provider.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\provider_resource_type.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\template_link.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\vm_creation_client_enums.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\models\__pycache__\__init__.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\vm_operations.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\__init__.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\__pycache__\vm_operations.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\operations\__pycache__\__init__.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\version.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\vm_creation_client.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__init__.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\version.cpython-35.pyc" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\version.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\vm_creation_client.cpython-35.pyc" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\vm_creation_client.cpython-35.pyc" />
<Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\__init__.cpython-35.pyc" /> <Content Include="command_modules\azure-cli-vm\azure\cli\command_modules\vm\mgmt_vm_create\lib\__pycache__\__init__.cpython-35.pyc" />

Просмотреть файл

@ -36,9 +36,6 @@ def _format_entry(obj):
new_list = [_format_entry(x) for x in obj] new_list = [_format_entry(x) for x in obj]
return new_list return new_list
def _extract_command_table_entry(name):
return next(x for x in cmd_table.values() if name == x['name'])
parser = argparse.ArgumentParser(description='Command Table Parser') parser = argparse.ArgumentParser(description='Command Table Parser')
parser.add_argument('--commands', metavar='N', nargs='+', help='Filter by first level command (OR)') parser.add_argument('--commands', metavar='N', nargs='+', help='Filter by first level command (OR)')
parser.add_argument('--params', metavar='N', nargs='+', help='Filter by parameters (OR)') parser.add_argument('--params', metavar='N', nargs='+', help='Filter by parameters (OR)')
@ -55,7 +52,7 @@ if cmd_set_names is None :
else: else:
# if the command name matches a prefix, add it to the output list # if the command name matches a prefix, add it to the output list
for name in cmd_table.keys(): for name in cmd_table.keys():
for prefix in cmd_set_names: for prefix in cmd_set_names:
if name.startswith(prefix): if name.startswith(prefix):
cmd_list.append(name) cmd_list.append(name)
break break

Просмотреть файл

@ -62,11 +62,11 @@ def _check_json(source, checks):
class CommandTestScript(object): #pylint: disable=too-many-instance-attributes class CommandTestScript(object): #pylint: disable=too-many-instance-attributes
def __init__(self, set_up, test_body, tear_down): def __init__(self, set_up, test_body, tear_down, debug=False):
self._display = StringIO() self._display = StringIO()
self._raw = StringIO() self._raw = StringIO()
self.display_result = '' self.display_result = ''
self.debug = False self.debug = debug
self.raw_result = '' self.raw_result = ''
self.auto = True self.auto = True
self.fail = False self.fail = False
@ -81,9 +81,13 @@ class CommandTestScript(object): #pylint: disable=too-many-instance-attributes
def run_test(self): def run_test(self):
try: try:
if hasattr(self.set_up, '__call__'): if hasattr(self.set_up, '__call__'):
if self.debug:
print('\n==ENTERING TEST SET UP==')
self.set_up() self.set_up()
# only track commands for the test body # only track commands for the test body
self.track_commands = TRACK_COMMANDS self.track_commands = TRACK_COMMANDS
if self.debug:
print('\n==ENTERING TEST BODY==')
self.test_body() self.test_body()
self.track_commands = False self.track_commands = False
except Exception: #pylint: disable=broad-except except Exception: #pylint: disable=broad-except
@ -91,6 +95,8 @@ class CommandTestScript(object): #pylint: disable=too-many-instance-attributes
self.fail = True self.fail = True
finally: finally:
if hasattr(self.tear_down, '__call__'): if hasattr(self.tear_down, '__call__'):
if self.debug:
print('\n==ENTERING TEST TEAR DOWN==')
self.tear_down() self.tear_down()
self.display_result = self._display.getvalue() self.display_result = self._display.getvalue()
self.raw_result = self._raw.getvalue() self.raw_result = self._raw.getvalue()
@ -105,55 +111,63 @@ class CommandTestScript(object): #pylint: disable=too-many-instance-attributes
f.write(' '.join(command)) f.write(' '.join(command))
f.write('\n') f.write('\n')
def rec(self, command): def rec(self, command, debug=False):
''' Run a command and save the output as part of the expected results. This will also ''' Run a command and save the output as part of the expected results. This will also
save the output to a display file so you can see the command, followed by its output save the output to a display file so you can see the command, followed by its output
in order to determine if the output is acceptable. Invoking this command in a script in order to determine if the output is acceptable. Invoking this command in a script
turns off the flag that signals the test is fully automatic. ''' turns off the flag that signals the test is fully automatic. '''
if self.debug: if self.debug or debug:
print('RECORDING: {}'.format(command)) print('\n\tRECORDING: {}'.format(command))
self.auto = False self.auto = False
output = StringIO() output = StringIO()
command_list = shlex.split(command) command_list = shlex.split(command)
cli(command_list, file=output) cli(command_list, file=output)
self._track_executed_commands(command_list) self._track_executed_commands(command_list)
result = output.getvalue().strip() result = output.getvalue().strip()
if self.debug or debug:
print('\tRESULT: {}\n'.format(result))
self._display.write('\n\n== {} ==\n\n{}'.format(command, result)) self._display.write('\n\n== {} ==\n\n{}'.format(command, result))
self._raw.write(result) self._raw.write(result)
output.close() output.close()
return result return result
def run(self, command): #pylint: disable=no-self-use def run(self, command, debug=False): #pylint: disable=no-self-use
''' Run a command without recording the output as part of expected results. Useful if you ''' Run a command without recording the output as part of expected results. Useful if you
need to run a command for branching logic or just to reset back to a known condition. ''' need to run a command for branching logic or just to reset back to a known condition. '''
if self.debug: if self.debug or debug:
print('RUNNING: {}'.format(command)) print('\n\tRUNNING: {}'.format(command))
output = StringIO() output = StringIO()
command_list = shlex.split(command) command_list = shlex.split(command)
cli(command_list, file=output) cli(command_list, file=output)
self._track_executed_commands(command_list) self._track_executed_commands(command_list)
result = output.getvalue().strip() result = output.getvalue().strip()
if self.debug or debug:
print('\tRESULT: {}\n'.format(result))
output.close() output.close()
# if json output was specified, return result as json object # if json output was specified, return result as json object
if isinstance(command, str) and '-o json' in command: if isinstance(command, str) and '-o json' in command:
result = json.loads(result) if result else [] result = json.loads(result) if result else []
return result return result
def test(self, command, checks): def test(self, command, checks, debug=False):
''' Runs a command with the json output format and validates the input against the provided ''' Runs a command with the json output format and validates the input against the provided
checks. Multiple JSON properties can be submitted as a dictionary and are treated as an AND checks. Multiple JSON properties can be submitted as a dictionary and are treated as an AND
condition. ''' condition. '''
if self.debug: if self.debug or debug:
print('TESTING: {}'.format(command)) print('\n\tTESTING: {}'.format(command))
output = StringIO() output = StringIO()
command_list = shlex.split(command) command_list = shlex.split(command)
command_list += ['-o', 'json'] command_list += ['-o', 'json']
cli(command_list, file=output) cli(command_list, file=output)
self._track_executed_commands(command_list) self._track_executed_commands(command_list)
result = output.getvalue().strip() result = output.getvalue().strip()
if self.debug or debug:
print('\tRESULT: {}\n'.format(result))
self._raw.write(result) self._raw.write(result)
try: try:
if isinstance(checks, list) and all( if result is None or result == '':
assert checks is None or checks is False
elif isinstance(checks, list) and all(
isinstance(comparator, JMESPathComparator) for comparator in checks): isinstance(comparator, JMESPathComparator) for comparator in checks):
for comparator in checks: for comparator in checks:
comparator.compare(result) comparator.compare(result)
@ -168,12 +182,12 @@ class CommandTestScript(object): #pylint: disable=too-many-instance-attributes
elif isinstance(checks, dict): elif isinstance(checks, dict):
json_val = json.loads(result) json_val = json.loads(result)
assert _check_json(json_val, checks) assert _check_json(json_val, checks)
elif checks is None:
assert result is None or result == ''
else: else:
raise IncorrectUsageError('unsupported type \'{}\' in test'.format(type(checks))) raise IncorrectUsageError('unsupported type \'{}\' in test'.format(type(checks)))
except AssertionError: except AssertionError:
raise CLIError('COMMAND {} FAILED. Result: {} Checks: {}'.format( if self.debug or debug:
print('\tFAILED: {}'.format(checks))
raise CLIError('COMMAND {} FAILED.\nResult: {}\nChecks: {}'.format(
command, result, checks)) command, result, checks))
def set_env(self, key, val): #pylint: disable=no-self-use def set_env(self, key, val): #pylint: disable=no-self-use
os.environ[key] = val os.environ[key] = val

Просмотреть файл

@ -1,5 +1,3 @@
from pip import get_installed_distributions
from azure.cli._locale import L from azure.cli._locale import L
# BASIC PARAMETER CONFIGURATION # BASIC PARAMETER CONFIGURATION
@ -7,10 +5,7 @@ from azure.cli._locale import L
PARAMETER_ALIASES = { PARAMETER_ALIASES = {
'component_name': { 'component_name': {
'name': '--name -n', 'name': '--name -n',
'help': L('Name of component'), 'help': L('Name of component')
'choices': [dist.key.replace('azure-cli-', '')
for dist in get_installed_distributions(local_only=True)
if dist.key.startswith('azure-cli-')]
}, },
'force': { 'force': {
'name': '--force -f', 'name': '--force -f',

Просмотреть файл

@ -2,7 +2,6 @@ import json
# AZURE CLI RESOURCE TEST DEFINITIONS # AZURE CLI RESOURCE TEST DEFINITIONS
from azure.cli.utils.command_test_script import CommandTestScript, JMESPathComparator from azure.cli.utils.command_test_script import CommandTestScript, JMESPathComparator
from azure.cli.commands import LongRunningOperation
#pylint: disable=method-hidden #pylint: disable=method-hidden
class ResourceGroupScenarioTest(CommandTestScript): class ResourceGroupScenarioTest(CommandTestScript):
@ -103,18 +102,17 @@ class TagScenarioTest(CommandTestScript):
def set_up(self): def set_up(self):
tn = self.tag_name tn = self.tag_name
tags = self.run('tag list --query "[?tagName == \'{}\'].values[].tagValue" -o json'.format(tn))
for tag in tags:
self.run('tag remove-value -n {} --value {}'.format(tn, tag))
self.run('tag delete -n {}'.format(tn))
def test_body(self): def test_body(self):
s = self s = self
tn = s.tag_name tn = s.tag_name
s.test('tag list --query "[?tagName == \'{}\']"'.format(tn), None) s.test('tag list --query "[?tagName == \'{}\']"'.format(tn), None)
s.test('tag create -n {}'.format(tn), {'tagName': tn, 'values': [], 'count': {'value': "0"}}) s.run('tag create -n {}'.format(tn))
s.test('tag add-value -n {} --value test'.format(tn), {'tagValue': 'test'}) s.test('tag list --query "[?tagName == \'{}\']"'.format(tn),
s.test('tag add-value -n {} --value test2'.format(tn), {'tagValue': 'test2'}) {'tagName': tn, 'values': [], 'count': {'value': "0"}})
s.run('tag add-value -n {} --value test'.format(tn))
s.run('tag add-value -n {} --value test2'.format(tn))
s.test('tag list --query "[?tagName == \'{}\']"'.format(tn), s.test('tag list --query "[?tagName == \'{}\']"'.format(tn),
[ [
JMESPathComparator('[].values[].tagValue', [u'test', u'test2']) JMESPathComparator('[].values[].tagValue', [u'test', u'test2'])

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -17,148 +17,54 @@ interactions:
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
74fq93/J/wMDf9yoMFoAAA== /i/5fwDZPKLLL1oAAA==
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2524'] content-length: ['2521']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:50 GMT'] date: ['Tue, 17 May 2016 16:18:34 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['0']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.11 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 resourcemanagementclient/2016-02-01
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: DELETE
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/tagNames/travistesttag?api-version=2016-02-01
response:
body: {string: !!python/unicode ''}
headers:
cache-control: [no-cache]
date: ['Thu, 12 May 2016 23:06:50 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1193']
status: {code: 204, message: No Content}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.11 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 resourcemanagementclient/2016-02-01
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/tagNames?api-version=2016-02-01
response:
body:
string: !!binary |
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
74fq93/J/wMDf9yoMFoAAA==
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-length: ['2524']
content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:51 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -183,12 +89,83 @@ interactions:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['156'] content-length: ['156']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:52 GMT'] date: ['Tue, 17 May 2016 16:18:35 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1186'] x-ms-ratelimit-remaining-subscription-writes: ['1196']
status: {code: 201, message: Created} status: {code: 201, message: Created}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.11 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 resourcemanagementclient/2016-02-01
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/tagNames?api-version=2016-02-01
response:
body:
string: !!binary |
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
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-length: ['2541']
content-type: [application/json; charset=utf-8]
date: ['Tue, 17 May 2016 16:18:36 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request: - request:
body: null body: null
headers: headers:
@ -208,11 +185,11 @@ interactions:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['151'] content-length: ['151']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:53 GMT'] date: ['Tue, 17 May 2016 16:18:37 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1190'] x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 201, message: Created} status: {code: 201, message: Created}
- request: - request:
body: null body: null
@ -233,11 +210,11 @@ interactions:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['153'] content-length: ['153']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:53 GMT'] date: ['Tue, 17 May 2016 16:18:38 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1188'] x-ms-ratelimit-remaining-subscription-writes: ['1199']
status: {code: 201, message: Created} status: {code: 201, message: Created}
- request: - request:
body: null body: null
@ -257,55 +234,55 @@ interactions:
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
uc4/evS9X/xRMfvo0Ud3m/WkmdbFqi2qZXN3Z7J7/un+g93t3cn5zvb+bJZtZ/n03vZ08nDvwd75 uc4/evS9X/xRMfvo0Ud3m/WkmdbFqi2qZXN3Z7J7/un+g93t3cn5zvb+bJZtZ/n03vZ08nDvwd75
zsP7D3futtnFi2yRN3dnRbMqs2v88dHoI/2YgIafT6v1sv3o0S/+qL1e4ds3VZuV9Llisruz90v0 zsP7D3futtnFi2yRN3dnRbMqs2v88dHoI/2YgIafT6v1sv3o0S/+qL1e4ds3VZuV9LlicrD/S/T3
j+abxwsf/mQG2Hd/sqjbdVZ+kU3nxRKIma+ou953NyF9/5f8ktHPHqov8vaqqt+eLdu8Ps+mQMh8 5ptHCx/+ZAbYd3+yqNt1Vn6RTefFEniZr6i73nc34Ly790t+yehnD9UXeXtV1W/Plm1en2dTIGS+
SR1Gvr0B3b39n2V0r36SkKL+zGfUj/vw5xa5121VZxf58VTQCHDsfSc/h1Hd/VlF9eV6UhbTs5fH pA4j396A7t7OzzK6Vz9JSFF/5jPqx334c4vc67aqs4v8eCpoBDj2vpOfg6juPvhZRfXlelIW07OX
s1mdNw31a76j/vpf3oDs7qc/q8iqyNAUgxmpW/MVddf77gZU937JL/n+N4Nrmzct/fHVapa1+Yx6 x7NZnTcN9Wu+o/76X96E7L2fVWRVZGiKwYzUrfmKuut9dwOqJE3f/2ZwbfOmpT++Ws2yNp9RD/QH
oD/wDcHtfXUDUrvftFoKEcDnTC/5gnvSrwgH8yX1Gfn2Rsy/YXISaPoXHxFA99kNaHzjel17xgdM viG4va9uQGr3m1ZLIQL4nOklX3BP+hXhYL6kPiPf3oj5N0xOAk3/4iMC6D67AY29nyUC4gMmjnzC
HPmEu6BezafUi//xDUgSrb5JSuEDxkI+oU6oK/MZ9eE+vBmvb2gOpxk0m/5JwOTvG7vXX7+puaNe XVCv5lPqxf/4BiSJVt8kpfABYyGfUCfUlfmM+nAf3ozXNzSH0wyaTf8kYPL3jd3rr9/U3FGv+IPp
8QfToblLHZk/CDD9dSM63xQ1zquKwOqfBEz+vrF7/fWbogb1ij+YAM3dSVZTX+Zvgi0f3IjUN0WT 0NyljswfBJj+uhGdb4oa51VFYPVPAiZ/39i9/vpNUYN6xR9MgObuJKupL/M3wZYPbkTqm6LJsmKf
ZcU+j/5N0PSDGxHQX78pqqBb/MVk+Llkkmm5JrD6JwGTv2/sXn/9pshBveIPJgCIQ50yUvwBAddP R/8maPrBjQjor98UVdAt/mIy/FwyybRcE1j9k4DJ3zd2r79+U+SgXvEHEwDEoU4ZKf6AgOsnN6L1
bkTrm6LK6rqdV0uCrJ8QPPvRjUjor98UbaRj/M3UIG07z5f51bSq0Kv5mHoJPr8Ry2+KVJeLbQLC TVFldd3OqyVB1k8Inv3oRiT012+KNtIx/mZqkLad58v8alpV6NV8TL0En9+I5TdFqsvFNgFhRPAB
iOADAmc+uREF/fWbIhT3iz+ZIM3dXerL/EWw8eeNKH1TVFlcw/zRnwSc/sWHBNL/9AZUdr5p6ti+ gTOf3IiC/vpNEYr7xZ9MkObuLvVl/iLY+PNGlL4pqiyuYf7oTwJO/+JDAul/egMqO980dWzf+Ihp
8RHThDiJPqEuzQfUhX5yI3LfMJXwEaMgOO1RV+YT6sN8dDNW39DstXV2WTTolj6iDuhffEFgu9/c QpxEn1CX5gPqQj+5EblvmEr4iFEQnPaoK/MJ9WE+uhmrb2j22jq7LBp0Sx9RB/QvviCw3W9uREl/
iJL++k3NYtA/PmYa0ef0CXVrPqBu9JMbEfxZoBg+ZjToc/oEU2c+oX7MRzdj9g3N5jsK6dpXeVOt /aZmMegfHzON6HP6hLo1H1A3+smNCP4sUAwfMxr0OX2CqTOfUD/mo5sx+4Zm8x2FdO2rvKnW9TT/
62n+eV2tV2+yi917u0BCG1EXm1rdiKr++k3N8iAuaMJ0ZL+KfyM0zIfUrffpjUj/7NL309196kwb vK7WqzfZxe69XSChjaiLTa1uRFV//aZmeRAXNGE6sl/FvxEa5kPq1vv0RqR/dun76e4+daaNqItN
URebWt2Iqv76s0tfwgVNmH7/r6fv3s6noJw2oi42tboRVf31Z5W+wAVNmH7/r6fvvU/37lNn2oi6 rW5EVX/92aUv4YImTL//19N3b+dTUE4bURebWt2Iqv76s0pf4IImTL//19P33qd796kzbURdbGp1
2NTqRlT1159V+gIXNGH6/b+evvs7B59SZ9qIutjU6kZU9defVfoCFzRh+v2/n77796gvbUM9bGh0 I6r6688qfYELmjD9/l9P3/2dg0+pM21EXWxqdSOq+uvPKn2BC5ow/f7fT9/9e9SXtqEeNjS6EVH9
I6L6688udffvoQUT7//9xD24/4A600bUxaZWN6Kqv/7skpdwQROm3//r6Xt//wCMqY2oi02tbkRV 9WeXuvv30IKJ9/9+4h7cf0CdaSPqYlOrG1HVX392yUu4oAnT7//19L2/fwDG1EbUxaZWN6Kqv/6s
f/1ZpS9wQROm3//76fvwHjhTG1EXm1rdiKr++rNLX8IFTZh+/6+n76cHBwgbtBF1sanVjajqrz+r 0he4oAnT7//99H14D5ypjaiLTa1uRFV//dmlL+GCJky//9fT99ODA4QN2oi62NTqRlT1159V+gIX
9AUuaML0+389fR/s7oMztRF1EWllW92Iqv76s0pf4IImTL//99P3PlNOG1EXm1rdiKr++rNLX8IF NGH6/b+evg9298GZ2oi6iLUyrW5EVX/9WaUvcEETpt//++l7nymnjaiLTa1uRFV//dmlL+GCJky/
TZh+/6+n78Eeu7XaiLrY1OpGVPXXn1X6Ahc0Yfr9v5++CMq0CXUw3OZGNPXXn13a/n8obDv49AF8 /9fT92CP3VptRF1sanUjqvrrzyp9gQuaMP3+309fBGXahDoYbnMjmvrrzy5t/z8Uth18+gA+lzai
Lm1EXWxqdSOq+uvPLnUJFzRh+v2/nr4PDx5inUIbURebWt2Iqv76s0pf4IImTL//19KXEN3d33lI Lja1uhFV/fVnl7qEC5ow/f5fT9+HBw+xTqGNqItNrW5EVX/9WaUvcEETpt//a+lLiO7u7zykfvR7
/ej3BH2gwY0I6q8/K1RVNPAtE+z/zQTdu/cAOlS/J+gDDW5EUH/92SIo0MC3TLD/VxP0wQ4CAv2e gj7Q4EYE9defFaoqGviWCfb/ZoLu3XsAHarfE/SBBjciqL/+bBEUaOBbJtj/qwn6YAcBgX5P0Aca
oA80uBFB/fVnjaCEBr5lgv2/maD39h9CovV7gj7Q4EYE9defLYICDXzLBPt/NUE/fQCXX78n6AMN 3Iig/vqzRlBCA98ywf7fTNB7+w8h0fo9QR9ocCOC+uvPFkGBBr5lgv2/mqCfPoDLr98T9IEGNyKo
bkRQf/1ZIyihgW+ZYP+vJujBHiy5fk/QBxrciKD++rNGUEID3zLB/t9M0H3S9tSPfk/QBxrciKD+ v/6sEZTQwLdMsP9XE/RgD5ZcvyfoAw1uRFB//VkjKKGBb5lg/28m6D5pe+pHvyfoAw1uRFB//dki
+rNFUKCBb5lg/28m6P37n8Lm6PcEfaDBjQjqrz9bBAUa+JYJ9v9qgn7KbqZ+T9AHGtyIoP76s0ZQ KNDAt0yw/zcT9P79T2Fz9HuCPtDgRgT1158tggINfMsE+381QT9lN1O/J+gDDW5EUH/9WSMooYFv
QgPfMsH+30zQTz99sEP96PcEfaDBjQjqrz9bBAUa+JYJ9v9mgj7Y+xR+u35P0Aca3Iig/vqzRVCg mWD/bybop58+2KF+9HuCPtDgRgT1158tggINfMsE+38zQR/sfQq/Xb8n6AMNbkRQf/3ZIijQwLdM
gW+ZYP+vJujDh/vUj35P0Aca3Iig/vqzRlBCA98ywf7fTNCDe3tIMOn3BH2gwY0I6q8/WwQFGviW sP9XE/Thw33qR78n6AMNbkRQf/1ZIyihgW+ZYP9vJujBvT0kmPR7gj7Q4EYE9defLYICDXzLBPt/
Cfb/aoIe7EFF6vcEfaDBjQjqrz9rBCU08C0T7P/NBH24swuvSL8n6AMNbkRQf/3ZIijQwLdMsP9X NUEP9qAi9XuCPtDgRgT11581ghIa+JYJ9v9mgj7c2YVXpN8T9IEGNyKov/5sERRo4Fsm2P+rCfrg
E/TBwQH1o98T9IEGNyKov/6sEZTQwLdMsP83ETSrF9vTsti+XGzPiubtdta22XS+zK+2Zzl+227z 4ID60e8J+kCDGxHUX3/WCEpo4Fsm2P+bCJrVi+1pWWxfLrZnRfN2O2vbbDpf5lfbsxy/bbd50zbU
pm2oZ32D+rv1KzcMYvebJvrtEEN7JnNzd29n99Ptnf3tvYdvdvce7ew+2t0d79zf/ynC0TQinDa0 s75B/d36lRsGsftNE/12iKE9k7m5u7ez++n2zv723sM3u3uPdnYf7e6Od+7v/xThaBoRThta3TjC
unGEPwvTlL9r82VDMGQ41Ju2oj42NrsB2b2fxenoIIM2TF0zBXsg7s7Bo537j3YPxg93HoC4phHh n4Vpyt+1+bIhGDIc6k1bUR8bm92A7N7P4nR0kEEbpq6Zgj0Qd+fg0c79R7sH44c7D0Bc04jw2NCq
saFVOKreqGgK/An4YQxmd3tv983evUf3Dh7dfzB+sLsLNE0jO5hoq5sH883zU1P8IG9kKNSTtiD4 M6ruqGgKggn4IQxmd3tv983evUf3Dh7dfzB+sLsLNE0jO5hoq5sH883zU1P8IG9kKNSTtiD4g01u
g01uRFJ//VngIw8RfM8UNWTfo/+92b1H0vlo/9Px/gFzh2lEOGxodeOIfhbIPqumb/NaxkJdaRPq RFJ//VngIw8RfM8UNWTfo/+92b1H0vlo/9Px/gFzh2lEOGxodeOIfhbIPqumb/NaxkJdaRPqYLjN
YLjNDWj+bAqwjwkaMFEd5XcP3ux+CrncJ7nc2wFNTSNCYkOrG4ZElP/ZpDsaMJJuJKRhSMnv7Ty6 DWj+bAqwjwkaMFEd5XcP3ux+CrncJ7nc2wFNTSNCYkOrG4ZElP/ZpDsaMJJuJKRhSMnv7Ty69+n4
9+n44f594GgaERIbWt08km+ch5pme1rnWZvLaKgzbURdbGp1I6r66zfPRx1c0IRJa+h/f3vnHjT8 4f594GgaERIbWt08km+ch5pme1rnWZvLaKgzbURdbGp1I6r66zfPRx1c0IRJa+h/f3vnHjT83oNH
3oNH93bGuzsPQVnTiNDY0OrGQX1T9A9cO7PevXt/H4GQNqIuNrW6AdXAGf1ZRfoho6ONqItNrf5f 93bGuzsPQVnTiNDY0OrGQX1T9A9cO7PevXt/H4GQNqIuNrW6AdXAGf1ZRfoho6ONqItNrf5fhDQc
hDQcem1EXWxq9f8WpPf2sbqgbaiHDY3+34LyvYN7WGLSRtTFplb/r0Ga4izqVhtRF5ta/b8F6f3d em1EXWxq9f8WpPf2sbqgbaiHDY3+34LyvYN7WGLSRtTFplb/r0Ga4izqVhtRF5ta/b8F6f3dh6Ch
h6ChNqIuNrX6fw3S+/dAQ21EXWxq9f8WpO/vsCrTRtTFplb/r0F67wALP9qIutjU6v8tSNPrSF1r NqIuNrX6fw3S+/dAQ21EXWxq9f8WpO/vsCrTRtTFplb/r0F67wALP9qIutjU6v8tSNPrSF1rI+pi
I+piU6v/1yD98CEWMLQRdbGp1f9bkH5wwIsE2oi62NTq/y1IH+w/gK3TRtTFplb/b0H64d4ecrPa U6v/1yD98CEWMLQRdbGp1f9bkH5wwIsE2oi62NTq/y1IH+w/gK3TRtTFplb/b0H64d4ecrPaiLrY
iLrY1Or/NUh/ugMNrI2oi02tfq6RJkx29z4FJvo9QR9o8P8GVPd5pvV7gj7Q4P8FqO7d2wEm+j1B 1Or/NUh/ugMNrI2oi02tfq6RJkx29z4FJvo9QR9o8P8GVPd5pvV7gj7Q4P8FqO7d2wEm+j1BH2jw
H2jw/wZU7+/Cz9HvCfpAg/8XoLq/+yn0k35P0Aca/L8A1U93739KPer3BH2gwf8bUN2/B09Gvyfo /wZU7+/Cz9HvCfpAg/8XoLq/+yn0k35P0Aca/L8A1U93739KPer3BH2gwf8bUN2/B09GvyfoAw3+
Aw3+34Dqp/eBiX5P0Aca/L8A1Qe7B3Bq9XuCPtDg/w2o3r8HX0W/J+gDDf5fgeoBMNHvCfpAg/9X 34Dqp/eBiX5P0Aca/L8A1Qe7B3Bq9XuCPtDg/w2o3r8HX0W/J+gDDf5fgeoBMNHvCfpAg/9XoPoQ
oPoQAq7fE/SBBv8vQPVgZxdE0+8J+kCD/1eg+imMkX5P0Aca/L8B1XtsN/V7gj7Q4P8FqD7cuQdv Aq7fE/SBBv8vQPVgZxdE0+8J+kCD/1eg+imMkX5P0Aca/L8B1XtsN/V7gj7Q4P8FqD7cuQdvRL8n
RL8n6AMN3g/V7/+S/weo2oCw/lsAAA== 6AMN3g/V7/+S/wffN+Qg/VsAAA==
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2587'] content-length: ['2584']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:55 GMT'] date: ['Tue, 17 May 2016 16:18:38 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -329,11 +306,11 @@ interactions:
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['0'] content-length: ['0']
date: ['Thu, 12 May 2016 23:06:55 GMT'] date: ['Tue, 17 May 2016 16:18:39 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1190'] x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 200, message: OK} status: {code: 200, message: OK}
- request: - request:
body: null body: null
@ -353,55 +330,55 @@ interactions:
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
0yVmWwAA WwAA
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2571'] content-length: ['2568']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:56 GMT'] date: ['Tue, 17 May 2016 16:18:39 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -425,11 +402,11 @@ interactions:
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['0'] content-length: ['0']
date: ['Thu, 12 May 2016 23:06:56 GMT'] date: ['Tue, 17 May 2016 16:18:40 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1189'] x-ms-ratelimit-remaining-subscription-writes: ['1199']
status: {code: 200, message: OK} status: {code: 200, message: OK}
- request: - request:
body: null body: null
@ -449,54 +426,54 @@ interactions:
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
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2544'] content-length: ['2541']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:57 GMT'] date: ['Tue, 17 May 2016 16:18:41 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -520,11 +497,11 @@ interactions:
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-length: ['0'] content-length: ['0']
date: ['Thu, 12 May 2016 23:06:58 GMT'] date: ['Tue, 17 May 2016 16:18:42 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1189'] x-ms-ratelimit-remaining-subscription-writes: ['1197']
status: {code: 200, message: OK} status: {code: 200, message: OK}
- request: - request:
body: null body: null
@ -544,54 +521,54 @@ interactions:
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
74fq93/J/wMDf9yoMFoAAA== /i/5fwDZPKLLL1oAAA==
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2524'] content-length: ['2521']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:58 GMT'] date: ['Tue, 17 May 2016 16:18:43 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -615,54 +592,54 @@ interactions:
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
74fq93/J/wMDf9yoMFoAAA== /i/5fwDZPKLLL1oAAA==
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
content-encoding: [gzip] content-encoding: [gzip]
content-length: ['2524'] content-length: ['2521']
content-type: [application/json; charset=utf-8] content-type: [application/json; charset=utf-8]
date: ['Thu, 12 May 2016 23:06:59 GMT'] date: ['Tue, 17 May 2016 16:18:43 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
@ -685,10 +662,10 @@ interactions:
body: {string: !!python/unicode ''} body: {string: !!python/unicode ''}
headers: headers:
cache-control: [no-cache] cache-control: [no-cache]
date: ['Thu, 12 May 2016 23:07:00 GMT'] date: ['Tue, 17 May 2016 16:18:43 GMT']
expires: ['-1'] expires: ['-1']
pragma: [no-cache] pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains] strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1189'] x-ms-ratelimit-remaining-subscription-writes: ['1197']
status: {code: 204, message: No Content} status: {code: 204, message: No Content}
version: 1 version: 1

Просмотреть файл

@ -45,25 +45,6 @@ class RoleAssignmentScenarioTest(CommandTestScript):
JMESPathComparator("length([].properties.contains(scope, '{}')) == length(@)".format(scope), True) JMESPathComparator("length([].properties.contains(scope, '{}')) == length(@)".format(scope), True)
]) ])
# TODO: Currently this fails. It returns assignments without a 'resourceGroup' field!
# Pivotal Item #119559823
#s.test('role assignment list-for-resource-group -g {}'.format(rg),
# [
# JMESPathComparator("length([].contains(resourceGroup, '{}')) == length(@)".format(rg), True)
# ])
# TODO: This produces some output, but I have no idea if it is correct! (Pivotal Item #119559823)
#s.rec('role assignment list-for-resource --parent-resource-path {0} -g {1} --resource-name {2} --resource-provider-namespace {3} --resource-type {4}'.format(
# parent_path, rg, resource, 'Microsoft.Sql', 'databases'))
# TODO: This role assignment is not found (Pivotal Item #119559823)
#name = 'c00ddce0-e2f9-417c-bbe4-0429bba5d11e'
#s.test('role assignment show --scope {} --role-assignment-name {}'.format(scope, name),
# [
# JMESPathComparator("length([?name == '{}']) == length(@)".format(name), True),
# JMESPathComparator("length([].properties.container(scope, '{}')) == length(@)".format(scope), True)
# ])
id = '/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112/providers/Microsoft.Authorization/roleAssignments/b022bb45-7fc4-4125-b781-72b49c38ba18' id = '/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst39112/providers/Microsoft.Authorization/roleAssignments/b022bb45-7fc4-4125-b781-72b49c38ba18'
res = s.run("role assignment show-by-id --role-assignment-id {} -o json".format(id))['id'] res = s.run("role assignment show-by-id --role-assignment-id {} -o json".format(id))['id']
assert res == id assert res == id

Просмотреть файл

@ -78,7 +78,7 @@ class StorageAccountScenarioTest(CommandTestScript):
key1 = keys['key1'] key1 = keys['key1']
assert key2 != keys['key2'] assert key2 != keys['key2']
key2 = keys['key2'] key2 = keys['key2']
keys = json.loads(s.run('storage account keys renew -g {} --name {} --key secondary -o json'.format(rg, account))) keys = s.run('storage account keys renew -g {} --account-name {} --key secondary -o json'.format(rg, account))
assert key1 == keys['key1'] assert key1 == keys['key1']
assert key2 != keys['key2'] assert key2 != keys['key2']
s.test('storage account set -g {} -n {} --tags foo=bar;cat'.format(rg, account), s.test('storage account set -g {} -n {} --tags foo=bar;cat'.format(rg, account),

Просмотреть файл

@ -76,8 +76,7 @@ def _handle_auth_types(**kwargs):
else: else:
raise CLIError('An RSA key file or key value must be supplied to SSH Key Value') raise CLIError('An RSA key file or key value must be supplied to SSH Key Value')
if APPLICATION: APPLICATION.register(APPLICATION.COMMAND_PARSER_PARSED, _handle_auth_types)
APPLICATION.register(APPLICATION.COMMAND_PARSER_PARSED, _handle_auth_types)
def load_images_from_aliases_doc(publisher=None, offer=None, sku=None): def load_images_from_aliases_doc(publisher=None, offer=None, sku=None):
target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/' target_url = ('https://raw.githubusercontent.com/Azure/azure-rest-api-specs/'

Просмотреть файл

@ -22,7 +22,7 @@ command_table = CommandTable()
def _vm_get(resource_group_name, vm_name, expand=None): def _vm_get(resource_group_name, vm_name, expand=None):
'''Retrieves a VM''' '''Retrieves a VM'''
client = _compute_client_factory() client = _compute_client_factory()
return client.virtual_machines.get(resource_group_name, return client.virtual_machines.get(resource_group_name,
vm_name, vm_name,
expand=expand) expand=expand)