This repository was archived by the owner on Feb 23, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 11 files changed +156
-56
lines changed
apimtemplate.test/CmdLine
Creator/ExampleFiles/YAMLConfigs Expand file tree Collapse file tree 11 files changed +156
-56
lines changed Original file line number Diff line number Diff line change @@ -93,6 +93,24 @@ public void ShouldFailWithInvalidSuffix()
93
93
Assert . Contains ( "API suffix is required" , ex . Message ) ;
94
94
}
95
95
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
+
96
114
[ Fact ]
97
115
public void ShouldNotFailWithValidConfig ( )
98
116
{
Original file line number Diff line number Diff line change @@ -48,6 +48,14 @@ public CreateCommand()
48
48
{
49
49
throw new CommandParsingException ( this , "API suffix is required" ) ;
50
50
}
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
+ }
51
59
else
52
60
{
53
61
// required parameters have been supplied
Original file line number Diff line number Diff line change 1
1
version : 0.0.1
2
- apimServiceName : " myService "
2
+ apimServiceName : testapimlucas
3
3
apiVersionSet :
4
4
displayName : myAPIVersionSet
5
5
description : a description
6
6
versioningScheme : Query
7
7
versionQueryName : versionQuery
8
8
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
Original file line number Diff line number Diff line change @@ -6,23 +6,25 @@ apiVersionSet:
6
6
versionQueryName : versionQuery
7
7
versionHeaderName : versionHeader
8
8
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
10
11
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
11
12
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
16
17
operations :
17
- getSessions :
18
+ addPet :
18
19
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 :
20
21
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
21
22
authenticationSettings :
22
23
subscriptionKeyRequired : false
23
24
oAuth2 :
24
25
authorizationServerId : serverId
25
26
scope : scope
26
- products : starter, plantinum
27
+ products : starter, platinum
27
28
outputLocation : C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28
- linked : true
29
+ linked : false
30
+ linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change 1
1
version : 0.0.1
2
- apimServiceName : " myService "
2
+ apimServiceName : testapimlucas
3
3
apiVersionSet :
4
4
displayName : myAPIVersionSet
5
5
description : a description
6
6
versioningScheme : Query
7
7
versionQueryName : versionQuery
8
8
versionHeaderName : versionHeader
9
9
api :
10
+ name : myAPI
10
11
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
11
12
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
16
17
operations :
17
- getSessions :
18
+ addPet :
18
19
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 :
20
21
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
21
22
authenticationSettings :
22
23
subscriptionKeyRequired : false
23
24
oAuth2 :
24
25
authorizationServerId : serverId
25
26
scope : scope
26
- products : starter, plantinum
27
+ products : starter, platinum
27
28
outputLocation : C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28
- linked : true
29
+ linked : false
30
+ linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Original file line number Diff line number Diff line change 1
1
version : 0.0.1
2
- apimServiceName : " myService "
2
+ apimServiceName : testapimlucas
3
3
apiVersionSet :
4
4
displayName : myAPIVersionSet
5
5
description : a description
6
6
versioningScheme : Query
7
7
versionQueryName : versionQuery
8
8
versionHeaderName : versionHeader
9
9
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
11
12
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
12
13
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
17
18
operations :
18
- getSessions :
19
+ addPet :
19
20
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 :
21
22
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
22
23
authenticationSettings :
23
24
subscriptionKeyRequired : false
24
25
oAuth2 :
25
26
authorizationServerId : serverId
26
27
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
Original file line number Diff line number Diff line change 1
1
version : 0.0.1
2
- apimServiceName : " myService "
2
+ apimServiceName : testapimlucas
3
3
apiVersionSet :
4
4
displayName : myAPIVersionSet
5
5
description : a description
6
6
versioningScheme : Query
7
7
versionQueryName : versionQuery
8
8
versionHeaderName : versionHeader
9
9
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
11
12
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
16
17
operations :
17
- getSessions :
18
+ addPet :
18
19
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 :
20
21
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
21
22
authenticationSettings :
22
23
subscriptionKeyRequired : false
23
24
oAuth2 :
24
25
authorizationServerId : serverId
25
26
scope : scope
26
- products : starter, plantinum
27
+ products : starter, platinum
27
28
outputLocation : C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28
- linked : true
29
+ linked : false
30
+ linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
Original file line number Diff line number Diff line change 1
- apimServiceName : " myService "
1
+ apimServiceName : testapimlucas
2
2
apiVersionSet :
3
3
displayName : myAPIVersionSet
4
4
description : a description
5
5
versioningScheme : Query
6
6
versionQueryName : versionQuery
7
7
versionHeaderName : versionHeader
8
8
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
10
11
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\apiPolicyHeaders.xml
11
12
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
16
17
operations :
17
- getSessions :
18
+ addPet :
18
19
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 :
20
21
policy : C:\Users\lucashh\Desktop\Projects\APIM-ARM\azure-api-management-devops-example\src\APIM_ARMTemplate\apimtemplate\Creator\ExampleFiles\XMLPolicies\operationRateLimit.xml
21
22
authenticationSettings :
22
23
subscriptionKeyRequired : false
23
24
oAuth2 :
24
25
authorizationServerId : serverId
25
26
scope : scope
26
- products : starter, plantinum
27
+ products : starter, platinum
27
28
outputLocation : C:\Users\lucashh\Desktop\Projects\APIM-ARM\GeneratedTemplates
28
- linked : true
29
+ linked : false
30
+ linkedTemplatesBaseUrl : https://lucasyamlblob.blob.core.windows.net/yaml
You can’t perform that action at this time.
0 commit comments