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

Commit 6b66703

Browse files
authored
[Creator] Add subscriptionKeyParameterNames, fix serviceUrl (#277)
* temp * [Extractor] Don't generate empty Templates * [Creator] fix sevUrl add parameter names * Ajdjust test case since change api templates
1 parent ab96642 commit 6b66703

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

src/APIM_ARMTemplate/apimtemplate.test/Creator/TemplateCreatorTests/APITemplateCreatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public async void ShouldCreateInitialAPITemplateResourceFromCreatorConfig()
4646
creatorConfig.apis.Add(api);
4747

4848
// act
49-
APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, true);
49+
APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, false);
5050

5151
// assert
5252
Assert.Equal($"[concat(parameters('ApimServiceName'), '/{api.name}')]", apiTemplateResource.name);
@@ -83,7 +83,7 @@ public async void ShouldCreateSubsequentlAPITemplateResourceFromCreatorConfigWit
8383
creatorConfig.apis.Add(api);
8484

8585
// act
86-
APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, false);
86+
APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, true);
8787

8888
// assert
8989
Assert.Equal($"[concat(parameters('ApimServiceName'), '/{api.name}')]", apiTemplateResource.name);

src/APIM_ARMTemplate/apimtemplate/Commands/Create.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public CreateCommand()
115115
APITemplateResource apiResource = apiTemplate.resources.FirstOrDefault(resource => resource.type == ResourceTypeConstants.API) as APITemplateResource;
116116
APIConfig providedAPIConfiguration = creatorConfig.apis.FirstOrDefault(api => apiResource.name.Contains(api.name, StringComparison.Ordinal));
117117
// if the api version is not null the api is split into multiple templates. If the template is split and the content value has been set, then the template is for a subsequent api
118-
string apiFileName = fileNameGenerator.GenerateCreatorAPIFileName(providedAPIConfiguration.name, apiTemplateCreator.isSplitAPI(providedAPIConfiguration), apiResource.properties.value == null, creatorConfig.apimServiceName);
118+
string apiFileName = fileNameGenerator.GenerateCreatorAPIFileName(providedAPIConfiguration.name, apiTemplateCreator.isSplitAPI(providedAPIConfiguration), apiResource.properties.value != null, creatorConfig.apimServiceName);
119119
fileWriter.WriteJSONToFile(apiTemplate, String.Concat(creatorConfig.outputLocation, apiFileName));
120120
}
121121
if (globalServicePolicyTemplate != null)

src/APIM_ARMTemplate/apimtemplate/Creator/Models/CreatorConfiguration.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public class APIConfig
5555
public string apiRevisionDescription { get; set; }
5656
public Dictionary<string, OperationsConfig> operations { get; set; }
5757
public APITemplateAuthenticationSettings authenticationSettings { get; set; }
58+
public APITemplateSubscriptionKeyParameterNames subscriptionKeyParameterNames { get; set; }
5859
public string products { get; set; }
5960
public string tags { get; set; }
6061
public string protocols { get; set; }

src/APIM_ARMTemplate/apimtemplate/Creator/TemplateCreators/APITemplateCreator.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
118118
};
119119

120120
// add properties depending on whether the template is the initial, subsequent, or unified
121-
if (!isSplit || isInitial)
121+
if (!isSplit || !isInitial)
122122
{
123123
// add metadata properties for initial and unified templates
124124
apiTemplateResource.properties.apiVersion = api.apiVersion;
@@ -131,6 +131,7 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
131131
apiTemplateResource.properties.apiRevisionDescription = api.apiRevisionDescription;
132132
apiTemplateResource.properties.apiVersionDescription = api.apiVersionDescription;
133133
apiTemplateResource.properties.authenticationSettings = api.authenticationSettings;
134+
apiTemplateResource.properties.subscriptionKeyParameterNames = api.subscriptionKeyParameterNames;
134135
apiTemplateResource.properties.path = api.suffix;
135136
apiTemplateResource.properties.isCurrent = api.isCurrent;
136137
apiTemplateResource.properties.displayName = api.name;
@@ -147,8 +148,17 @@ public async Task<APITemplateResource> CreateAPITemplateResourceAsync(APIConfig
147148
{
148149
apiTemplateResource.properties.authenticationSettings.oAuth2.authorizationServerId = api.authenticationSettings.oAuth2.authorizationServerId;
149150
}
151+
// set the subscriptionKey Parameter Names
152+
if (api.subscriptionKeyParameterNames != null) {
153+
if (api.subscriptionKeyParameterNames.header != null) {
154+
apiTemplateResource.properties.subscriptionKeyParameterNames.header = api.subscriptionKeyParameterNames.header;
155+
}
156+
if (api.subscriptionKeyParameterNames.query != null) {
157+
apiTemplateResource.properties.subscriptionKeyParameterNames.query = api.subscriptionKeyParameterNames.query;
158+
}
159+
}
150160
}
151-
if (!isSplit || !isInitial)
161+
if (!isSplit || isInitial)
152162
{
153163
// add open api spec properties for subsequent and unified templates
154164
string format;

0 commit comments

Comments
 (0)