public async Task TestEnvironmentVariablesAreRead() { var reporter = new TestReporter(); var overrides = new Overrides { Replacements = new List <ReplacementDefinition> { new ReplacementDefinition { Token = "herpa", EnvironmentVariable = "HERPA" }, new ReplacementDefinition { Token = "thomas", EnvironmentVariable = "THOMAS" } } }; Environment.SetEnvironmentVariable("HERPA", "derpa"); Environment.SetEnvironmentVariable("THOMAS", "fromtidmouth"); var sut = new ReplacementTokensFromEnvironmentVariablesTransformer(reporter); await sut.TransformAsync(overrides); var expectedReplacements = new List <ReplacementDefinition> { new ReplacementDefinition { Token = "herpa", EnvironmentVariable = "HERPA", Value = "derpa" }, new ReplacementDefinition { Token = "thomas", EnvironmentVariable = "THOMAS", Value = "fromtidmouth" } }; overrides.Replacements.ShouldDeepEqual(expectedReplacements); }
public async Task TestEmptyOverridesShouldRemainEmpty() { var reporter = new TestReporter(); var emptyOverrides = new Overrides { Replacements = new List <ReplacementDefinition>() }; var sut = new ReplacementTokensFromEnvironmentVariablesTransformer(reporter); await sut.TransformAsync(emptyOverrides); emptyOverrides.Replacements.ShouldBeEmpty(); }
public async Task TestOverridesWithOnlyVerbatimReplacementsShouldRemainUnchanged() { var reporter = new TestReporter(); var tokenValuePairs = new Dictionary <string, string> { { "herpa", "derpa" }, { "thomas", "fromtidmouth" } }; var overrides = CreateFrom(tokenValuePairs); var overridesClone = CreateFrom(tokenValuePairs); var sut = new ReplacementTokensFromEnvironmentVariablesTransformer(reporter); await sut.TransformAsync(overrides); overrides.ShouldDeepEqual(overridesClone); }
public async Task TestUnsetEnvVarEmitsWarningMessage() { var reporter = new TestReporter(); var overrides = new Overrides { Replacements = new List <ReplacementDefinition> { new ReplacementDefinition { Token = "herpa", EnvironmentVariable = "HERPA" }, } }; var sut = new ReplacementTokensFromEnvironmentVariablesTransformer(reporter); await sut.TransformAsync(overrides); reporter.WarnMessages.ShouldNotBeEmpty(); }