public void ConstructsDynamicParameter() { string[] parameters = { "Name", "Location", "Mode" }; string[] parameterSetNames = { "__AllParameterSets" }; string key = "computeMode"; TemplateFileParameterV1 value = new TemplateFileParameterV1() { AllowedValues = new List<string>() { "Mode1", "Mode2", "Mode3" }, DefaultValue = "Mode1", MaxLength = "5", MinLength = "1", Type = "string" }; KeyValuePair<string, TemplateFileParameterV1> parameter = new KeyValuePair<string, TemplateFileParameterV1>(key, value); RuntimeDefinedParameter dynamicParameter = galleryTemplatesClient.ConstructDynamicParameter(parameters, parameter); Assert.Equal("computeMode", dynamicParameter.Name); Assert.Equal(value.DefaultValue, dynamicParameter.Value); Assert.Equal(typeof(string), dynamicParameter.ParameterType); Assert.Equal(3, dynamicParameter.Attributes.Count); ParameterAttribute parameterAttribute = (ParameterAttribute)dynamicParameter.Attributes[0]; Assert.False(parameterAttribute.Mandatory); Assert.True(parameterAttribute.ValueFromPipelineByPropertyName); Assert.Equal(parameterSetNames[0], parameterAttribute.ParameterSetName); ValidateSetAttribute validateSetAttribute = (ValidateSetAttribute)dynamicParameter.Attributes[1]; Assert.Equal(3, validateSetAttribute.ValidValues.Count); Assert.True(validateSetAttribute.IgnoreCase); Assert.True(value.AllowedValues.Contains(validateSetAttribute.ValidValues[0])); Assert.True(value.AllowedValues.Contains(validateSetAttribute.ValidValues[1])); Assert.True(value.AllowedValues.Contains(validateSetAttribute.ValidValues[2])); Assert.False(validateSetAttribute.ValidValues[0].Contains(' ')); Assert.False(validateSetAttribute.ValidValues[1].Contains(' ')); Assert.False(validateSetAttribute.ValidValues[2].Contains(' ')); ValidateLengthAttribute validateLengthAttribute = (ValidateLengthAttribute)dynamicParameter.Attributes[2]; Assert.Equal(int.Parse(value.MinLength), validateLengthAttribute.MinLength); Assert.Equal(int.Parse(value.MaxLength), validateLengthAttribute.MaxLength); }
public void ConstructsDynamicParameterWithNullAllowedValues() { string[] parameters = { "Name", "Location", "Mode" }; string[] parameterSetNames = { "__AllParameterSets" }; string key = "computeMode"; TemplateFileParameterV1 value = new TemplateFileParameterV1() { AllowedValues = null, DefaultValue = "Mode1", Type = "securestring" }; KeyValuePair<string, TemplateFileParameterV1> parameter = new KeyValuePair<string, TemplateFileParameterV1>(key, value); RuntimeDefinedParameter dynamicParameter = galleryTemplatesClient.ConstructDynamicParameter(parameters, parameter); Assert.Equal("computeMode", dynamicParameter.Name); Assert.Equal(value.DefaultValue, dynamicParameter.Value); Assert.Equal(typeof(SecureString), dynamicParameter.ParameterType); Assert.Equal(1, dynamicParameter.Attributes.Count); ParameterAttribute parameterAttribute = (ParameterAttribute)dynamicParameter.Attributes[0]; Assert.False(parameterAttribute.Mandatory); Assert.True(parameterAttribute.ValueFromPipelineByPropertyName); Assert.Equal(parameterSetNames[0], parameterAttribute.ParameterSetName); }