Esempio n. 1
0
        public PostgresTestTable(string schemaName, string tableName, PostgresProcessor processor, params string[] columnDefinitions)
        {
            _schemaName = schemaName;

            Name = quoter.QuoteTableName(tableName);
            Init(processor, columnDefinitions);
        }
 public void SetUp()
 {
     Connection = new NpgsqlConnection(IntegrationTestOptions.Postgres.ConnectionString);
     Processor  = new PostgresProcessor(Connection, new PostgresGenerator(), new TextWriterAnnouncer(System.Console.Out), new ProcessorOptions(), new PostgresDbFactory());
     Quoter     = new PostgresQuoter();
     Connection.Open();
 }
Esempio n. 3
0
        private void Init(PostgresProcessor processor, IEnumerable <string> columnDefinitions)
        {
            Connection  = (NpgsqlConnection)processor.Connection;
            Transaction = (NpgsqlTransaction)processor.Transaction;

            NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name);
            Create(columnDefinitions);
        }
Esempio n. 4
0
        private void Init(PostgresProcessor processor, IEnumerable <string> columnDefinitions)
        {
            Connection  = (NpgsqlConnection)processor.Connection;
            Transaction = (NpgsqlTransaction)processor.Transaction;

            NameWithSchema = _quoter.QuoteTableName(Name, _schemaName);
            Create(columnDefinitions);
        }
 public void SetUp()
 {
     if (!IntegrationTestOptions.Postgres.IsEnabled)
         Assert.Ignore();
     Connection = new NpgsqlConnection(IntegrationTestOptions.Postgres.ConnectionString);
     Processor = new PostgresProcessor(Connection, new PostgresGenerator(), new TextWriterAnnouncer(TestContext.Out), new ProcessorOptions(), new PostgresDbFactory());
     Quoter = new PostgresQuoter();
     Connection.Open();
 }
        public PostgresTestSequence(PostgresProcessor processor, string schemaName, string sequenceName)
        {
            _schemaName = schemaName;
            Name        = _quoter.QuoteSequenceName(sequenceName, null);

            Connection     = (NpgsqlConnection)processor.Connection;
            Transaction    = (NpgsqlTransaction)processor.Transaction;
            NameWithSchema = _quoter.QuoteSequenceName(sequenceName, schemaName);
            Create();
        }
Esempio n. 7
0
        public PostgresTestSequence(PostgresProcessor processor, string schemaName, string sequenceName)
        {
            _schemaName = schemaName;
            Name        = quoter.QuoteSequenceName(sequenceName);

            Connection     = (NpgsqlConnection)processor.Connection;
            Transaction    = (NpgsqlTransaction)processor.Transaction;
            NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name);
            Create();
        }
Esempio n. 8
0
        public PostgresTestTable(PostgresProcessor processor, string schemaName, params string[] columnDefinitions)
        {
            _schemaName = schemaName;
            Connection  = processor.Connection;
            Transaction = processor.Transaction;

            Name           = "\"Table" + Guid.NewGuid().ToString("N") + "\"";
            NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name);
            Create(columnDefinitions);
        }
        protected static void ExecuteWithPostgres(Action <IMigrationProcessor> test, IntegrationTestOptions.DatabaseServerOptions serverOptions, Boolean tryRollback)
        {
            if (!serverOptions.IsEnabled)
            {
                return;
            }
            var connection = new NpgsqlConnection(serverOptions.ConnectionString);
            var processor  = new PostgresProcessor(connection, new PostgresGenerator(), new TextWriterAnnouncer(System.Console.Out), new ProcessorOptions());

            test(processor);
        }
        public void CallingProcessWithPerformDbOperationExpressionWhenInPreviewOnlyModeWillNotMakeDbChanges()
        {
            var output = new StringWriter();

            var connection = new NpgsqlConnection(IntegrationTestOptions.Postgres.ConnectionString);

            var processor = new PostgresProcessor(
                connection,
                new PostgresGenerator(),
                new TextWriterAnnouncer(output),
                new ProcessorOptions {
                PreviewOnly = true
            },
                new PostgresDbFactory());

            bool tableExists;

            try
            {
                var expression =
                    new PerformDBOperationExpression
                {
                    Operation = (con, trans) =>
                    {
                        var command = con.CreateCommand();
                        command.CommandText = "CREATE TABLE processtesttable (test int NULL) ";
                        command.Transaction = trans;

                        command.ExecuteNonQuery();
                    }
                };

                processor.BeginTransaction();
                processor.Process(expression);

                var com = connection.CreateCommand();
                com.CommandText = "";

                tableExists = processor.TableExists("public", "processtesttable");
            }
            finally
            {
                processor.RollbackTransaction();
            }

            tableExists.ShouldBeFalse();
            output.ToString().ShouldBe(
                @"/* Beginning Transaction */
/* Performing DB Operation */
/* Rolling back transaction */
");
        }
Esempio n. 11
0
        protected static void ExecuteWithPostgres(Action <IMigrationProcessor> test, IntegrationTestOptions.DatabaseServerOptions serverOptions, Boolean tryRollback)
        {
            if (!serverOptions.IsEnabled)
            {
                return;
            }

            var announcer = new TextWriterAnnouncer(System.Console.Out);

            announcer.Heading("Testing Migration against Postgres");

            using (var connection = new NpgsqlConnection(serverOptions.ConnectionString))
            {
                var processor = new PostgresProcessor(connection, new PostgresGenerator(), new TextWriterAnnouncer(System.Console.Out), new ProcessorOptions(), new PostgresDbFactory());

                test(processor);

                if (!processor.WasCommitted)
                {
                    processor.RollbackTransaction();
                }
            }
        }
 public void SetUp()
 {
     ServiceScope = ServiceProvider.CreateScope();
     Processor    = ServiceScope.ServiceProvider.GetRequiredService <PostgresProcessor>();
 }
Esempio n. 13
0
 public PostgresTestTable(PostgresProcessor processor, string schemaName, params string[] columnDefinitions)
 {
     _schemaName = schemaName;
     Name        = "\"Table" + Guid.NewGuid().ToString("N") + "\"";
     Init(processor, columnDefinitions);
 }