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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }