Skip to content

Commit 520d3f4

Browse files
authored
Merge pull request #104 from Umplify/improvements
2 parents ee1d071 + d3d76cc commit 520d3f4

File tree

6 files changed

+25
-16
lines changed

6 files changed

+25
-16
lines changed

azure-pipeline-PR.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ steps:
1717
displayName: 'Use .NET 6.0 sdk'
1818
inputs:
1919
packageType: sdk
20-
version: 6.0.101
20+
version: 6.0.200
2121
installationPath: $(Agent.ToolsDirectory)/dotnet
2222
- script: echo Started restoring the source code
2323
- task: DotNetCoreCLI@2

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ steps:
1919
displayName: 'Use .NET 6.0 sdk'
2020
inputs:
2121
packageType: sdk
22-
version: 6.0.101
22+
version: 6.0.200
2323
installationPath: $(Agent.ToolsDirectory)/dotnet
2424
- script: echo Started restoring the source code
2525
- task: DotNetCoreCLI@2
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
using Microsoft.Extensions.Configuration;
2-
using Microsoft.Extensions.DependencyInjection;
3-
using System.Collections.Generic;
4-
using System.Threading.Tasks;
5-
using Xunit.Microsoft.DependencyInjection.Abstracts;
6-
using Xunit.Microsoft.DependencyInjection.ExampleTests.Services;
7-
8-
namespace Xunit.Microsoft.DependencyInjection.ExampleTests.Fixtures;
1+
namespace Xunit.Microsoft.DependencyInjection.ExampleTests.Fixtures;
92

103
public class TestFixture : TestBedFixture
114
{
@@ -17,8 +10,14 @@ protected override void AddServices(IServiceCollection services, IConfiguration?
1710
protected override ValueTask DisposeAsyncCore()
1811
=> new();
1912

13+
[Obsolete]
2014
protected override IEnumerable<string> GetConfigurationFiles()
2115
{
2216
yield return "appsettings.json";
2317
}
18+
19+
protected override IEnumerable<TestAppSettings> GetTestAppSettings()
20+
{
21+
yield return new() { Filename = "appsettings.json", IsOptional = false };
22+
}
2423
}

examples/Xunit.Microsoft.DependencyInjection.ExampleTests/Xunit.Microsoft.DependencyInjection.ExampleTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
1515
<PackageReference Include="coverlet.collector" Version="3.1.2" />
1616
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
17-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.0" />
17+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
1818
<PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
1919
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
2020
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" />

src/Abstracts/TestBedFixture.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,28 @@ public IServiceProvider GetServiceProvider(ITestOutputHelper testOutputHelper)
4040
=> GetServiceProvider(testOutputHelper).GetService<T>();
4141

4242
protected abstract void AddServices(IServiceCollection services, IConfiguration? configuration);
43+
44+
[Obsolete("This method is deprecated. Please override and use GetTestAppSettings() method instead.", true)]
4345
protected abstract IEnumerable<string> GetConfigurationFiles();
46+
protected abstract IEnumerable<TestAppSettings> GetTestAppSettings();
4447

4548
protected virtual ILoggingBuilder AddLoggingProvider(ILoggingBuilder loggingBuilder, ILoggerProvider loggerProvider)
4649
=> loggingBuilder.AddProvider(loggerProvider);
4750

4851
private IConfigurationRoot? GetConfigurationRoot()
4952
{
50-
var configurationFiles = GetConfigurationFiles();
53+
var testAppSettings = GetTestAppSettings();
5154
return
52-
configurationFiles.All(c => !string.IsNullOrEmpty(c))
53-
? GetConfigurationRoot(configurationFiles)
55+
testAppSettings.All(setting => !string.IsNullOrEmpty(setting.Filename))
56+
? GetConfigurationRoot(testAppSettings)
5457
: default;
5558
}
5659

57-
private IConfigurationRoot GetConfigurationRoot(IEnumerable<string> configurationFiles)
60+
private IConfigurationRoot GetConfigurationRoot(IEnumerable<TestAppSettings> configurationFiles)
5861
{
5962
foreach (var configurationFile in configurationFiles)
6063
{
61-
ConfigurationBuilder.AddJsonFile(configurationFile);
64+
ConfigurationBuilder.AddJsonFile(configurationFile.Filename, optional: configurationFile.IsOptional);
6265
}
6366
ConfigurationBuilder.AddEnvironmentVariables();
6467
return ConfigurationBuilder.Build();

src/TestAppSettings.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace Xunit.Microsoft.DependencyInjection;
2+
3+
public class TestAppSettings
4+
{
5+
public string? Filename { get; set; }
6+
public bool IsOptional { get; set; } = false;
7+
}

0 commit comments

Comments
 (0)