public void GeneratorAddSingleColumnTest() { Configuration configuration = new Configuration(new[] { "-g", "addfirst_nametoUsers" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileName.Contains("AddColumn")); Assert.True(file_writer.FileContents.Contains("add_column")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("first_name")); }
public void TestGeneratePlainSQLStringDown() { var json = "{\"down\":\"DELETE FROM [Control] WHERE ControlName LIKE '%Date Label'\"}"; Configuration configuration = new Configuration(new[] { "-s", "1" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); TestSQLDatabaseProvider _database_provider = new TestSQLDatabaseProvider(configuration, Settings, formatter); dynamic migration_object = Helpers.DeserializeMigration(json); _database_provider.ExecuteDownCommand(migration_object); Assert.Equal("DELETE FROM [Control] WHERE ControlName LIKE '%Date Label'", _database_provider.LastCommand); }
public void GeneratorAddReferenceColumnTest() { Configuration configuration = new Configuration(new[] { "-g", "AddUserToOrders", "User:reference" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("AddColumn_Orders_UserId")); Assert.True(file_writer.FileContents.Contains("add_column")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("\"name\":\"User\",\"type\":\"reference\"}]")); Assert.True(file_writer.FileContents.Contains("remove_column")); Assert.True(file_writer.FileContents.Contains("\"column\":\"UserId\"")); }
public void SqlFormatterAddIndexTest() { Configuration configuration = new Configuration(new[] { "-s", "6" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); migrations.SetMigrationNumber(5); // add index target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("6")); Assert.True(file_writer.FileContents.Contains("CREATE NONCLUSTERED INDEX [IX_categories_title_slug] ON [categories] ( [title] ASC, [slug] ASC )")); }
public void SqlFormatterAddColumnTest() { Configuration configuration = new Configuration(new[] { "-s", "3" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); migrations.SetMigrationNumber(3); // add col target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("3")); Assert.True(file_writer.FileContents.Contains("ALTER TABLE [tname]")); Assert.True(file_writer.FileContents.Contains("ADD [name]")); Assert.True(file_writer.FileContents.Contains("nvarchar(255)")); }
public void SqlFormatterAddColumnReferenceTest() { Configuration configuration = new Configuration(new[] { "-s", "9" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); //migrations.SetMigrationNumber(9); // add col target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("9")); Assert.True(file_writer.FileContents.Contains("FK_orders_user_userid")); Assert.True(file_writer.FileContents.Contains("ALTER TABLE [Orders] ADD [UserId] INT NOT NULL")); Assert.True(file_writer.FileContents.Contains("ALTER TABLE [Orders] ADD CONSTRAINT [FK_orders_user_userid] FOREIGN KEY ([UserId]) REFERENCES [User] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION")); }
public void SqlFormatterAddTableReferenceTest() { Configuration configuration = new Configuration(new[] { "-s", "10" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); //migrations.SetMigrationNumber(10); // add col target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("10")); Assert.True(file_writer.FileContents.Contains("FK_applicationcontrol_applicationpage_applicationpageid")); Assert.True(file_writer.FileContents.Contains("FK_applicationcontrol_application_applicationid")); Assert.True(file_writer.FileContents.Contains("FOREIGN KEY ([ApplicationPageId]) REFERENCES [ApplicationPage] ([Id])")); Assert.True(file_writer.FileContents.Contains("FOREIGN KEY ([ApplicationId]) REFERENCES [Application] ([Id])")); }
public void GeneratorAddTableNoColumnsSpecified() { Configuration configuration = new Configuration(new[] { "-g","Users" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileContents.Contains("create_table")); Assert.True(file_writer.FileContents.Contains("drop_table")); Assert.True(file_writer.FileContents.Contains("column_name_here")); }
public void GeneratorSqlTest() { Configuration configuration = new Configuration(new[] { "-g", "SQL", "CREATE TABLE Users (ID {pk}, first_name {string} NOT NULL, price_paid {money})" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("SQL")); Assert.True(file_writer.FileContents.Contains("CREATE TABLE Users (ID {pk}, first_name {string} NOT NULL, price_paid {money})")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("down")); Assert.True(file_writer.FileContents.Contains("\"down\":\"\"")); }
public void GeneratorRemoveColumn() { Configuration configuration = new Configuration(new[] { "-g", "Removefirst_nameFromUsers" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileName.Contains("RemoveColumn")); Assert.True(file_writer.FileContents.Contains("remove_column")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("first_name")); }
public void GeneratorFileTest() { Configuration configuration = new Configuration(new[] { "-g", "File", "mysqlfile" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("File")); Assert.True(file_writer.FileContents.Contains("file")); Assert.True(file_writer.FileContents.Contains("mysqlfile")); Assert.True(file_writer.FileContents.Contains("up")); }
public void GeneratorDropTable() { Configuration configuration = new Configuration(new[] { "-g", "DropUsers" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileName.Contains("DropTable")); Assert.True(file_writer.FileContents.Contains("drop_table")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("Users")); }
public void GeneratorDropIndexTest() { Configuration configuration = new Configuration(new[] { "-g", "removeindexfromUsers", "first_name", "last_name" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileName.Contains("RemoveIndex")); Assert.True(file_writer.FileContents.Contains("remove_index")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("first_name")); Assert.True(file_writer.FileContents.Contains("last_name")); }
public void SqlFormatterDropTableTest() { Configuration configuration = new Configuration(new[] { "-s", "2" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); migrations.SetMigrationNumber(2); // drop table target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("2")); Assert.True(file_writer.FileContents.Contains("DROP TABLE [tname]")); }
public void GeneratorAddSingleColumnTestDuplicateTo() { Configuration configuration = new Configuration(new[] { "-g", "addcustomernametoUsers" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.Null(file_writer.FileContents); }
public void GeneratorAddTableMultipleColumn() { Configuration configuration = new Configuration(new[] { "-g", "Users", "first_name:string", "last_name:string" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileContents.Contains("create_table")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("down")); Assert.True(file_writer.FileContents.Contains("drop_table")); Assert.True(file_writer.FileContents.Contains("first_name")); Assert.True(file_writer.FileContents.Contains("last_name")); Assert.True(file_writer.FileContents.Contains("timestamps")); }
public void SqlFormatterAddTableTest() { Configuration configuration = new Configuration(new[] { "-s", "1" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); migrations.SetMigrationNumber(1); // create table target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("1")); Assert.True(file_writer.FileContents.Contains("CREATE TABLE [tname]")); Assert.True(file_writer.FileContents.Contains("[first_name] nvarchar(255)")); Assert.True(file_writer.FileContents.Contains("[last_name] decimal")); Assert.True(file_writer.FileContents.Contains("CreatedOn datetime DEFAULT getutcdate() NOT NULL")); Assert.True(file_writer.FileContents.Contains("Id")); Assert.True(file_writer.FileContents.Contains("PRIMARY KEY")); }
public void GeneratorChangeSingleColumnTest() { Configuration configuration = new Configuration(new[] { "-g", "ChangeUsers", "first_name:string" }); TestFileWriter file_writer = new TestFileWriter(); IHumpbackCommand target = new Generator(configuration, Settings, file_writer); target.Execute(); Assert.True(file_writer.FileName.Contains("Users")); Assert.True(file_writer.FileName.Contains("ChangeColumn")); Assert.True(file_writer.FileContents.Contains("change_column")); Assert.True(file_writer.FileContents.Contains("up")); Assert.True(file_writer.FileContents.Contains("first_name")); Assert.True(file_writer.FileContents.Contains("down")); }
public void SqlFormatterDropIndexTest() { Configuration configuration = new Configuration(new[] { "-s", "7" }); TestFileWriter file_writer = new TestFileWriter(); ISqlFormatter formatter = new SQLServerFormatter(configuration, Settings); IMigrationProvider migrations = new TestMigrationProvider(); IHumpbackCommand target = new GenerateSQL(configuration, Settings, formatter, file_writer, migrations); migrations.SetMigrationNumber(6); // add index target.Execute(); Console.WriteLine(file_writer.FileContents); Assert.True(file_writer.FileName.Contains("7")); Assert.True(file_writer.FileContents.Contains("DROP INDEX [categories].[IX_categories_title_slug]")); }