#374 - Add support for rollback on history function

This commit is contained in:
Robin Bygrave committed 2015-08-17 14:43:44 +12:00
1 parent 48acb6294b
commit 116425b460
14 files changed
+264 -75

No files matched your search

@@ -0,0 +1,76 @@
package com.avaje.ebean.dbmigration.ddlgeneration.platform;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class HistoryTableUpdateTest {
@Test
public void testToRevertedColumns_add() throws Exception {
HistoryTableUpdate upd = new HistoryTableUpdate("mytab");
upd.add(HistoryTableUpdate.Change.ADD, "two");
List<String> current = current();
upd.toRevertedColumns(current);
assertThat(current).contains("one","three");
}
@Test
public void testToRevertedColumns_include() throws Exception {
HistoryTableUpdate upd = new HistoryTableUpdate("mytab");
upd.add(HistoryTableUpdate.Change.INCLUDE, "two");
List<String> current = current();
upd.toRevertedColumns(current);
assertThat(current).contains("one","three");
}
@Test
public void testToRevertedColumns_drop() throws Exception {
HistoryTableUpdate upd = new HistoryTableUpdate("mytab");
upd.add(HistoryTableUpdate.Change.DROP, "four");
List<String> current = current();
upd.toRevertedColumns(current);
assertThat(current).contains("one","two","three","four");
}
@Test
public void testToRevertedColumns_exclude() throws Exception {
HistoryTableUpdate upd = new HistoryTableUpdate("mytab");
upd.add(HistoryTableUpdate.Change.EXCLUDE, "four");
List<String> current = current();
upd.toRevertedColumns(current);
assertThat(current).contains("one","two","three","four");
}
@Test
public void testDescription() throws Exception {
HistoryTableUpdate upd = new HistoryTableUpdate("mytab");
upd.add(HistoryTableUpdate.Change.ADD, "two");
upd.add(HistoryTableUpdate.Change.DROP, "four");
assertThat(upd.description()).isEqualTo("add two, drop four");
}
List<String> current() {
List<String> currentColumns = new ArrayList<String>();
currentColumns.add("one");
currentColumns.add("two");
currentColumns.add("three");
return currentColumns;
}
}
@@ -25,7 +25,7 @@ public class MColumnTest {
ModelDiff diff = diff();
basic().compare(diff, table, basic());
assertThat(diff.getCreateChanges()).isEmpty();
assertThat(diff.getApplyChanges()).isEmpty();
assertThat(diff.getDropChanges()).isEmpty();
}
@@ -280,12 +280,12 @@ public class MColumnTest {
@NotNull
private AlterColumn getAlterColumn(ModelDiff diff) {
return (AlterColumn) diff.getCreateChanges().get(0);
return (AlterColumn) diff.getApplyChanges().get(0);
}
private void assertChanges(ModelDiff diff) {
assertThat(diff.getDropChanges()).isEmpty();
assertThat(diff.getCreateChanges()).hasSize(1);
assertThat(diff.getApplyChanges()).hasSize(1);
}
}
@@ -56,7 +56,7 @@ public class MTableTest {
ModelDiff diff = new ModelDiff();
diff.compareTables(base(), newTable());
List<Object> createChanges = diff.getCreateChanges();
List<Object> createChanges = diff.getApplyChanges();
assertThat(createChanges).hasSize(1);
AddColumn addColumn = (AddColumn)createChanges.get(0);
assertThat(addColumn.getColumn()).extracting("name").contains("comment");
@@ -76,7 +76,7 @@ public class MTableTest {
ModelDiff diff = new ModelDiff();
diff.compareTables(base(), newTableAdd2Columns());
List<Object> createChanges = diff.getCreateChanges();
List<Object> createChanges = diff.getApplyChanges();
assertThat(createChanges).hasSize(1);
AddColumn addColumn = (AddColumn)createChanges.get(0);
@@ -93,7 +93,7 @@ public class MTableTest {
ModelDiff diff = new ModelDiff();
diff.compareTables(base(), newTableModifiedColumn());
List<Object> createChanges = diff.getCreateChanges();
List<Object> createChanges = diff.getApplyChanges();
assertThat(createChanges).hasSize(1);
AlterColumn alterColumn = (AlterColumn)createChanges.get(0);