Example #1
0
        public void ShouldReplacePropertyPlaceholdersWithDefaultEnvironmentValues()
        {
            ConfigFile config = new ConfigFile(configDir + "web.config.template");
            ConfigPropertiesCollection properties = new ConfigPropertiesCollection();

            using (ConfigPropertiesReader defaultPropReader = new ConfigPropertiesReader(configDir + "app.properties"))
            {
                properties.AddPropertiesFromReader(defaultPropReader);
            }

            config.ReplacePropertyPlaceholdersWith(properties).SaveAs("web.config");

            Assert.IsTrue(File.Exists("web.config"), "web.config file is missing");
            using (StreamReader reader = File.OpenText("web.config"))
            {
                string contents = reader.ReadToEnd();
                Assert.That(
                    contents.Contains(
                        "<add name=\"Northwind\" connectionString=\"server=localhost;database=Northwind;integrated security=SSPI\"/>"),
                    "missing northwind connection string");
                Assert.That(
                    contents.Contains(
                        "sqlConnectionString=\"server=localhost;database=AspState;integrated security=SSPI\""),
                    "missing session state connection string");
            }
        }
Example #2
0
        public override bool Execute()
        {
            if (!File.Exists(templateConfig))
            {
                Log.LogError("Cannot find config template file {0}", templateConfig);
                return(false);
            }

            try
            {
                ConfigPropertiesCollection properties = new ConfigPropertiesCollection();
                foreach (ITaskItem propertyFileItem in propertyFiles)
                {
                    if (propertyFileItem.ItemSpec.Length == 0)
                    {
                        continue;
                    }

                    string propertyFile = propertyFileItem.ItemSpec;

                    if (!File.Exists(propertyFile))
                    {
                        Log.LogError("Cannot find config property file {0}", propertyFile);
                        return(false);
                    }

                    using (ConfigPropertiesReader propReader = new ConfigPropertiesReader(propertyFile))
                    {
                        Log.LogMessage("Adding property file {0}", propertyFileItem.ItemSpec);
                        properties.AddPropertiesFromReader(propReader);
                    }
                }

                if (!File.Exists(templateConfig))
                {
                    Log.LogError("Cannot find config template file {0}", templateConfig);
                    return(false);
                }

                Log.LogMessage("Creating config file {0}", destConfig);
                ConfigFile config = new ConfigFile(templateConfig);
                config.ReplacePropertyPlaceholdersWith(properties).SaveAs(destConfig);
            }
            catch (ConfigPokeException ex)
            {
                Log.LogError(ex.Message);
            }
            catch (Exception ex)
            {
                Log.LogError(ex.Message);
            }

            return(!Log.HasLoggedErrors);
        }
Example #3
0
        public void Should_allow_empty_string_as_value()
        {
            var reader = MockRepository.GenerateStub <IConfigPropertiesReader>();

            reader.Stub(r => r.ReadLine()).Return("KeyWithEmptyValue=").Repeat.Once();
            reader.Stub(r => r.ReadLine()).Return(null);

            var properties = new ConfigPropertiesCollection();

            properties.AddPropertiesFromReader(reader);

            Assert.AreEqual("", properties["KeyWithEmptyValue"]);
        }
Example #4
0
        private static int ProcessConfigs(string templateConfig, string destConfig, IEnumerable <string> propertyFiles)
        {
            try
            {
                ConfigPropertiesCollection properties = new ConfigPropertiesCollection();
                foreach (string propertyFile in propertyFiles)
                {
                    if (!File.Exists(propertyFile))
                    {
                        WriteError("Cannot find the property file {0}", propertyFile);
                        return(Failure);
                    }

                    using (ConfigPropertiesReader propReader = new ConfigPropertiesReader(propertyFile))
                    {
                        properties.AddPropertiesFromReader(propReader);
                    }
                }

                if (!File.Exists(templateConfig))
                {
                    WriteError("Cannot find the config template file {0}", templateConfig);
                    return(Failure);
                }

                ConfigFile config = new ConfigFile(templateConfig);
                config.ReplacePropertyPlaceholdersWith(properties).SaveAs(destConfig);
            }
            catch (ConfigPokeException ex)
            {
                WriteError(ex.Message);
                return(Failure);
            }
            catch (Exception ex)
            {
                WriteError(ex.Message);
                WriteError(ex.StackTrace);
                return(Failure);
            }

            return(Success);
        }