Beispiel #1
0
        public void Should_replace_subfiles_in_template(string environment, string setting)
        {
            _settingsSubstitutor = new SettingsSubstitutor(environment);

            //Arrange
            var settings = new Dictionary <string, string[]>
            {
                { "StandardSetting1", new [] { "AAA" } },
                { "StandardSetting2", new [] { "BBB" } },
                { "SubFileFileName", new [] { "Tests.ExampleTemplates.Subfile." + setting + ".template" } }
            };

            // Only add the 3rd setting when testing environment2 - this demonstrates that missing settings don't matter
            // when doing sub-template substitutions as only the sub-templates for the current environment are handled.
            if (environment.Equals("environment2", StringComparison.OrdinalIgnoreCase))
            {
                settings.Add("StandardSetting3", new [] { "CCC" });
            }

            //Act
            _settingsSubstitutor.CreateSubstitutedDirectory(_templatesFolder, _outputFolder, settings);

            //Assert
            var fullEnvironmentFilename = Path.Combine(_outputFolder, environment, "Tests.ExampleTemplates.TemplateWithSubfile.txt");
            var subsituted = Id.PowershellExtensions.Helpers.GetFileWithEncoding(fullEnvironmentFilename);

            Assert.That(subsituted.Contents, Is.StringContaining("StandardSetting2"));
            Assert.That(subsituted.Contents, Is.StringContaining("BBB"));

            var outputDir = Path.Combine(_outputFolder, environment);
            var templates = Directory.GetFiles(outputDir, "*.template");

            Assert.That(templates.Length, Is.EqualTo(0));
        }
        public void Should_replace_subfiles_in_template()
        {
            //Arrange
            var settings = new Dictionary <string, string[]>
            {
                { "StandardSetting", new [] { "StandardSettingValue" } },
                { "SubFileFileName", new [] { "Tests.ExampleTemplates.Subfile2.txt" } },
                { "SecurityMode", new [] { "Transport" } }
            };

            //Act
            _settingsSubstitutor.CreateSubstitutedDirectory(_templatesFolder, _outputFolder, "test", settings);

            //Assert
            var fullEnvironmentFilename = Path.Combine(_outputFolder, "test", "Tests.ExampleTemplates.TemplateWithSubfile.txt");
            var subsituted = Id.PowershellExtensions.Helpers.GetFileWithEncoding(fullEnvironmentFilename);

            Assert.That(subsituted.Contents, Is.StringContaining("<!-- Secure config -->"));
            Assert.That(subsituted.Contents, Is.StringContaining("StandardSettingValue"));
            Assert.That(subsituted.Contents, Is.StringContaining("Transport"));
        }