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

Commit 744cc82

Browse files
committed
add unit tests for linked uri and global policy
1 parent 9bbf6f6 commit 744cc82

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ public void ShouldCreateCorrectNumberOfDeploymentResources()
2121
FileNameGenerator fileNameGenerator = new FileNameGenerator();
2222
FileNames creatorFileNames = fileNameGenerator.GenerateFileNames(creatorConfig.apimServiceName);
2323

24-
// should create 5 resources (apiVersionSet, product, logger, both api templates)
25-
int count = 5;
24+
// should create 6 resources (globalServicePolicy, apiVersionSet, product, logger, both api templates)
25+
int count = 6;
2626

2727
// act
2828
Template masterTemplate = masterTemplateCreator.CreateLinkedMasterTemplate(creatorConfig, globalServicePolicyTemplate, apiVersionSetsTemplate, productsTemplate, loggersTemplate, null, null, apiInfoList, creatorFileNames, creatorConfig.apimServiceName, fileNameGenerator);
@@ -85,5 +85,20 @@ public void ShouldCreateLinkedMasterTemplateResourceFromValues()
8585
Assert.Equal(uriLink, masterTemplateResource.properties.templateLink.uri);
8686
Assert.Equal(dependsOn, masterTemplateResource.dependsOn);
8787
}
88+
89+
[Fact]
90+
public void ShouldCreateCorrectLinkedUri()
91+
{
92+
// arrange
93+
MasterTemplateCreator masterTemplateCreator = new MasterTemplateCreator();
94+
CreatorConfig creatorConfig = new CreatorConfig() { apimServiceName = "apimService", linked = true, linkedTemplatesBaseUrl = "http://someurl.com", linkedTemplatesUrlQueryString = "?param=1" };
95+
string apiVersionSetFileName = "/versionSet1-apiVersionSets.template.json";
96+
97+
// act
98+
string linkedResourceUri = masterTemplateCreator.GenerateLinkedTemplateUri(creatorConfig, apiVersionSetFileName);
99+
100+
// assert
101+
Assert.Equal($"[concat(parameters('LinkedTemplatesBaseUrl'), '{apiVersionSetFileName}', parameters('LinkedTemplatesUrlQueryString'))]", linkedResourceUri);
102+
}
88103
}
89104
}

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ namespace Microsoft.Azure.Management.ApiManagement.ArmTemplates.Test
77
{
88
public class PolicyTemplateCreatorTests
99
{
10+
[Fact]
11+
public void ShouldCreateGlobalServicePolicyTemplateResourceFromCreatorConfigWithCorrectContent()
12+
{
13+
// arrange
14+
PolicyTemplateCreator policyTemplateCreator = PolicyTemplateCreatorFactory.GeneratePolicyTemplateCreator();
15+
CreatorConfig creatorConfig = new CreatorConfig() { policy = "http://someurl.com" };
16+
17+
// act
18+
Template policyTemplate = policyTemplateCreator.CreateGlobalServicePolicyTemplate(creatorConfig);
19+
PolicyTemplateResource policyTemplateResource = policyTemplate.resources[0] as PolicyTemplateResource;
20+
21+
// assert
22+
Assert.Equal($"[concat(parameters('ApimServiceName'), '/policy')]", policyTemplateResource.name);
23+
Assert.Equal("rawxml-link", policyTemplateResource.properties.format);
24+
Assert.Equal(creatorConfig.policy, policyTemplateResource.properties.value);
25+
}
26+
1027
[Fact]
1128
public void ShouldCreateAPIPolicyTemplateResourceFromCreatorConfigWithCorrectContent()
1229
{

0 commit comments

Comments
 (0)