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

Commit 8a79658

Browse files
committed
update example config files, write additional create tests
1 parent 977ab71 commit 8a79658

File tree

11 files changed

+156
-56
lines changed

11 files changed

+156
-56
lines changed

src/APIM_ARMTemplate/apimtemplate.test/CmdLine/CreateTests.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,24 @@ public void ShouldFailWithInvalidSuffix()
9393
Assert.Contains("API suffix is required", ex.Message);
9494
}
9595

96+
[Fact]
97+
public void ShouldFailWithInvalidAPIName()
98+
{
99+
var createCommand = new CreateCommand();
100+
string[] args = new string[] { "--configFile", String.Concat(this.configExamplesFolder, "invalidAPIName.yml") };
101+
var ex = Assert.ThrowsAny<CommandParsingException>(() => createCommand.Execute(args));
102+
Assert.Contains("API name is required", ex.Message);
103+
}
104+
105+
[Fact]
106+
public void ShouldFailWithInvalidLinking()
107+
{
108+
var createCommand = new CreateCommand();
109+
string[] args = new string[] { "--configFile", String.Concat(this.configExamplesFolder, "invalidLinking.yml") };
110+
var ex = Assert.ThrowsAny<CommandParsingException>(() => createCommand.Execute(args));
111+
Assert.Contains("LinkTemplatesBaseUrl is required for linked templates", ex.Message);
112+
}
113+
96114
[Fact]
97115
public void ShouldNotFailWithValidConfig()
98116
{

src/APIM_ARMTemplate/apimtemplate/Commands/Create.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ public CreateCommand()
4848
{
4949
throw new CommandParsingException(this, "API suffix is required");
5050
}
51+
else if (creatorConfig.api.name == null)
52+
{
53+
throw new CommandParsingException(this, "API name is required");
54+
}
55+
else if (creatorConfig.linked == true && creatorConfig.linkedTemplatesBaseUrl == null)
56+
{
57+
throw new CommandParsingException(this, "LinkTemplatesBaseUrl is required for linked templates");
58+
}
5159
else
5260
{
5361
// required parameters have been supplied
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
version: 0.0.1
2-
apimServiceName: "myService"
2+
apimServiceName: testapimlucas
33
apiVersionSet:
44
displayName: myAPIVersionSet
55
description: a description
66
versioningScheme: Query
77
versionQueryName: versionQuery
88
versionHeaderName: versionHeader
9-
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
10-
linked: true
9+
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates

src/APIM_ARMTemplate/apimtemplate/Creator/ExampleFiles/YAMLConfigs/invalidAPIMServiceName.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,25 @@ apiVersionSet:
66
versionQueryName: versionQuery
77
versionHeaderName: versionHeader
88
api:
9-
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\dataGenAPIDefinition.json
9+
name: myAPI
10+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
1011
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
1112
suffix: conf
12-
apiVersion: v2
13-
apiVersionDescription: vDesc
14-
revision: 2
15-
revisionDescription: rDesc
13+
apiVersion: v1
14+
apiVersionDescription: My first version
15+
revision: 1
16+
revisionDescription: My first revision
1617
operations:
17-
getSessions:
18+
addPet:
1819
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
19-
postSessions:
20+
deletePet:
2021
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
2122
authenticationSettings:
2223
subscriptionKeyRequired: false
2324
oAuth2:
2425
authorizationServerId: serverId
2526
scope: scope
26-
products: starter, plantinum
27+
products: starter, platinum
2728
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28-
linked: true
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 0.0.1
2+
apimServiceName: testapimlucas
3+
apiVersionSet:
4+
displayName: myAPIVersionSet
5+
description: a description
6+
versioningScheme: Query
7+
versionQueryName: versionQuery
8+
versionHeaderName: versionHeader
9+
api:
10+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
11+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
12+
suffix: conf
13+
apiVersion: v1
14+
apiVersionDescription: My first version
15+
revision: 1
16+
revisionDescription: My first revision
17+
operations:
18+
addPet:
19+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
20+
deletePet:
21+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
22+
authenticationSettings:
23+
subscriptionKeyRequired: false
24+
oAuth2:
25+
authorizationServerId: serverId
26+
scope: scope
27+
products: starter, platinum
28+
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 0.0.1
2+
apimServiceName: testapimlucas
3+
apiVersionSet:
4+
displayName: myAPIVersionSet
5+
description: a description
6+
versioningScheme: Query
7+
versionQueryName: versionQuery
8+
versionHeaderName: versionHeader
9+
api:
10+
name: myAPI
11+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
12+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
13+
suffix: conf
14+
apiVersion: v1
15+
apiVersionDescription: My first version
16+
revision: 1
17+
revisionDescription: My first revision
18+
operations:
19+
addPet:
20+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
21+
deletePet:
22+
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
23+
authenticationSettings:
24+
subscriptionKeyRequired: false
25+
oAuth2:
26+
authorizationServerId: serverId
27+
scope: scope
28+
products: starter, platinum
29+
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
30+
linked: true
Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
version: 0.0.1
2-
apimServiceName: "myService"
2+
apimServiceName: testapimlucas
33
apiVersionSet:
44
displayName: myAPIVersionSet
55
description: a description
66
versioningScheme: Query
77
versionQueryName: versionQuery
88
versionHeaderName: versionHeader
99
api:
10+
name: myAPI
1011
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
1112
suffix: conf
12-
apiVersion: v2
13-
apiVersionDescription: vDesc
14-
revision: 2
15-
revisionDescription: rDesc
13+
apiVersion: v1
14+
apiVersionDescription: My first version
15+
revision: 1
16+
revisionDescription: My first revision
1617
operations:
17-
getSessions:
18+
addPet:
1819
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
19-
postSessions:
20+
deletePet:
2021
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
2122
authenticationSettings:
2223
subscriptionKeyRequired: false
2324
oAuth2:
2425
authorizationServerId: serverId
2526
scope: scope
26-
products: starter, plantinum
27+
products: starter, platinum
2728
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28-
linked: true
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
version: 0.0.1
2-
apimServiceName: "myService"
2+
apimServiceName: testapimlucas
33
apiVersionSet:
44
displayName: myAPIVersionSet
55
description: a description
66
versioningScheme: Query
77
versionQueryName: versionQuery
88
versionHeaderName: versionHeader
99
api:
10-
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\dataGenAPIDefinition.json
10+
name: myAPI
11+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
1112
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
1213
suffix: conf
13-
apiVersion: v2
14-
apiVersionDescription: vDesc
15-
revision: 2
16-
revisionDescription: rDesc
14+
apiVersion: v1
15+
apiVersionDescription: My first version
16+
revision: 1
17+
revisionDescription: My first revision
1718
operations:
18-
getSessions:
19+
addPet:
1920
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
20-
postSessions:
21+
deletePet:
2122
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
2223
authenticationSettings:
2324
subscriptionKeyRequired: false
2425
oAuth2:
2526
authorizationServerId: serverId
2627
scope: scope
27-
products: starter, plantinum
28-
linked: true
28+
products: starter, platinum
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
version: 0.0.1
2-
apimServiceName: "myService"
2+
apimServiceName: testapimlucas
33
apiVersionSet:
44
displayName: myAPIVersionSet
55
description: a description
66
versioningScheme: Query
77
versionQueryName: versionQuery
88
versionHeaderName: versionHeader
99
api:
10-
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\dataGenAPIDefinition.json
10+
name: myAPI
11+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
1112
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
12-
apiVersion: v2
13-
apiVersionDescription: vDesc
14-
revision: 2
15-
revisionDescription: rDesc
13+
apiVersion: v1
14+
apiVersionDescription: My first version
15+
revision: 1
16+
revisionDescription: My first revision
1617
operations:
17-
getSessions:
18+
addPet:
1819
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
19-
postSessions:
20+
deletePet:
2021
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
2122
authenticationSettings:
2223
subscriptionKeyRequired: false
2324
oAuth2:
2425
authorizationServerId: serverId
2526
scope: scope
26-
products: starter, plantinum
27+
products: starter, platinum
2728
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28-
linked: true
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
1-
apimServiceName: "myService"
1+
apimServiceName: testapimlucas
22
apiVersionSet:
33
displayName: myAPIVersionSet
44
description: a description
55
versioningScheme: Query
66
versionQueryName: versionQuery
77
versionHeaderName: versionHeader
88
api:
9-
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\dataGenAPIDefinition.json
9+
name: myAPI
10+
openApiSpec: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\OpenApiSpecs\swaggerPetstore.json
1011
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
1112
suffix: conf
12-
apiVersion: v2
13-
apiVersionDescription: vDesc
14-
revision: 2
15-
revisionDescription: rDesc
13+
apiVersion: v1
14+
apiVersionDescription: My first version
15+
revision: 1
16+
revisionDescription: My first revision
1617
operations:
17-
getSessions:
18+
addPet:
1819
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
19-
postSessions:
20+
deletePet:
2021
policy: C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
2122
authenticationSettings:
2223
subscriptionKeyRequired: false
2324
oAuth2:
2425
authorizationServerId: serverId
2526
scope: scope
26-
products: starter, plantinum
27+
products: starter, platinum
2728
outputLocation: C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28-
linked: true
29+
linked: false
30+
linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml

0 commit comments

Comments
 (0)