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); }