|
20 | 20 | using Microsoft.Azure.Management.ApiManagement.ArmTemplates.Common.Templates.IdentityProviders;
|
21 | 21 | using Microsoft.Azure.Management.ApiManagement.ArmTemplates.Tests.Moqs.IdentityProviderClients;
|
22 | 22 | using Microsoft.Azure.Management.ApiManagement.ArmTemplates.Common.Templates.OpenIdConnectProviders;
|
| 23 | +using Microsoft.Azure.Management.ApiManagement.ArmTemplates.Common.Templates.Backend; |
23 | 24 |
|
24 | 25 | namespace Microsoft.Azure.Management.ApiManagement.ArmTemplates.Tests.Extractor.Scenarios
|
25 | 26 | {
|
@@ -432,5 +433,63 @@ public void CreateResourceTemplateParameterTemplate_ProperlyGeneratesTemplate_Wi
|
432 | 433 | resourceTemplateParameterTemplate.Parameters["parameter1"].Should().NotBeNull();
|
433 | 434 | resourceTemplateParameterTemplate.Parameters["parameter2"].Should().NotBeNull();
|
434 | 435 | }
|
| 436 | + |
| 437 | + [Fact] |
| 438 | + public async Task CreateResourceTemplateParameterTemplate_ProperlyGeneratesTemplate_WithBackendProxySettings() |
| 439 | + { |
| 440 | + // arrange |
| 441 | + var currentTestDirectory = Path.Combine(this.OutputDirectory, nameof(CreateResourceTemplateParameterTemplate_ProperlyGeneratesTemplate_WithBackendProxySettings)); |
| 442 | + |
| 443 | + var extractorConfig = this.GetDefaultExtractorConsoleAppConfiguration(paramBackend: "true"); |
| 444 | + var extractorParameters = new ExtractorParameters(extractorConfig); |
| 445 | + var extractorExecutor = this.GetExtractorInstance(extractorParameters, null); |
| 446 | + |
| 447 | + var backends = new BackendTemplateResources() |
| 448 | + { |
| 449 | + BackendNameParametersCache = new Dictionary<string, BackendApiParameters>() |
| 450 | + { |
| 451 | + { "key1", new BackendApiParameters() { Protocol = "protocol", ResourceId = "resourceId", Url = "url" } } |
| 452 | + }, |
| 453 | + BackendProxyParametersCache = new Dictionary<string, BackendProxyParameters>() |
| 454 | + { |
| 455 | + { "key1", new BackendProxyParameters() { Username = "username", Url = "url" } } |
| 456 | + }, |
| 457 | + Backends = new List<BackendTemplateResource>() |
| 458 | + { |
| 459 | + { |
| 460 | + new BackendTemplateResource |
| 461 | + { |
| 462 | + Name = "test" |
| 463 | + } |
| 464 | + } |
| 465 | + } |
| 466 | + }; |
| 467 | + |
| 468 | + // act |
| 469 | + var parametersTemplate = await extractorExecutor.GenerateParametersTemplateAsync(null, null, backends, null, new IdentityProviderResources(), new OpenIdConnectProviderResources(), currentTestDirectory); |
| 470 | + |
| 471 | + File.Exists(Path.Combine(currentTestDirectory, extractorParameters.FileNames.Parameters)).Should().BeTrue(); |
| 472 | + |
| 473 | + parametersTemplate.Parameters.Should().ContainKey(ParameterNames.BackendProxy); |
| 474 | + parametersTemplate.Parameters.Should().ContainKey(ParameterNames.BackendSettings); |
| 475 | + |
| 476 | + var backendProxyParameters = (TemplateObjectParameterProperties)parametersTemplate.Parameters[ParameterNames.BackendProxy]; |
| 477 | + var backendProxyParameterValues = (Dictionary<string, BackendProxyParameters>)backendProxyParameters.Value; |
| 478 | + |
| 479 | + backendProxyParameterValues.Should().NotBeNull(); |
| 480 | + backendProxyParameterValues.ContainsKey("key1").Should().BeTrue(); |
| 481 | + backendProxyParameterValues["key1"].Username.Should().Be("username"); |
| 482 | + backendProxyParameterValues["key1"].Url.Should().Be("url"); |
| 483 | + |
| 484 | + |
| 485 | + var backendSettingsParameters = (TemplateObjectParameterProperties)parametersTemplate.Parameters[ParameterNames.BackendSettings]; |
| 486 | + var backendSettingsParameterValues = (Dictionary<string, BackendApiParameters>)backendSettingsParameters.Value; |
| 487 | + |
| 488 | + backendSettingsParameterValues.Should().NotBeNull(); |
| 489 | + backendSettingsParameterValues.ContainsKey("key1").Should().BeTrue(); |
| 490 | + backendSettingsParameterValues["key1"].Protocol.Should().Be("protocol"); |
| 491 | + backendSettingsParameterValues["key1"].ResourceId.Should().Be("resourceId"); |
| 492 | + backendSettingsParameterValues["key1"].Url.Should().Be("url"); |
| 493 | + } |
435 | 494 | }
|
436 | 495 | }
|
0 commit comments