Exemplo n.º 1
0
        public void Execute_create_and_drop_schema_table(string connectionString, DatabaseProvider provider)
        {
            //Arrange
            const string schema  = "minimigtest2";
            const string table   = "minimigtabletest";
            var          options = new Options()
            {
                ConnectionString = connectionString, Provider = provider, MigrationsTableSchema = schema, MigrationsTable = table
            };

            //Act
            using var context = new ConnectionContext(options);
            context.Open();
            context.BeginTransaction();
            context.ExecuteCommand($"Create schema {schema}");
            context.Commit();
            bool existsSchema = context.SchemaMigrationExists();

            context.CreateMigrationsTable();
            bool existsTable = context.SchemaMigrationExists();

            //Clean Up
            context.DropMigrationsTable();
            context.ExecuteCommand($"Drop schema {schema}");
            context.Dispose();

            //Assert
            Assert.Equal(ConnectionState.Closed, context.Connection.State);
            Assert.True(existsSchema);
            Assert.True(existsTable);
        }
Exemplo n.º 2
0
        public void Execute_create_migration_table_and_update_check_row(string connectionString, DatabaseProvider provider)
        {
            //Arrange
            const string table   = "minimigTableTest4";
            var          options = new Options()
            {
                ConnectionString = connectionString, Provider = provider, MigrationsTable = table
            };
            var          row         = new FakeMigrationRow();
            const int    newDuration = 20;
            string       newHash     = Guid.NewGuid().ToString();
            const string dateFormat  = "yyyy-MM-dd hh:mm";

            //Act
            var context = new ConnectionContext(options);

            context.Open();
            context.CreateMigrationsTable();
            context.InsertMigrationRecord(row);
            row.Duration = newDuration;
            row.Hash     = newHash;
            context.UpdateMigrationRecordHash(row);
            var ran = context.GetAlreadyRan();

            context.DropMigrationsTable();
            context.Dispose();

            //Assert
            Assert.Equal(ConnectionState.Closed, context.Connection.State);
            Assert.Equal(ran.Last.Hash, row.Hash);
            Assert.Equal(ran.Last.Id, row.Id);
            Assert.Equal(ran.Last.Filename, row.Filename);
            Assert.Equal(ran.Last.ExecutionDate.ToString(dateFormat), row.ExecutionDate.ToString(dateFormat));
            Assert.Equal(ran.Last.Duration, row.Duration);
        }
Exemplo n.º 3
0
        public void Migrator_instantiation_with_migrations_and_run_outstanding_migrations(string server, string database, string table, string migrationsFolder)
        {
            //Arrange
            var option = new Options()
            {
                Server = server, Database = database, MigrationsTable = table, MigrationsFolder = migrationsFolder
            };
            var connection = new ConnectionContext(option);
            var result     = Migrator.RunOutstandingMigrations(option);

            //Act
            using (var mig = new Migrator(option))
            {
                //Assert
                Assert.Equal(migrationCount, result.Attempted);
                Assert.Equal(migrationCount, result.Ran);
                Assert.True(result.Success);
                Assert.Equal(migrationCount, mig.Migrations.Count());
            }

            //Cleanup
            connection.Open();
            connection.DropMigrationsTable();
            connection.Dispose();
        }
Exemplo n.º 4
0
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
Exemplo n.º 5
0
 protected virtual void Dispose(bool disposing)
 {
     if (!_disposed && disposing)
     {
         _context.Dispose();
     }
     _disposed = true;
 }
Exemplo n.º 6
0
 public void Dispose()
 {
     if (_disposed)
     {
         return;
     }
     _ctx.Dispose();
     _disposed = true;
 }
Exemplo n.º 7
0
 public virtual void Dispose(bool disposing)
 {
     if (!this.disposed)
     {
         if (disposing)
         {
             db.Dispose();
         }
     }
     this.disposed = true;
 }
Exemplo n.º 8
0
        public void Dispose_connection(string connectionString, DatabaseProvider provider)
        {
            //Arrange
            var options = new Options()
            {
                ConnectionString = connectionString, Provider = provider
            };

            //Act
            var context = new ConnectionContext(options);

            context.Open();
            context.Dispose();

            //Assert
            Assert.Equal(ConnectionState.Closed, context.Connection.State);
        }
Exemplo n.º 9
0
        public void Migrator_instantiation(string server, string database, bool isPreview, string table)
        {
            //Arrange
            var option = new Options()
            {
                Server = server, Database = database, IsPreview = isPreview, MigrationsTable = table
            };
            var connection = new ConnectionContext(option);

            //Act
            using (var mig = new Migrator(option))
            {
                //Assert
                Assert.Empty(mig.Migrations);
            }

            //Cleanup
            connection.Open();
            connection.DropMigrationsTable();
            connection.Dispose();
        }
Exemplo n.º 10
0
        public void Migrator_instantiation_with_migrations(string server, string database, string table, string migrationsFolder)
        {
            //Arrange
            var option = new Options()
            {
                Server = server, Database = database, MigrationsTable = table, MigrationsFolder = migrationsFolder
            };
            var connection  = new ConnectionContext(option);
            int outstanding = Migrator.GetOutstandingMigrationsCount(option);

            //Act
            using (var mig = new Migrator(option))
            {
                //Assert
                Assert.Equal(migrationCount, outstanding);
                Assert.Equal(migrationCount, mig.Migrations.Count());
            }

            //Cleanup
            connection.Open();
            connection.DropMigrationsTable();
            connection.Dispose();
        }
Exemplo n.º 11
0
        public void Migrator_instantiation_with_migrations_and_missing_schema(string server, string database, string schema, string table, string migrationsFolder)
        {
            //Arrange
            var option = new Options()
            {
                Server   = server,
                Database = database,
                MigrationsTableSchema = schema,
                MigrationsTable       = table,
                MigrationsFolder      = migrationsFolder
            };
            var connection = new ConnectionContext(option);

            //Act
            using (var mig = new Migrator(option))
            {
                //Assert
                Assert.Equal(migrationCount, mig.Migrations.Count());
            }

            //Cleanup
            connection.Open();
            connection.Dispose();
        }
Exemplo n.º 12
0
 public void Dispose()
 {
     _db.Dispose();
 }
Exemplo n.º 13
0
 public void Dispose()
 {
     _context.Dispose();
     _userManager.Dispose();
 }