public void ShouldCreateProductFromCreatorConfig() { // arrange ProductTemplateCreator productTemplateCreator = ProductTemplateCreatorFactory.GenerateProductTemplateCreator(); CreatorConfig creatorConfig = new CreatorConfig() { products = new List <ProductConfig>() }; ProductConfig product = new ProductConfig() { name = "displayName", description = "description", terms = "terms", subscriptionRequired = true, approvalRequired = true, subscriptionsLimit = 1, state = "state" }; creatorConfig.products.Add(product); // act Template productTemplate = productTemplateCreator.CreateProductTemplate(creatorConfig); ProductsTemplateResource productsTemplateResource = (ProductsTemplateResource)productTemplate.resources[0]; // assert Assert.Equal($"[concat(parameters('ApimServiceName'), '/{product.GetName()}')]", productsTemplateResource.name); Assert.Equal(product.GetName(), productsTemplateResource.properties.name); Assert.Equal(product.description, productsTemplateResource.properties.description); Assert.Equal(product.terms, productsTemplateResource.properties.terms); Assert.Equal(product.subscriptionsLimit, productsTemplateResource.properties.subscriptionsLimit); Assert.Equal(product.subscriptionRequired, productsTemplateResource.properties.subscriptionRequired); Assert.Equal(product.approvalRequired, productsTemplateResource.properties.approvalRequired); Assert.Equal(product.state, productsTemplateResource.properties.state); }
public void ShouldCreateProductPolicyTemplateResourceFromCreatorConfigWithCorrectContent() { // arrange PolicyTemplateCreator policyTemplateCreator = PolicyTemplateCreatorFactory.GeneratePolicyTemplateCreator(); CreatorConfig creatorConfig = new CreatorConfig() { products = new List <ProductConfig>() }; ProductConfig product = new ProductConfig() { name = "displayName", description = "description", terms = "terms", subscriptionRequired = true, approvalRequired = true, subscriptionsLimit = 1, state = "state", policy = "http://someurl.com" }; creatorConfig.products.Add(product); string[] dependsOn = new string[] { "dependsOn" }; // act PolicyTemplateResource policyTemplateResource = policyTemplateCreator.CreateProductPolicyTemplateResource(product, dependsOn); // assert Assert.Equal($"[concat(parameters('ApimServiceName'), '/{product.GetName()}/policy')]", policyTemplateResource.name); Assert.Equal("rawxml-link", policyTemplateResource.properties.format); Assert.Equal(product.policy, policyTemplateResource.properties.value); Assert.Equal(dependsOn, policyTemplateResource.dependsOn); }