use of liquibase.changelog.RanChangeSet in project head by mifos.
the class DatabaseUpgradeSupportTest method shouldRetrieveAllRanUpgrades.
@Test
public void shouldRetrieveAllRanUpgrades() throws Exception {
RanChangeSet ranChangeSet1 = new RanChangeSet(changeSet1);
RanChangeSet ranChangeSet2 = new RanChangeSet(changeSet2);
when(database.getRanChangeSetList()).thenReturn(Arrays.asList(ranChangeSet1, ranChangeSet2));
List<ChangeSetInfo> changeSets = databaseUpgradeSupport.listRanUpgrades();
assertThat(changeSets, is(not(nullValue())));
assertThat(changeSets.size(), is(2));
verify(database).getRanChangeSetList();
}
use of liquibase.changelog.RanChangeSet in project liquibase by liquibase.
the class ChangeSetExecutedPrecondition method check.
@Override
public void check(Database database, DatabaseChangeLog changeLog, ChangeSet changeSet) throws PreconditionFailedException, PreconditionErrorException {
ObjectQuotingStrategy objectQuotingStrategy = null;
if (changeSet == null) {
objectQuotingStrategy = ObjectQuotingStrategy.LEGACY;
} else {
objectQuotingStrategy = changeSet.getObjectQuotingStrategy();
}
String changeLogFile = getChangeLogFile();
if (changeLogFile == null) {
changeLogFile = changeLog.getLogicalFilePath();
}
ChangeSet interestedChangeSet = new ChangeSet(getId(), getAuthor(), false, false, changeLogFile, null, null, false, objectQuotingStrategy, changeLog);
RanChangeSet ranChangeSet;
try {
ranChangeSet = database.getRanChangeSet(interestedChangeSet);
} catch (Exception e) {
throw new PreconditionErrorException(e, changeLog, this);
}
if (ranChangeSet == null || ranChangeSet.getExecType() == null || !ranChangeSet.getExecType().ran) {
throw new PreconditionFailedException("Change Set '" + interestedChangeSet.toString(false) + "' has not been run", changeLog, this);
}
}
use of liquibase.changelog.RanChangeSet in project liquibase by liquibase.
the class ExecutedAfterChangeSetFilterTest method accepts_nullDate.
@Test
public void accepts_nullDate() throws Exception {
ArrayList<RanChangeSet> ranChanges = new ArrayList<RanChangeSet>();
ranChanges.add(new RanChangeSet("path/changelog", "1", "testAuthor", CheckSum.parse("12345"), new Date(), null, null, null, null, null, null, null));
ranChanges.add(new RanChangeSet("path/changelog", "2", "testAuthor", CheckSum.parse("12345"), null, null, null, null, null, null, null, null));
ranChanges.add(new RanChangeSet("path/changelog", "3", "testAuthor", CheckSum.parse("12345"), new Date(), null, null, null, null, null, null, null));
ExecutedAfterChangeSetFilter filter = new ExecutedAfterChangeSetFilter(new Date(), ranChanges);
assertFalse(filter.accepts(new ChangeSet("1", "testAuthor", false, false, "path/changelog", null, null, null)).isAccepted());
}
use of liquibase.changelog.RanChangeSet in project liquibase by liquibase.
the class ExecutedAfterChangeSetFilterTest method accepts.
@Test
public void accepts() throws Exception {
ArrayList<RanChangeSet> ranChanges = new ArrayList<RanChangeSet>();
ranChanges.add(new RanChangeSet("path/changelog", "1", "testAuthor", CheckSum.parse("12345"), new Date(new Date().getTime() - 10 * 1000 * 60 * 60), null, null, null, null, null, null, null));
ranChanges.add(new RanChangeSet("path/changelog", "2", "testAuthor", CheckSum.parse("12345"), new Date(new Date().getTime() - 8 * 1000 * 60 * 60), null, null, null, null, null, null, null));
ranChanges.add(new RanChangeSet("path/changelog", "3", "testAuthor", CheckSum.parse("12345"), new Date(new Date().getTime() - 4 * 1000 * 60 * 60), null, null, null, null, null, null, null));
ExecutedAfterChangeSetFilter filter = new ExecutedAfterChangeSetFilter(new Date(new Date().getTime() - 6 * 1000 * 60 * 60), ranChanges);
assertFalse(filter.accepts(new ChangeSet("1", "testAuthor", false, false, "path/changelog", null, null, null)).isAccepted());
assertFalse(filter.accepts(new ChangeSet("2", "testAuthor", false, false, "path/changelog", null, null, null)).isAccepted());
assertTrue(filter.accepts(new ChangeSet("3", "testAuthor", false, false, "path/changelog", null, null, null)).isAccepted());
}
use of liquibase.changelog.RanChangeSet in project liquibase by liquibase.
the class ExecutedAfterChangeSetFilterTest method accepts_noRan.
@Test
public void accepts_noRan() throws Exception {
ExecutedAfterChangeSetFilter filter = new ExecutedAfterChangeSetFilter(new Date(), new ArrayList<RanChangeSet>());
assertFalse(filter.accepts(new ChangeSet("1", "testAuthor", false, false, "path/changelog", null, null, null)).isAccepted());
}
Aggregations