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

Commit a1fdf86

Browse files
f-alizadaFarhad Alizada
andauthored
Add loggerResourceId parameter to logger template (#772)
Co-authored-by: Farhad Alizada <[email protected]>
1 parent 4a7b828 commit a1fdf86

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/ArmTemplates/Extractor/EntityExtractors/LoggerExtractor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public async Task<Template<LoggerTemplateResources>> GenerateLoggerTemplateAsync
4848
{
4949
var loggerTemplate = this.templateBuilder
5050
.GenerateTemplateWithApimServiceNameProperty()
51+
.AddParameterizedLogResourceIdProperty(extractorParameters)
5152
.Build<LoggerTemplateResources>();
5253

5354
if (extractorParameters.ParameterizeApiLoggerId)

tests/ArmTemplates.Tests/Extractor/Scenarios/LoggerExtractorTests.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,5 +131,42 @@ public async Task GenerateLoggersTemplates_ShouldPopulateCacheWithoutError_Given
131131
loggerExtractor.Cache.ApiDiagnosticLoggerBindings[apiName].First().Equals(diagnosticLoggerBindings.First()).Should().BeTrue();
132132
}
133133
}
134+
135+
[Fact]
136+
public async Task GenerateLoggersTemplates_ContainsLoggerResourceParameter_GivenParamLogResourceIdIsTrue()
137+
{
138+
// arrange
139+
var currentTestDirectory = Path.Combine(this.OutputDirectory, nameof(GenerateLoggersTemplates_ContainsLoggerResourceParameter_GivenParamLogResourceIdIsTrue));
140+
141+
var extractorConfig = this.GetDefaultExtractorConsoleAppConfiguration(paramLogResourceId: "true", paramApiLoggerId: "true");
142+
var extractorParameters = new ExtractorParameters(extractorConfig);
143+
144+
var mockedLoggerClient = MockLoggerClient.GetMockedClientWithDiagnosticDependentValues();
145+
var mockedDiagnosticClient = MockDiagnosticClient.GetMockedApiClientWithDefaultValues();
146+
var loggerExtractor = new LoggerExtractor(
147+
this.GetTestLogger<LoggerExtractor>(),
148+
new TemplateBuilder(),
149+
mockedLoggerClient,
150+
mockedDiagnosticClient);
151+
152+
var extractorExecutor = ExtractorExecutor.BuildExtractorExecutor(
153+
this.GetTestLogger<ExtractorExecutor>(),
154+
loggerExtractor: loggerExtractor);
155+
extractorExecutor.SetExtractorParameters(extractorParameters);
156+
157+
// act
158+
var loggerTemplate = await extractorExecutor.GenerateLoggerTemplateAsync(
159+
new List<string> { MockApiName },
160+
It.IsAny<List<PolicyTemplateResource>>(),
161+
currentTestDirectory);
162+
163+
// assert
164+
File.Exists(Path.Combine(currentTestDirectory, extractorParameters.FileNames.Loggers)).Should().BeTrue();
165+
166+
loggerTemplate.Parameters.Should().ContainKey(ParameterNames.ApimServiceName);
167+
loggerTemplate.Parameters.Should().ContainKey(ParameterNames.LoggerResourceId);
168+
loggerTemplate.TypedResources.Loggers.Should().HaveCount(1);
169+
loggerTemplate.Resources.Should().NotBeNullOrEmpty();
170+
}
134171
}
135172
}

0 commit comments

Comments
 (0)