Skip to content
This repository has been archived by the owner on Jul 14, 2023. It is now read-only.

Commit

Permalink
Merge branch 'master' into xichen/FixUrlBoundFlag
Browse files Browse the repository at this point in the history
  • Loading branch information
qiaozha authored May 26, 2020
2 parents ec2363e + 738882a commit 86fbb9e
Show file tree
Hide file tree
Showing 26 changed files with 228 additions and 277 deletions.
2 changes: 0 additions & 2 deletions src/plugins/azgenerator/TemplateAzureCliActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ function GetAction(model: CodeModelAz, actionName: string, param: Parameter, key
} else {
output.push(" namespace." + model.Parameter_MapsTo(param) + " = action");
}

output.push("");
output.push("");
output.push(" def get_action(self, values, option_string): # pylint: disable=no-self-use");
output.push(" try:");
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/azgenerator/TemplateAzureCliCustom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,9 @@ function GetSingleCommandDef(model: CodeModelAz, required: any, originalOperatio
let call = "def " + updatedMethodName + "(";
let indent = " ".repeat(call.length);
if (needGeneric) {
call += "instance, cmd";
call += "instance";
} else {
call += "cmd, client";
call += "client";
}
output.push(call);

Expand Down
6 changes: 3 additions & 3 deletions src/plugins/azgenerator/TemplateAzureCliInit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import { CodeModelAz } from "./CodeModelAz"
import { HeaderGenerator } from "./Header";
import { ToMultiLine } from "../../utils/helper"

export function GenerateAzureCliInit(model: CodeModelAz) : string[] {
let header: HeaderGenerator = new HeaderGenerator();
Expand All @@ -22,9 +23,8 @@ export function GenerateAzureCliInit(model: CodeModelAz) : string[] {
output.push(" " + model.Extension_NameUnderscored + "_custom = CliCommandType(");
output.push(" operations_tmpl='azext_" + model.Extension_NameUnderscored + ".custom#{}',");
output.push(" client_factory=cf_" + model.Extension_NameUnderscored + ")");
let pfx = " super(" + model.Extension_NameClass + "CommandsLoader, self).__init__(";
output.push(pfx + "cli_ctx=cli_ctx,");
output.push(" ".repeat(pfx.length) + "custom_command_type=" + model.Extension_NameUnderscored + "_custom)");
output.push(` parent = super(${model.Extension_NameClass}CommandsLoader, self)`);
ToMultiLine(` parent.__init__(cli_ctx=cli_ctx, custom_command_type=${model.Extension_NameUnderscored}_custom)`, output);
output.push("");
output.push(" def load_command_table(self, args):");
output.push(" from azext_" + model.Extension_NameUnderscored + ".generated.commands import load_command_table");
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/azgenerator/TemplateAzureCliParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { isNullOrUndefined, isArray } from "util";
let hasActions: boolean = false;
let hasBoolean: boolean = false;
let hasEnum: boolean = false;
let hasJson: boolean = true;
let hasJson: boolean = false;
let hasResourceGroup: boolean = false;
let hasLocation = false;
let hasLocationValidator = false;
Expand Down
7 changes: 4 additions & 3 deletions src/plugins/azgenerator/TemplateAzureCliTestInit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ export function GenerateAzureCliTestInit(model: CodeModelAz): string[] {
output.push("import os");
output.push("import sys");
output.push("import traceback");
output.push("from azure.core.exceptions import AzureError");
output.push("from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError");
output.push("");
output.push("");
output.push("__path__ = __import__('pkgutil').extend_path(__path__, __name__)");
Expand Down Expand Up @@ -57,7 +59,7 @@ export function GenerateAzureCliTestInit(model: CodeModelAz): string[] {
output.push(' print("running {}()...".format(func.__name__))');
output.push(' try:');
output.push(' return func_to_call(*args, **kwargs)');
output.push(' except BaseException as e:');
output.push(' except (AssertionError, AzureError, CliTestError, CliExecutionError, JMESPathCheckAssertionError) as e:');
output.push(' print("--------------------------------------")');
output.push(' print("step exception: ", e)');
output.push(' print("--------------------------------------", file=sys.stderr)');
Expand All @@ -67,8 +69,7 @@ export function GenerateAzureCliTestInit(model: CodeModelAz): string[] {
output.push('');
output.push(' if inspect.isclass(func):');
output.push(' return get_func_to_call()');
output.push(' else:');
output.push(' return wrapper');
output.push(' return wrapper');
output.push('');
output.push('');
output.push('def raise_if():');
Expand Down
76 changes: 34 additions & 42 deletions src/plugins/azgenerator/TemplateAzureCliTestPrepare.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ export function GenerateAzureCliTestPrepare(model: CodeModelAz): string[] {
output.push("");
output.push("import os");
output.push("from datetime import datetime");
output.push("from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer");
output.push("from azure_devtools.scenario_tests import SingleValueReplacer");
output.push("from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer");
output.push("from azure.cli.testsdk.exceptions import CliTestError");
output.push("from azure.cli.testsdk.reverse_dependency import get_dummy_cli");
output.push("");
Expand Down Expand Up @@ -38,7 +38,7 @@ export function GenerateAzureCliTestPrepare(model: CodeModelAz): string[] {
output.push(" self.resource_group_key = resource_group_key");
output.push(" self.dev_setting_name = os.environ.get(dev_setting_name, None)");
output.push("");
output.push(" def create_resource(self, name, **kwargs):");
output.push(" def create_resource(self, name, **_):");
output.push(" if self.dev_setting_name:");
output.push(" return {self.parameter_name: self.dev_setting_name, }");
output.push("");
Expand All @@ -61,50 +61,46 @@ export function GenerateAzureCliTestPrepare(model: CodeModelAz): string[] {
output.push(" self.test_class_instance.kwargs[self.key] = name");
output.push(" return {self.parameter_name: name}");
output.push("");
output.push(" def remove_resource(self, name, **kwargs):");
output.push(" def remove_resource(self, name, **_):");
output.push(" # delete vnet if test is being recorded and if the vnet is not a dev rg");
output.push(" if not self.dev_setting_name:");
output.push(" self.live_only_execute(");
output.push(" self.cli_ctx, 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name))");
output.push(" self.cli_ctx,");
output.push(" 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name))");
output.push("");
output.push("");
output.push("class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer):");
output.push(" def __init__(self, name_prefix='clitest.vn',");
output.push(" parameter_name='subnet',");
output.push(" resource_group_name=None,");
output.push(" resource_group_key=KEY_RESOURCE_GROUP,");
output.push(" vnet_name=None,");
output.push(" vnet_key=KEY_VIRTUAL_NETWORK,");
output.push(" address_prefixes=\"11.0.0.0/24\",");
output.push(" dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME',");
output.push(" random_name_length=24, key=KEY_VNET_SUBNET):");
output.push(" key=KEY_VNET_SUBNET):");
output.push(" if ' ' in name_prefix:");
output.push(" raise CliTestError(");
output.push(" 'Error: Space character in name prefix \\'%s\\'' % name_prefix)");
output.push(" super(VnetSubnetPreparer, self).__init__(");
output.push(" name_prefix, random_name_length)");
output.push(" super(VnetSubnetPreparer, self).__init__(name_prefix, 15)");
output.push(" self.cli_ctx = get_dummy_cli()");
output.push(" self.parameter_name = parameter_name");
output.push(" self.key = key");
output.push(" self.resource_group_name = resource_group_name");
output.push(" self.resource_group_key = resource_group_key");
output.push(" self.vnet_name = vnet_name");
output.push(" self.vnet_key = vnet_key");
output.push(" self.resource_group = [resource_group_key, None]");
output.push(" self.vnet = [vnet_key, None]");
output.push(" self.address_prefixes = address_prefixes");
output.push(" self.dev_setting_name = os.environ.get(dev_setting_name, None)");
output.push("");
output.push(" def create_resource(self, name, **kwargs):");
output.push(" def create_resource(self, name, **_):");
output.push(" if self.dev_setting_name:");
output.push(" return {self.parameter_name: self.dev_setting_name, }");
output.push("");
output.push(" if not self.resource_group_name:");
output.push(" self.resource_group_name = self.test_class_instance.kwargs.get(");
output.push(" self.resource_group_key)");
output.push(" if not self.resource_group_name:");
output.push(" if not self.resource_group[1]:");
output.push(" self.resource_group[1] = self.test_class_instance.kwargs.get(");
output.push(" self.resource_group[0])");
output.push(" if not self.resource_group[1]:");
output.push(" raise CliTestError(\"Error: No resource group configured!\")");
output.push(" if not self.vnet_name:");
output.push(" self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key)");
output.push(" if not self.vnet_name:");
output.push(" if not self.vnet[1]:");
output.push(" self.vnet[1] = self.test_class_instance.kwargs.get(self.vnet[0])");
output.push(" if not self.vnet[1]:");
output.push(" raise CliTestError(\"Error: No vnet configured!\")");
output.push("");
// output.push(" # tags = {'product': 'azurecli', 'cause': 'automation',");
Expand All @@ -122,7 +118,7 @@ export function GenerateAzureCliTestPrepare(model: CodeModelAz): string[] {
output.push(" self.test_class_instance.kwargs[self.key] = 'default'");
output.push(" return {self.parameter_name: name}");
output.push("");
output.push(" def remove_resource(self, name, **kwargs):");
output.push(" def remove_resource(self, name, **_):");
output.push(" pass");
// output.push(" # delete vnet if test is being recorded and if the vnet is not a dev rg");
// output.push(" if not self.dev_setting_name:");
Expand All @@ -132,55 +128,51 @@ export function GenerateAzureCliTestPrepare(model: CodeModelAz): string[] {
// output.push(" name, self.resource_group_name,");
// output.push(" self.vnet_name))");
output.push("");
output.push("");
output.push("class VnetNicPreparer(NoTrafficRecordingPreparer, SingleValueReplacer):");
output.push(" def __init__(self, name_prefix='clitest.nic',");
output.push(" parameter_name='subnet',");
output.push(" resource_group_name=None,");
output.push(" resource_group_key=KEY_RESOURCE_GROUP,");
output.push(" vnet_name=None,");
output.push(" vnet_key=KEY_VIRTUAL_NETWORK,");
output.push(" dev_setting_name='AZURE_CLI_TEST_DEV_VNET_NIC_NAME',");
output.push(" random_name_length=15, key=KEY_VNET_NIC):");
output.push(" key=KEY_VNET_NIC):");
output.push(" if ' ' in name_prefix:");
output.push(" raise CliTestError(");
output.push(" 'Error: Space character in name prefix \\'%s\\'' % name_prefix)");
output.push(" super(VnetNicPreparer, self).__init__(");
output.push(" name_prefix, random_name_length)");
output.push(" super(VnetNicPreparer, self).__init__(name_prefix, 15)");
output.push(" self.cli_ctx = get_dummy_cli()");
output.push(" self.parameter_name = parameter_name");
output.push(" self.key = key");
output.push(" self.resource_group_name = resource_group_name");
output.push(" self.resource_group_key = resource_group_key");
output.push(" self.vnet_name = vnet_name");
output.push(" self.vnet_key = vnet_key");
output.push(" self.resource_group = [resource_group_key, None]");
output.push(" self.vnet = [vnet_key, None]");
output.push(" self.dev_setting_name = os.environ.get(dev_setting_name, None)");
output.push("");
output.push(" def create_resource(self, name, **kwargs):");
output.push(" def create_resource(self, name, **_):");
output.push(" if self.dev_setting_name:");
output.push(" return {self.parameter_name: self.dev_setting_name, }");
output.push("");
output.push(" if not self.resource_group_name:");
output.push(" self.resource_group_name = self.test_class_instance.kwargs.get(");
output.push(" self.resource_group_key)");
output.push(" if not self.resource_group_name:");
output.push(" if not self.resource_group[1]:");
output.push(" self.resource_group[1] = self.test_class_instance.kwargs.get(");
output.push(" self.resource_group[0])");
output.push(" if not self.resource_group[1]:");
output.push(" raise CliTestError(\"Error: No resource group configured!\")");
output.push(" if not self.vnet_name:");
output.push(" self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key)");
output.push(" if not self.vnet_name:");
output.push(" if not self.vnet[1]:");
output.push(" self.vnet[1] = self.test_class_instance.kwargs.get(self.vnet[0])");
output.push(" if not self.vnet[1]:");
output.push(" raise CliTestError(\"Error: No vnet configured!\")");
output.push("");
output.push(" template = 'az network nic create --resource-group {} --name {} --vnet-name {} --subnet default '");
output.push(" self.live_only_execute(self.cli_ctx, template.format(");
output.push(" self.resource_group_name, name, self.vnet_name))");
output.push(" self.resource_group[1], name, self.vnet[1]))");
output.push("");
output.push(" self.test_class_instance.kwargs[self.key] = name");
output.push(" return {self.parameter_name: name}");
output.push("");
output.push(" def remove_resource(self, name, **kwargs):");
output.push(" def remove_resource(self, name, **_):");
output.push(" if not self.dev_setting_name:");
output.push(" self.live_only_execute(");
output.push(" self.cli_ctx,");
output.push(" 'az network nic delete --name {} --resource-group {}'.format(name, self.resource_group_name))");
output.push(" 'az network nic delete --name {} --resource-group {}'.format(name, self.resource_group[1]))");
output.push("");
return output;
}
Expand Down
2 changes: 0 additions & 2 deletions src/plugins/azgenerator/TemplateAzureCliValidators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ export function GenerateAzureCliValidators(model: CodeModelAz) : string[] {
let header: HeaderGenerator = new HeaderGenerator();
var output: string[] = header.getLines();

output.push("");
output.push("");
output.push("");

return output;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ def __init__(self, cli_ctx=None):
attestation_custom = CliCommandType(
operations_tmpl='azext_attestation.custom#{}',
client_factory=cf_attestation)
super(AttestationManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx,
custom_command_type=attestation_custom)
parent = super(AttestationManagementClientCommandsLoader, self)
parent.__init__(cli_ctx=cli_ctx, custom_command_type=attestation_custom)

def load_command_table(self, args):
from azext_attestation.generated.commands import load_command_table
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
# pylint: disable=too-many-lines
# pylint: disable=too-many-statements

from knack.arguments import CLIArgumentType
from azure.cli.core.commands.parameters import (
tags_type,
resource_group_name_type,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,3 @@
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------


Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ def __call__(self, parser, namespace, values, option_string=None):
action = self.get_action(values, option_string)
super(AddPolicySigningCertificatesKeys, self).__call__(parser, namespace, action, option_string)


def get_action(self, values, option_string): # pylint: disable=no-self-use
try:
properties = defaultdict(list)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# pylint: disable=too-many-lines


def attestation_create_provider(cmd, client,
def attestation_create_provider(client,
resource_group_name,
provider_name,
location,
Expand All @@ -25,25 +25,25 @@ def attestation_create_provider(cmd, client,
keys=policy_signing_certificates_keys)


def attestation_list_operation(cmd, client):
def attestation_list_operation(client):
return client.list()


def attestation_attestation_provider_provider_list(cmd, client,
def attestation_attestation_provider_provider_list(client,
resource_group_name=None):
if resource_group_name:
return client.list_by_resource_group(resource_group_name=resource_group_name)
return client.list()


def attestation_attestation_provider_show(cmd, client,
def attestation_attestation_provider_show(client,
resource_group_name,
provider_name):
return client.get(resource_group_name=resource_group_name,
provider_name=provider_name)


def attestation_attestation_provider_update(cmd, client,
def attestation_attestation_provider_update(client,
resource_group_name,
provider_name,
tags=None):
Expand All @@ -52,7 +52,7 @@ def attestation_attestation_provider_update(cmd, client,
tags=tags)


def attestation_attestation_provider_delete(cmd, client,
def attestation_attestation_provider_delete(client,
resource_group_name,
provider_name):
return client.delete(resource_group_name=resource_group_name,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import os
import sys
import traceback
from azure.core.exceptions import AzureError
from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError


__path__ = __import__('pkgutil').extend_path(__path__, __name__)
Expand Down Expand Up @@ -47,7 +49,7 @@ def wrapper(*args, **kwargs):
print("running {}()...".format(func.__name__))
try:
return func_to_call(*args, **kwargs)
except BaseException as e:
except (AssertionError, AzureError, CliTestError, CliExecutionError, JMESPathCheckAssertionError) as e:
print("--------------------------------------")
print("step exception: ", e)
print("--------------------------------------", file=sys.stderr)
Expand All @@ -57,8 +59,7 @@ def wrapper(*args, **kwargs):

if inspect.isclass(func):
return get_func_to_call()
else:
return wrapper
return wrapper


def raise_if():
Expand Down
Loading

0 comments on commit 86fbb9e

Please sign in to comment.