persist.revertCommit(UUID.randomUUID().toString());
}
@Test
public void testRevertFunctionality_shouldRevertModelsToOldState() throws Exception {
TestModelDecorator model = getTestModelDecorator();
model.setEdbId("reverttest/1");
model.setName("before");
TestModelDecorator model2 = getTestModelDecorator();
model2.setEdbId("reverttest/2");
model2.setName("test");
EKBCommit commit = getTestEKBCommit().addInsert(model.getModel());
persist.commit(commit);
String revision = commit.getRevisionNumber().toString();
model.setName("middle");
commit = getTestEKBCommit().addUpdate(model.getModel());
persist.commit(commit);
String revision2 = commit.getRevisionNumber().toString();
commit = getTestEKBCommit().addInsert(model2.getModel());
persist.commit(commit);
model.setName("after");
commit = getTestEKBCommit().addUpdate(model.getModel());
persist.commit(commit);
TestModelDecorator result1 =
new TestModelDecorator(query.getModel(getTestModel(), getModelOid("reverttest/1")));
persist.revertCommit(revision2);
TestModelDecorator result2 =
new TestModelDecorator(query.getModel(getTestModel(), getModelOid("reverttest/1")));
persist.revertCommit(revision);
TestModelDecorator result3 =
new TestModelDecorator(query.getModel(getTestModel(), getModelOid("reverttest/1")));
assertThat(result1, notNullValue());
assertThat(result2, notNullValue());
assertThat(result3, notNullValue());
assertThat(result1.getName(), is("after"));
assertThat(result2.getName(), is("middle"));
assertThat(result3.getName(), is("before"));
}