public List <ProductGroupsValue> CreateProductGroupTemplateResources(ProductConfig product, string[] dependsOn) { // create a products/apis association resource for each product provided in the config file List <ProductGroupsValue> productGroupTemplates = new List <ProductGroupsValue>(); // products is comma separated list of productIds string[] groupNames = product.groups.Split(", "); foreach (string groupName in groupNames) { ProductGroupsValue productAPITemplate = this.CreateProductGroupTemplateResource(groupName, product.displayName, dependsOn); productGroupTemplates.Add(productAPITemplate); } return(productGroupTemplates); }
public ProductGroupsValue CreateProductGroupTemplateResource(string groupName, string productName, string[] dependsOn) { // create products/apis resource with properties ProductGroupsValue productAPITemplateResource = new ProductGroupsValue() { name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{productName}/{groupName}')]", type = ResourceTypeConstants.ProductGroup, apiVersion = GlobalConstants.APIVersion, dependsOn = dependsOn, properties = new ProductGroupTemplateProperties() }; return(productAPITemplateResource); }
public void ShouldCreateProductGroupTemplateResourceFromValues() { // arrange ProductGroupTemplateCreator productgroupTemplateCreator = new ProductGroupTemplateCreator(); string groupName = "groupName"; string productName = "productName"; string[] dependsOn = new string[] { "dependsOn" }; // act ProductGroupsValue productGroupTemplateResource = productgroupTemplateCreator.CreateProductGroupTemplateResource(groupName, productName, dependsOn); // assert Assert.Equal($"[concat(parameters('apimServiceName'), '/{productName}/{groupName}')]", productGroupTemplateResource.name); Assert.Equal(dependsOn, productGroupTemplateResource.dependsOn); }