Skip to content

Commit fe3e0ca

Browse files
committed
Refactor tests
1 parent f7db642 commit fe3e0ca

File tree

2 files changed

+47
-86
lines changed

2 files changed

+47
-86
lines changed

service/Abstractions/Diagnostics/SensitiveDataLogger.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,14 @@ public static void LogSensitive(
6868

6969
private static void EnsureDevelopmentEnvironment()
7070
{
71+
const string AspNetCoreEnvVar = "ASPNETCORE_ENVIRONMENT";
72+
const string DotNetEnvVar = "DOTNET_ENVIRONMENT";
73+
7174
// The ASPNETCORE_ENVIRONMENT environment variable has the precedence. If it does not exist, checks for DOTNET_ENVIRONMENT.
72-
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
73-
if (!string.Equals(environment, "Development", StringComparison.OrdinalIgnoreCase))
75+
var env = Environment.GetEnvironmentVariable(AspNetCoreEnvVar) ?? Environment.GetEnvironmentVariable(DotNetEnvVar);
76+
if (!string.Equals(env, "Development", StringComparison.OrdinalIgnoreCase))
7477
{
75-
throw new InvalidOperationException("Sensitive data logging can be enabled only in a development environment. Check ASPNETCORE_ENVIRONMENT or DOTNET_ENVIRONMENT env vars.");
78+
throw new InvalidOperationException($"Sensitive data logging can be enabled only in a development environment. Check {AspNetCoreEnvVar} or {DotNetEnvVar} env vars.");
7679
}
7780
}
7881
}

service/tests/Abstractions.UnitTests/Diagnostics/SensitiveDataLoggerTests.cs

Lines changed: 41 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ namespace Microsoft.KM.Abstractions.UnitTests.Diagnostics;
66

