public async void ShouldCreateSubsequentlAPITemplateResourceFromCreatorConfigWithCorrectContent() { // arrange APITemplateCreator apiTemplateCreator = APITemplateCreatorFactory.GenerateAPITemplateCreator(); CreatorConfig creatorConfig = new CreatorConfig() { apis = new List <APIConfig>() }; APIConfig api = new APIConfig() { name = "name", openApiSpec = "https://petstore.swagger.io/v2/swagger.json" }; creatorConfig.apis.Add(api); // act APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, true); // assert Assert.Equal($"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]", apiTemplateResource.Name); Assert.Equal("swagger-link-json", apiTemplateResource.Properties.Format); Assert.Equal(api.openApiSpec, apiTemplateResource.Properties.Value); }
public async void ShouldCreateUnifiedAPITemplateResourceFromCreatorConfig() { // arrange APITemplateCreator apiTemplateCreator = APITemplateCreatorFactory.GenerateAPITemplateCreator(); CreatorConfig creatorConfig = new CreatorConfig() { apis = new List <APIConfig>() }; APIConfig api = new APIConfig() { name = "name", apiVersion = "apiVersion", apiVersionDescription = "apiVersionDescription", apiVersionSetId = "apiVersionSetId", apiRevision = "revision", apiRevisionDescription = "revisionDescription", suffix = "suffix", subscriptionRequired = true, authenticationSettings = new APITemplateAuthenticationSettings() { OAuth2 = new APITemplateOAuth2() { AuthorizationServerId = "", Scope = "" }, Openid = new APITemplateOpenID() { OpenIdProviderId = "", BearerTokenSendingMethods = new string[] { } }, SubscriptionKeyRequired = true }, openApiSpec = "https://petstore.swagger.io/v2/swagger.json", protocols = "https", isCurrent = true, type = "http" }; creatorConfig.apis.Add(api); // act APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, false, true); // assert Assert.Equal($"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]", apiTemplateResource.Name); Assert.Equal(api.name, apiTemplateResource.Properties.DisplayName); Assert.Equal(api.apiVersion, apiTemplateResource.Properties.ApiVersion); Assert.Equal(api.type, apiTemplateResource.Properties.Type); Assert.Equal(api.type, apiTemplateResource.Properties.ApiType); Assert.Equal(api.isCurrent, apiTemplateResource.Properties.IsCurrent); Assert.Equal(new string[] { api.protocols }, apiTemplateResource.Properties.Protocols); Assert.Equal(api.apiVersionDescription, apiTemplateResource.Properties.ApiVersionDescription); Assert.Equal($"[resourceId('Microsoft.ApiManagement/service/apiVersionSets', parameters('{ParameterNames.ApimServiceName}'), '{api.apiVersionSetId}')]", apiTemplateResource.Properties.ApiVersionSetId); Assert.Equal(api.apiRevision, apiTemplateResource.Properties.ApiRevision); Assert.Equal(api.apiRevisionDescription, apiTemplateResource.Properties.ApiRevisionDescription); Assert.Equal(api.suffix, apiTemplateResource.Properties.Path); Assert.Equal(api.subscriptionRequired, apiTemplateResource.Properties.SubscriptionRequired); Assert.Equal(api.authenticationSettings.OAuth2.AuthorizationServerId, apiTemplateResource.Properties.AuthenticationSettings.OAuth2.AuthorizationServerId); Assert.Equal(api.authenticationSettings.OAuth2.Scope, apiTemplateResource.Properties.AuthenticationSettings.OAuth2.Scope); Assert.Equal(api.authenticationSettings.Openid.OpenIdProviderId, apiTemplateResource.Properties.AuthenticationSettings.Openid.OpenIdProviderId); Assert.Equal(api.authenticationSettings.Openid.BearerTokenSendingMethods, apiTemplateResource.Properties.AuthenticationSettings.Openid.BearerTokenSendingMethods); Assert.Equal(api.authenticationSettings.SubscriptionKeyRequired, apiTemplateResource.Properties.AuthenticationSettings.SubscriptionKeyRequired); Assert.Equal("swagger-link-json", apiTemplateResource.Properties.Format); Assert.Equal(api.openApiSpec, apiTemplateResource.Properties.Value); }