Esempio n. 1
0
 public void DatabaseShouldCommitItsTranection()
 {
     var tracer = new TrannectionTraceOnly();
     var testSubject = new DatabaseRemote(tracer);
     testSubject.Commit();
     tracer.IsCommitted.Should().BeTrue();
 }
 public void RealDatabaseShouldNoOpToUnapplyMigrationsWhichDoNothingWhenUnapplied()
 {
     var tranection = new TrannectionTraceOnly().BeginCapturing();
     var testSubject = new DatabaseRemote(tranection);
     testSubject.Unapply(MigrationEmpty);
     tranection.SqlExecuted.Should().BeEmpty();
 }
 public void ShouldNeverDeleteTestDataWhichIsNoOp()
 {
     var tranection = new TrannectionTraceOnly().BeginCapturing();
     var testSubject = new DatabaseRemote(tranection) {IsTestDatabase = true};
     testSubject.Unapply(MigrationWithoutTestData);
     tranection.SqlExecuted.Should().Equal(new[] { MigrationWithoutTestData.Unapply });
 }
Esempio n. 4
0
 public void DatabaseShouldDisposeItsTranection()
 {
     var tracer = new TrannectionTraceOnly();
     var testSubject = new DatabaseRemote(tracer);
     testSubject.Dispose();
     tracer.IsDisposed.Should().BeTrue();
 }
 public void NonProductionRemoteDatabaseShouldRemoveTestData()
 {
     var tranection = new TrannectionTraceOnly().BeginCapturing();
     var testSubject = new DatabaseRemote(tranection) {IsTestDatabase = true};
     testSubject.Unapply(Migration3);
     testSubject.Unapply(Migration2);
     tranection.SqlExecuted.Should().Equal(new[] { Migration3.DeleteTestData, Migration3.Unapply, Migration2.DeleteTestData, Migration2.Unapply });
 }
 public void ProductionRemoteDatabaseShouldNotApplyTestData()
 {
     var tranection = new TrannectionTraceOnly().BeginCapturing();
     var testSubject = new DatabaseRemote(tranection);
     testSubject.Apply(Migration2);
     testSubject.Apply(Migration3);
     tranection.SqlExecuted.Should().Equal(new[] { Migration2.Apply, Migration3.Apply });
 }
 public void RealDatabaseShouldUnapplyMigrationsByExecutingSql()
 {
     var tranection = new TrannectionTraceOnly().BeginCapturing();
     var testSubject = new DatabaseRemote(tranection);
     testSubject.Unapply(Migration3);
     testSubject.Unapply(Migration2);
     tranection.SqlExecuted.Should().Equal(new[] { Migration3.Unapply, Migration2.Unapply });
 }
        public void RealDatabaseShouldNoOpToUnapplyMigrationsWhichDoNothingWhenUnapplied()
        {
            var tranection  = new TrannectionTraceOnly().BeginCapturing();
            var testSubject = new DatabaseRemote(tranection, DbEngine.None);

            testSubject.Unapply(MigrationEmpty);
            tranection.SqlExecuted.Should().BeEmpty();
        }
Esempio n. 9
0
        public void DatabaseShouldDisposeItsTranection()
        {
            var tracer      = new TrannectionTraceOnly();
            var testSubject = new DatabaseRemote(tracer, DbEngine.None);

            testSubject.Dispose();
            tracer.IsDisposed.Should().BeTrue();
        }
        public void RealDatabaseShouldUnapplyMigrationsByExecutingSql()
        {
            var tranection  = new TrannectionTraceOnly().BeginCapturing();
            var testSubject = new DatabaseRemote(tranection, DbEngine.None);

            testSubject.Unapply(Migration3);
            testSubject.Unapply(Migration2);
            tranection.SqlExecuted.Should().Equal(new[] { Migration3.Unapply, Migration2.Unapply });
        }
        public void ProductionRemoteDatabaseShouldNotRemoveTestData()
        {
            var tranection  = new TrannectionTraceOnly().BeginCapturing();
            var testSubject = new DatabaseRemote(tranection, DbEngine.None);

            testSubject.Unapply(Migration3);
            testSubject.Unapply(Migration2);
            tranection.SqlExecuted.Should().Equal(new[] { Migration3.Unapply, Migration2.Unapply });
        }
Esempio n. 12
0
        public void DatabaseShouldCommitItsTranection()
        {
            var tracer = new TrannectionTraceOnly();

            using (var testSubject = new DatabaseRemote(tracer, DbEngine.None))
            {
                testSubject.Commit();
                tracer.IsCommitted.Should().BeTrue();
            }
        }
        public void ShouldNeverInsertTestDataWhichIsNoOp()
        {
            var tranection  = new TrannectionTraceOnly().BeginCapturing();
            var testSubject = new DatabaseRemote(tranection, DbEngine.None)
            {
                IsTestDatabase = true
            };

            testSubject.Apply(MigrationWithoutTestData);
            tranection.SqlExecuted.Should().Equal(new[] { MigrationWithoutTestData.Apply });
        }
 public void DatabaseShouldKnowItsCurrentVersion()
 {
     var tracer = new TrannectionTraceOnly();
     var testSubject = new DatabaseRemote(tracer);
     tracer.ExecuteScalarHandler =
         sql =>
             {
                 sql.Should().Be(RequestVersionSql);
                 return 6;
             };
     testSubject.CurrentVersion.Result.Should().Be(6);
 }
Esempio n. 15
0
        public void DatabaseShouldKnowItsCurrentVersion()
        {
            var tracer      = new TrannectionTraceOnly();
            var testSubject = new DatabaseRemote(tracer, DbEngine.SqlLite);

            tracer.ExecuteScalarHandler =
                sql =>
            {
                sql.Should().Be(DbEngine.SqlLite.RequestVersionSql);
                return(6);
            };
            testSubject.CurrentVersion.Result.Should().Be(6);
        }
        public void NonProductionRemoteDatabaseShouldApplyTestData()
        {
            var tranection  = new TrannectionTraceOnly().BeginCapturing();
            var testSubject = new DatabaseRemote(tranection, DbEngine.None)
            {
                IsTestDatabase = true
            };

            testSubject.Apply(Migration2);
            testSubject.Apply(Migration3);
            tranection.SqlExecuted.Should().Equal(new[]
                                                  { Migration2.Apply, Migration2.InsertTestData, Migration3.Apply, Migration3.InsertTestData });
        }
 public void ShouldBeAbleToGoToNewVersion()
 {
     var tracer = new TrannectionTraceOnly();
     var testSubject = new DatabaseRemote(tracer);
     var hasBeenCalled = false;
     tracer.ExecuteNonQueryHandler =
         sql =>
             {
                 sql.Should().Be(UpdateToVersion9Sql);
                 hasBeenCalled = true;
             };
     testSubject.SetCurrentVersionTo(9).Wait();
     hasBeenCalled.Should().BeTrue();
 }
Esempio n. 18
0
        public void ShouldBeAbleToGoToNewVersion()
        {
            var tracer        = new TrannectionTraceOnly();
            var testSubject   = new DatabaseRemote(tracer, DbEngine.None);
            var hasBeenCalled = false;

            tracer.ExecuteNonQueryHandler =
                sql =>
            {
                sql.Should().Be(UpdateToVersion9Sql);
                hasBeenCalled = true;
            };
            testSubject.SetCurrentVersionTo(9).Wait();
            hasBeenCalled.Should().BeTrue();
        }