77
public sealed class SensitiveDataLoggerTests : IDisposable
88
{
9-
private const string AspNetCoreEnvironmentVariableName = "ASPNETCORE_ENVIRONMENT";
10-
private const string DotNetEnvironmentVariableName = "DOTNET_ENVIRONMENT";
9+
private const string AspNetCoreEnvVar = "ASPNETCORE_ENVIRONMENT";
10+
private const string DotNetEnvVar = "DOTNET_ENVIRONMENT";
1111

1212
[Fact]
1313
public void ItIsDisabledByDefault()
@@ -18,13 +18,15 @@ public void ItIsDisabledByDefault()
1818

1919
[Theory]
2020
[Trait("Category", "UnitTest")]
21-
[InlineData("development")]
22-
[InlineData("Development")]
23-
public void ItCanBeEnabledInAspNetCoreDevelopmentEnvironment(string environment)
21+
[InlineData(AspNetCoreEnvVar, "development")]
22+
[InlineData(AspNetCoreEnvVar, "Development")]
23+
[InlineData(DotNetEnvVar, "development")]
24+
[InlineData(DotNetEnvVar, "Development")]
25+
public void ItCanBeEnabledInDevEnvironments(string envVar, string envType)
2426
{
2527
// Arrange
2628
Assert.False(SensitiveDataLogger.Enabled);
27-
Environment.SetEnvironmentVariable(AspNetCoreEnvironmentVariableName, environment);
29+
Environment.SetEnvironmentVariable(envVar, envType);
2830

2931
// Act
3032
SensitiveDataLogger.Enabled = true;
@@ -35,91 +37,47 @@ public void ItCanBeEnabledInAspNetCoreDevelopmentEnvironment(string environment)
3537

3638
[Theory]
3739
[Trait("Category", "UnitTest")]
38-
[InlineData("development")]
39-
[InlineData("Development")]
40-
public void ItCanBeEnabledInDotNetDevelopmentEnvironment(string environment)
40+
[InlineData(AspNetCoreEnvVar, "staging")]
41+
[InlineData(AspNetCoreEnvVar, "Staging")]
42+
[InlineData(AspNetCoreEnvVar, "production")]
43+
[InlineData(AspNetCoreEnvVar, "Production")]
44+
[InlineData(AspNetCoreEnvVar, "any")]
45+
[InlineData(DotNetEnvVar, "staging")]
46+
[InlineData(DotNetEnvVar, "Staging")]
47+
[InlineData(DotNetEnvVar, "production")]
48+
[InlineData(DotNetEnvVar, "Production")]
49+
[InlineData(DotNetEnvVar, "any")]
50+
public void ItCannotBeEnabledInNonDevEnvironments(string envVar, string envType)
4151
{
4252
// Arrange
4353
Assert.False(SensitiveDataLogger.Enabled);
44-
Environment.SetEnvironmentVariable(DotNetEnvironmentVariableName, environment);
45-
46-
// Act
47-
SensitiveDataLogger.Enabled = true;
48-
49-
// Assert
50-
Assert.True(SensitiveDataLogger.Enabled);
51-
}
52-
53-
[Theory]
54-
[Trait("Category", "UnitTest")]
55-
[InlineData("staging")]
56-
[InlineData("Staging")]
57-
[InlineData("production")]
58-
[InlineData("Production")]
59-
[InlineData("any")]
60-
public void ItCannotBeEnabledInNonAspNetCoreDevelopmentEnvironments(string environment)
61-
{
62-
// Arrange
63-
Assert.False(SensitiveDataLogger.Enabled);
64-
Environment.SetEnvironmentVariable(AspNetCoreEnvironmentVariableName, environment);
65-
66-
// Act/Assert
67-
Assert.Throws<InvalidOperationException>(() => SensitiveDataLogger.Enabled = true);
68-
}
69-
70-
[Theory]
71-
[Trait("Category", "UnitTest")]
72-
[InlineData("staging")]
73-
[InlineData("Staging")]
74-
[InlineData("production")]
75-
[InlineData("Production")]
76-
[InlineData("any")]
77-
public void ItCannotBeEnabledInNonDotNetDevelopmentEnvironments(string environment)
78-
{
79-
// Arrange
80-
Assert.False(SensitiveDataLogger.Enabled);
81-
Environment.SetEnvironmentVariable(DotNetEnvironmentVariableName, environment);
54+
Environment.SetEnvironmentVariable(AspNetCoreEnvVar, envType);
8255

8356
// Act/Assert
8457
Assert.Throws<InvalidOperationException>(() => SensitiveDataLogger.Enabled = true);
8558
}
8659

8760
[Theory]
8861
[Trait("Category", "UnitTest")]
89-
[InlineData("development")]
90-
[InlineData("Development")]
91-
[InlineData("staging")]
92-
[InlineData("Staging")]
93-
[InlineData("production")]
94-
[InlineData("Production")]
95-
[InlineData("any")]
96-
public void ItCanBeDisabledInAnyAspNetCoreEnvironment(string environment)
97-
{
98-
// Arrange
99-
Assert.False(SensitiveDataLogger.Enabled);
100-
Environment.SetEnvironmentVariable(AspNetCoreEnvironmentVariableName, environment);
101-
102-
// Act
103-
SensitiveDataLogger.Enabled = false;
104-
105-
// Assert
106-
Assert.False(SensitiveDataLogger.Enabled);
107-
}
108-
109-
[Theory]
110-
[Trait("Category", "UnitTest")]
111-
[InlineData("development")]
112-
[InlineData("Development")]
113-
[InlineData("staging")]
114-
[InlineData("Staging")]
115-
[InlineData("production")]
116-
[InlineData("Production")]
117-
[InlineData("any")]
118-
public void ItCanBeDisabledInAnyDotNetEnvironment(string environment)
62+
[InlineData(AspNetCoreEnvVar, "development")]
63+
[InlineData(AspNetCoreEnvVar, "Development")]
64+
[InlineData(AspNetCoreEnvVar, "staging")]
65+
[InlineData(AspNetCoreEnvVar, "Staging")]
66+
[InlineData(AspNetCoreEnvVar, "production")]
67+
[InlineData(AspNetCoreEnvVar, "Production")]
68+
[InlineData(AspNetCoreEnvVar, "any")]
69+
[InlineData(DotNetEnvVar, "development")]
70+
[InlineData(DotNetEnvVar, "Development")]
71+
[InlineData(DotNetEnvVar, "staging")]
72+
[InlineData(DotNetEnvVar, "Staging")]
73+
[InlineData(DotNetEnvVar, "production")]
74+
[InlineData(DotNetEnvVar, "Production")]
75+
[InlineData(DotNetEnvVar, "any")]
76+
public void ItCanBeDisabledInAnyEnvironment(string envVar, string envType)
11977
{
12078
// Arrange
12179
Assert.False(SensitiveDataLogger.Enabled);
122-
Environment.SetEnvironmentVariable(DotNetEnvironmentVariableName, environment);
80+
Environment.SetEnvironmentVariable(envVar, envType);
12381

12482
// Act
12583
SensitiveDataLogger.Enabled = false;
@@ -138,12 +96,12 @@ public void ItCanBeDisabledInAnyDotNetEnvironment(string environment)
13896
[InlineData("Staging", "Development", true)]
13997
[InlineData("production", "development", true)]
14098
[InlineData("Production", "Development", true)]
141-
public void AspNetCoreEnvironmentHasThePrecedence(string aspNetCoreEnvironment, string dotNetEnvironment, bool fail)
99+
public void AspNetCoreEnvTypeHasThePrecedence(string aspNetCoreEnvType, string dotNetEnvType, bool fail)
142100
{
143101
// Arrange
144102
Assert.False(SensitiveDataLogger.Enabled);
145-
Environment.SetEnvironmentVariable(AspNetCoreEnvironmentVariableName, aspNetCoreEnvironment);
146-
Environment.SetEnvironmentVariable(DotNetEnvironmentVariableName, dotNetEnvironment);
103+
Environment.SetEnvironmentVariable(AspNetCoreEnvVar, aspNetCoreEnvType);
104+
Environment.SetEnvironmentVariable(DotNetEnvVar, dotNetEnvType);
147105

148106
if (fail)
149107
{
@@ -161,8 +119,8 @@ public void AspNetCoreEnvironmentHasThePrecedence(string aspNetCoreEnvironment,
161119

162120
public void Dispose()
163121
{
164-
Environment.SetEnvironmentVariable(AspNetCoreEnvironmentVariableName, null);
165-
Environment.SetEnvironmentVariable(DotNetEnvironmentVariableName, null);
122+
Environment.SetEnvironmentVariable(AspNetCoreEnvVar, null);
123+
Environment.SetEnvironmentVariable(DotNetEnvVar, null);
166124
SensitiveDataLogger.Enabled = false;
167125
}
168126
}

0 commit comments

Comments
 (0)