public async Task Get() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyDefinitionName = Recording.GenerateAssetName("polDef-"); SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName); SubscriptionPolicyDefinitionResource getPolicyDefinition = await subscription.GetSubscriptionPolicyDefinitions().GetAsync(policyDefinitionName); AssertValidPolicyDefinition(policyDefinition, getPolicyDefinition); }
public async Task CreateOrUpdateAtSubscription() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyDefinitionName = Recording.GenerateAssetName("polDef-"); SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName); Assert.AreEqual(policyDefinitionName, policyDefinition.Data.Name); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetSubscriptionPolicyDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, null, policyDefinition.Data)); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetSubscriptionPolicyDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, policyDefinitionName, null)); await policyDefinition.DeleteAsync(WaitUntil.Completed); }
public async Task Delete() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyDefinitionName = Recording.GenerateAssetName("polDef-"); SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName); await policyDefinition.DeleteAsync(WaitUntil.Completed); var ex = Assert.ThrowsAsync <RequestFailedException>(async() => await policyDefinition.GetAsync()); Assert.AreEqual(404, ex.Status); }
public async Task List() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyDefinitionName = Recording.GenerateAssetName("polDef-"); SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName); int count = 0; await foreach (var tempPolicyDefinition in subscription.GetSubscriptionPolicyDefinitions().GetAllAsync()) { count++; } Assert.Greater(count, 0); }
private static void AssertValidPolicyDefinition(SubscriptionPolicyDefinitionResource model, SubscriptionPolicyDefinitionResource getResult) { Assert.AreEqual(model.Data.Name, getResult.Data.Name); Assert.AreEqual(model.Data.Id, getResult.Data.Id); Assert.AreEqual(model.Data.ResourceType, getResult.Data.ResourceType); Assert.AreEqual(model.Data.PolicyType, getResult.Data.PolicyType); Assert.AreEqual(model.Data.Mode, getResult.Data.Mode); Assert.AreEqual(model.Data.DisplayName, getResult.Data.DisplayName); Assert.AreEqual(model.Data.Description, getResult.Data.Description); Assert.AreEqual(model.Data.PolicyRule.ToArray(), getResult.Data.PolicyRule.ToArray()); Assert.AreEqual(model.Data.Metadata.ToArray(), getResult.Data.Metadata.ToArray()); if (model.Data.Parameters != null || getResult.Data.Parameters != null) { Assert.NotNull(model.Data.Parameters); Assert.NotNull(getResult.Data.Parameters); Assert.AreEqual(model.Data.Parameters.Count, getResult.Data.Parameters.Count); foreach (KeyValuePair <string, ArmPolicyParameter> kvp in model.Data.Parameters) { Assert.AreEqual(getResult.Data.Parameters.ContainsKey(kvp.Key), true); ArmPolicyParameter getParameterDefinitionsValue = getResult.Data.Parameters[kvp.Key]; Assert.AreEqual(kvp.Value.ParameterType, getParameterDefinitionsValue.ParameterType); if (kvp.Value.AllowedValues != null || getParameterDefinitionsValue.AllowedValues != null) { Assert.NotNull(kvp.Value.AllowedValues); Assert.NotNull(getParameterDefinitionsValue.AllowedValues); Assert.AreEqual(kvp.Value.AllowedValues.Count, getParameterDefinitionsValue.AllowedValues.Count); for (int i = 0; i < kvp.Value.AllowedValues.Count; ++i) { Assert.AreEqual(kvp.Value.AllowedValues[i], getParameterDefinitionsValue.AllowedValues[i]); } } Assert.AreEqual(kvp.Value.DefaultValue, getParameterDefinitionsValue.DefaultValue); if (kvp.Value.Metadata != null || getParameterDefinitionsValue.Metadata != null) { Assert.NotNull(kvp.Value.Metadata); Assert.NotNull(getParameterDefinitionsValue.Metadata); Assert.AreEqual(kvp.Value.Metadata.DisplayName, getParameterDefinitionsValue.Metadata.DisplayName); Assert.AreEqual(kvp.Value.Metadata.Description, getParameterDefinitionsValue.Metadata.Description); Assert.AreEqual(kvp.Value.Metadata.StrongType, getParameterDefinitionsValue.Metadata.StrongType); Assert.AreEqual(kvp.Value.Metadata.AssignPermissions, getParameterDefinitionsValue.Metadata.AssignPermissions); Assert.AreEqual(kvp.Value.Metadata.AdditionalProperties, getParameterDefinitionsValue.Metadata.AdditionalProperties); } } } }
//protected async Task<PolicyExemptionResource> CreatePolicyExemption(ArmResource armResource, PolicyAssignmentResource policyAssignment, string policyExemptionName) //{ // PolicyExemptionData input = new PolicyExemptionData(policyAssignment.Id, new ExemptionCategory("Waiver")); // ArmOperation<PolicyExemptionResource> lro = await armResource.GetPolicyExemptions().CreateOrUpdateAsync(WaitUntil.Completed, policyExemptionName, input); // return lro.Value; //} protected async Task <SubscriptionPolicySetDefinitionResource> CreatePolicySetDefinitionAtSubscription(SubscriptionResource subscription, SubscriptionPolicyDefinitionResource policyDefinition, string policySetDefinitionName) { PolicySetDefinitionData input = new PolicySetDefinitionData { DisplayName = $"Test ${policySetDefinitionName}", PolicyDefinitions = { new PolicyDefinitionReference(policyDefinition.Id) } }; ArmOperation <SubscriptionPolicySetDefinitionResource> lro = await subscription.GetSubscriptionPolicySetDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, policySetDefinitionName, input); return(lro.Value); }
public virtual SubscriptionPolicyDefinitionResource GetSubscriptionPolicyDefinitionResource(ResourceIdentifier id) { SubscriptionPolicyDefinitionResource.ValidateResourceId(id); return(new SubscriptionPolicyDefinitionResource(this, id)); }