Пример #1
0
        public void Load_app_configuration_file_works()
        {
            var builder = new AppConfigCliArgsBuilder(TestContext.EvolveAppConfigPath);

            Assert.Equal("Erase", builder.Command);
            Assert.Equal("postgresql", builder.Database);
            Assert.Equal("Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;", builder.ConnectionString);
            Assert.True(new List <string>()
            {
                "migration", "dataset"
            }.SequenceEqual(builder.Locations));
            Assert.Equal("true", builder.EraseDisabled);
            Assert.Equal("True", builder.EraseOnValidationError);
            Assert.Equal("utf-16", builder.Encoding);
            Assert.Equal("Ver", builder.SqlMigrationPrefix);
            Assert.Equal("@", builder.SqlMigrationSeparator);
            Assert.Equal(".query", builder.SqlMigrationSuffix);
            Assert.Equal("my_shema", builder.Schemas.Single());
            Assert.Equal("my_metadata_schema", builder.MetadataTableSchema);
            Assert.Equal("metadata_store", builder.MetadataTableName);
            Assert.Equal("@{", builder.PlaceholderPrefix);
            Assert.Equal("@}", builder.PlaceholderSuffix);
            Assert.Equal("2_1_0", builder.TargetVersion);
            Assert.Equal("1_1_0", builder.StartVersion);
            Assert.True(new List <string>()
            {
                "Schema:my_schema", "Pwd:password"
            }.SequenceEqual(builder.Placeholders));
            Assert.Equal("true", builder.EnableClusterMode);
            Assert.Equal("true", builder.OutOfOrder);
            Assert.Equal("200", builder.CommandTimeout);
        }
Пример #2
0
        public void Load_incomplete_web_configuration_files_works()
        {
            var builder = new AppConfigCliArgsBuilder(TestContext.EvolveWebConfigPath);

            Assert.Equal("Erase", builder.Command);
            Assert.Equal("postgresql", builder.Database);
            Assert.Equal("Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;", builder.ConnectionString);
            Assert.True(new List <string>()
            {
                "migration", "dataset"
            }.SequenceEqual(builder.Locations));
            Assert.Null(builder.Encoding);
            Assert.Null(builder.SqlMigrationPrefix);
            Assert.Null(builder.SqlMigrationSeparator);
            Assert.Null(builder.SqlMigrationSuffix);
            Assert.Null(builder.Schemas);
            Assert.Null(builder.MetadataTableSchema);
            Assert.Null(builder.MetadataTableName);
            Assert.Null(builder.PlaceholderPrefix);
            Assert.Null(builder.PlaceholderSuffix);
            Assert.Null(builder.TargetVersion);
            Assert.Null(builder.StartVersion);
            Assert.Empty(builder.Placeholders);
            Assert.Null(builder.EraseDisabled);
            Assert.Null(builder.EraseOnValidationError);
            Assert.Null(builder.EnableClusterMode);
            Assert.Null(builder.OutOfOrder);
            Assert.Null(builder.CommandTimeout);
        }
Пример #3
0
        public void Build_CommandLine_Args_works()
        {
            string expected = @"Erase postgresql -c=""Server=127.0.0.1;Port=5432;Database=myDataBase;User Id=myUsername;Password=myPassword;"" -l=""migration"" -l=""dataset"" -s=""my_shema"" --metadata-table-schema=""my_metadata_schema"" --metadata-table=""metadata_store"" -p=""Schema:my_schema"" -p=""Pwd:password"" --placeholder-prefix=@{ --placeholder-suffix=@} --target-version=2_1_0 --start-version=1_1_0 --scripts-prefix=Ver --scripts-suffix=.query --scripts-separator=@ --encoding=utf-16 --command-timeout=200 --out-of-order=true --erase-disabled=true --erase-on-validation-error=True --enable-cluster-mode=true";
            string actual   = new AppConfigCliArgsBuilder(TestContext.EvolveAppConfigPath).Build();

            Assert.Equal(expected, actual);
        }