Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit b0781ab

Browse files
f-alizadaFarhad Alizada
andauthored
Remove depends on for productapi template, and depends on previous (#758)
Remove depends on for productapi template, and depends on previous product-api in apis template. Co-authored-by: Farhad Alizada <falizada@microsoft.com>
1 parent 0f0d419 commit b0781ab

File tree

2 files changed

+16
-23
lines changed

2 files changed

+16
-23
lines changed

src/ArmTemplates/Extractor/EntityExtractors/ProductApisExtractor.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,14 @@ async Task<List<ProductApiTemplateResource>> GenerateMultipleApisTemplateAsync(L
9999
{
100100
this.logger.LogInformation("Processing {0} api-names...", multipleApiNames.Count);
101101

102-
string[] dependsOn = Array.Empty<string>();
103102
var templateResources = new List<ProductApiTemplateResource>();
104103
foreach (string apiName in multipleApiNames)
105104
{
106-
var productApiTemplateResources = await this.GenerateProductApiTemplateResourcesAsync(apiName, extractorParameters, dependsOn);
105+
var productApiTemplateResources = await this.GenerateProductApiTemplateResourcesAsync(apiName, extractorParameters, null);
107106

108107
if (!productApiTemplateResources.IsNullOrEmpty())
109108
{
110109
templateResources.AddRange(productApiTemplateResources);
111-
string apiProductName = templateResources.Last().Name.Split('/', 3)[1];
112-
dependsOn = new string[] { $"[resourceId('Microsoft.ApiManagement/service/products/apis', parameters('{ParameterNames.ApimServiceName}'), '{apiProductName}', '{apiName}')]" };
113110
}
114111
}
115112

@@ -119,7 +116,7 @@ async Task<List<ProductApiTemplateResource>> GenerateMultipleApisTemplateAsync(L
119116
async Task<List<ProductApiTemplateResource>> GenerateProductApiTemplateResourcesAsync(
120117
string apiName,
121118
ExtractorParameters extractorParameters,
122-
string[] dependsOn)
119+
string[] dependsOn = null)
123120
{
124121
var productApiResources = new List<ProductApiTemplateResource>();
125122
this.logger.LogInformation("Extracting products from {0} API:", apiName);
@@ -128,7 +125,6 @@ async Task<List<ProductApiTemplateResource>> GenerateProductApiTemplateResources
128125
{
129126
var productApis = await this.productsClient.GetAllLinkedToApiAsync(apiName, extractorParameters);
130127

131-
string lastProductAPIName = null;
132128
foreach (var productApi in productApis)
133129
{
134130
this.logger.LogInformation("'{0}' Product association found", productApi.OriginalName);
@@ -138,11 +134,13 @@ async Task<List<ProductApiTemplateResource>> GenerateProductApiTemplateResources
138134
productApi.Name = $"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{productApi.NewName}/{apiName}')]";
139135
productApi.ApiVersion = GlobalConstants.ApiVersion;
140136
productApi.Scale = null;
141-
productApi.DependsOn = lastProductAPIName != null ? new string[] { lastProductAPIName } : dependsOn;
142-
137+
if (!dependsOn.IsNullOrEmpty())
138+
{
139+
productApi.DependsOn = dependsOn;
140+
}
141+
143142
productApiResources.Add(productApi);
144143

145-
lastProductAPIName = $"[resourceId('Microsoft.ApiManagement/service/products/apis', parameters('{ParameterNames.ApimServiceName}'), '{productApi.NewName}', '{apiName}')]";
146144
}
147145
}
148146
catch (Exception ex)

tests/ArmTemplates.Tests/Extractor/Scenarios/ProductApisExtractorTests.cs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,15 @@ public async Task GenerateProductApisTemplates_ProperlyLaysTheInformation()
6767
productApisTemplate.TypedResources.ProductApis.Count().Should().Be(2);
6868
productApisTemplate.Resources.Count().Should().Be(2);
6969

70-
var productApi1 = productApisTemplate.TypedResources.ProductApis.First();
71-
productApi1.ApiVersion.Should().Be(GlobalConstants.ApiVersion);
72-
productApi1.Name.Should().NotBeNullOrEmpty();
73-
productApi1.Type.Should().Be(ResourceTypeConstants.ProductApi);
74-
productApi1.Properties.DisplayName.Should().NotBeNullOrEmpty();
75-
productApi1.Properties.Description.Should().NotBeNullOrEmpty();
76-
77-
var productApi2 = productApisTemplate.TypedResources.ProductApis.Last();
78-
productApi2.ApiVersion.Should().Be(GlobalConstants.ApiVersion);
79-
productApi2.Name.Should().NotBeNullOrEmpty();
80-
productApi2.Type.Should().Be(ResourceTypeConstants.ProductApi);
81-
productApi2.Properties.DisplayName.Should().NotBeNullOrEmpty();
82-
productApi2.Properties.Description.Should().NotBeNullOrEmpty();
83-
productApi2.DependsOn.Should().NotBeNullOrEmpty();
70+
foreach (var productApi in productApisTemplate.TypedResources.ProductApis)
71+
{
72+
productApi.ApiVersion.Should().Be(GlobalConstants.ApiVersion);
73+
productApi.Name.Should().NotBeNullOrEmpty();
74+
productApi.Type.Should().Be(ResourceTypeConstants.ProductApi);
75+
productApi.Properties.DisplayName.Should().NotBeNullOrEmpty();
76+
productApi.Properties.Description.Should().NotBeNullOrEmpty();
77+
productApi.DependsOn.Should().BeNullOrEmpty();
78+
}
8479
}
8580
}
8681
}

0 commit comments

Comments
 (0)