public void Test_IfImplementsIDisposable() { options.WebConfigFilePath = string.Format(givenConfigPathTemplate, "WithoutSession"); var appender = new WebConfigFileAppender(options, logger, new RedisConnectionProviderStub(), new CryptoGeneratorStub()); Assert.IsAssignableFrom <IDisposable>(appender); }
public void Test_IfRedisConnectionProviderAndCryptoGeneratorAreInvokedAsNeeded() { options.WebConfigFilePath = string.Format(givenConfigPathTemplate, "WithoutSession"); var provider = new Mock <IRedisConnectionProvider>(); var generator = new Mock <ICryptoGenerator>(); using (var appender = new WebConfigFileAppender(options, logger, provider.Object, generator.Object)) appender.ApplyChanges(); provider.Verify(p => p.GetConnectionString(), Times.Exactly(2)); generator.Verify(g => g.CreateKey(24), Times.Once); generator.Verify(g => g.CreateKey(64), Times.Once); }
private void AppendAndCompare(string configFilePath, string appendedConfigFilePath) { File.Copy(configFilePath, appendedConfigFilePath, true); options.WebConfigFilePath = appendedConfigFilePath; using (var appender = new WebConfigFileAppender(options, logger, new RedisConnectionProviderStub(), new CryptoGeneratorStub())) appender.ApplyChanges(); var expectedWebConfig = File.ReadAllText(expectedConfigPath); var appendedWebConfig = File.ReadAllText(appendedConfigFilePath); var diff = new XmlDiff(expectedWebConfig, appendedWebConfig); diff.CompareDocuments(new XmlDiffOptions() { IgnoreAttributeOrder = true, IgnoreCase = true, TrimWhitespace = true }); Assert.Empty(diff.DiffNodeList); }
public void Test_AppliesNecessaryConfigurationToModulesIfModuleIsNotEmpty() { var originalWebConfigPath = string.Format(originalWebConfigPathNonEmptyTemplate, "Test"); File.Copy(string.Format(originalWebConfigPathNonEmptyTemplate, string.Empty), originalWebConfigPath, true); using (var appender = new WebConfigFileAppender(originalWebConfigPath)) appender.Execute(); var expectedWebConfig = File.ReadAllText(expectedWebConfigPathModuleNonEmpty); var appendedWebConfig = File.ReadAllText(originalWebConfigPath); var diff = new XmlDiff(expectedWebConfig, appendedWebConfig); diff.CompareDocuments(new XmlDiffOptions() { IgnoreAttributeOrder = true, IgnoreCase = true, TrimWhitespace = true }); Assert.Empty(diff.DiffNodeList); }
public void Test_WillNotSaveTheFileIfNotExecutedAsDisposable() { var originalWebConfigPath = string.Format(originalWebConfigPathTemplate, "Test"); File.Copy(string.Format(originalWebConfigPathTemplate, string.Empty), originalWebConfigPath, true); var appender = new WebConfigFileAppender(originalWebConfigPath); appender.Execute(); var expectedWebConfig = File.ReadAllText(expectedWebConfigPath); var appendedWebConfig = File.ReadAllText(originalWebConfigPath); var diff = new XmlDiff(expectedWebConfig, appendedWebConfig); diff.CompareDocuments(new XmlDiffOptions() { IgnoreAttributeOrder = true, IgnoreCase = true, TrimWhitespace = true }); Assert.NotEmpty(diff.DiffNodeList); }