//Doesn't exist
this.execute(new CallableWithoutResult() {
@Override
protected void callWithoutResult() {
final Version version = versionDao.getVersion(productName);
assertNull(version);
}
});
//Create
this.execute(new CallableWithoutResult() {
@Override
protected void callWithoutResult() {
Version version = versionDao.getVersion(productName);
assertNull(version);
version = versionDao.setVersion(productName, 1, 2, 3, null);
assertNotNull(version);
assertEquals(1, version.getMajor());
assertEquals(2, version.getMinor());
assertEquals(3, version.getPatch());
assertNull(version.getLocal());
}
});
//Update
this.execute(new CallableWithoutResult() {
@Override
protected void callWithoutResult() {
Version version = versionDao.getVersion(productName);
assertNotNull(version);
assertEquals(1, version.getMajor());
assertEquals(2, version.getMinor());
assertEquals(3, version.getPatch());
assertNull(version.getLocal());
version = versionDao.setVersion(productName, 4, 5, 6, null);
assertNotNull(version);
assertEquals(4, version.getMajor());
assertEquals(5, version.getMinor());
assertEquals(6, version.getPatch());
assertNull(version.getLocal());
}
});
//verify
this.execute(new CallableWithoutResult() {
@Override
protected void callWithoutResult() {
Version version = versionDao.getVersion(productName);
assertNotNull(version);
assertEquals(4, version.getMajor());
assertEquals(5, version.getMinor());
assertEquals(6, version.getPatch());
assertNull(version.getLocal());
}
});
}