public void SqlCommands() { var sql = "CREATE TABLE abc (id int);"; sut = new TestFileSqlDatabaseMigration("myapp_1.0.1.sql", sql); sut.SqlCommands.Should() .HaveCount(1) .And.Contain(sut.SqlFileContents); }
public void ThrowsIfHeaderVersionDifferentFromFileName() { var sql = @" -- Hello /* Multi line comment */ -- version: 1.6.0 CREATE TABLE abc ( id int ); DROP TABLE def; "; sut = new TestFileSqlDatabaseMigration("myapp_1.5.0.sql", sql); }
public void ParsesVersion() { var sql = @" -- Hello /* Multi line comment */ -- version: 1.5.0 CREATE TABLE abc ( id int ); DROP TABLE def; "; sut = new TestFileSqlDatabaseMigration("myapp.sql", sql); sut.Version.Should().Be(DatabaseVersion.Parse("1.5.0")); }
public void ParsesDescription() { var sql = @" -- Hello /* Multi line comment */ -- description: Lorem ipsum dolor sit amet. CREATE TABLE abc ( id int ); DROP TABLE def; "; sut = new TestFileSqlDatabaseMigration("myapp_1.0.1.sql", sql); sut.Description.Should().Be("Lorem ipsum dolor sit amet."); }
public void ShouldNotParseAfterContent() { var sql = @" -- Hello /* Multi line comment */ CREATE TABLE abc ( id int ); -- description: Lorem ipsum dolor sit amet. DROP TABLE def; "; sut = new TestFileSqlDatabaseMigration("myapp_1.0.1.sql", sql); sut.Description.Should().BeNull(); }
public void PropertiesFromFileName(string fileNameRegex, string fileName, string expModuleName, string expVersionString, string expTags, bool isBaseline, bool isRepeatable) { sut = new TestFileSqlDatabaseMigration(fileName, "", fileNameRegex != null ? new Regex(fileNameRegex, RegexOptions.IgnoreCase) : null); sut.FileName.Should().Be(fileName); sut.ModuleName.Should().Be(expModuleName); sut.Version.ToString().Should().Be(expVersionString); sut.IsBaseline.Should().Be(isBaseline); sut.IsRepeatable.Should().Be(isRepeatable); if (expTags != null) { sut.Tags.Should().HaveCount(1); sut.Tags[0].Should().Contain(expTags.Split(",")); } else { sut.Tags.Should().BeEmpty(); } }
public void ParsesDependencies() { var sql = @" -- Hello /* Multi line comment */ -- dependency: [email protected] -- dependency: vendor-module CREATE TABLE abc ( id int ); DROP TABLE def; "; sut = new TestFileSqlDatabaseMigration("myapp_1.0.1.sql", sql); sut.Dependencies.Should() .BeEquivalentTo( new DatabaseMigrationSpecifier("myapp-base", DatabaseVersion.Parse("1.2.3")), new DatabaseMigrationSpecifier("vendor-module", null)); }