package de.ppi.samples.fuwesta.dbunit.dataset;
import static de.ppi.samples.fuwesta.dbunit.rowbuilder.PostRowBuilder.newPost;
import static de.ppi.samples.fuwesta.dbunit.rowbuilder.TagPostingsRowBuilder.newTagPostings;
import static org.dbunit.dataset.builder.ObjectFactory.ts;
import static org.dbunit.validator.Validators.*;
import org.dbunit.dataset.DataSetException;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.builder.DataSetBuilder;
/**
* Some database-constellation to test post-data.
*/
public class PostTestData {
/** Name of the vairable to store the id of the new POST. */
private static final String VARIABLE_TO_STORE_POST_ID = "newPostId";
@SuppressWarnings("boxing")
public static IDataSet buildPostCreatedDataSet() throws DataSetException {
IDataSet oldDataset = TestData.initWithSampleData();
final DataSetBuilder b = new DataSetBuilder();
b.addDataSet(oldDataset);
newPost().Id(gt(102, VARIABLE_TO_STORE_POST_ID)).Version(0L)
.Content("This is an example text.\r\nIt contains newlines.")
.CreationTime(ts("2015-01-30 00:00:00.0")).Title("Test-Title1")
.UserId(11L).addTo(b);
newTagPostings().TagsId(1L)
.PostingsId(nprop(VARIABLE_TO_STORE_POST_ID)).addTo(b);
newTagPostings().TagsId(2L)
.PostingsId(nprop(VARIABLE_TO_STORE_POST_ID)).addTo(b);
return b.build();
}
@SuppressWarnings("boxing")
public static IDataSet buildPostEditedDataSet() throws DataSetException {
IDataSet oldDataset = TestData.initWithSampleData();
final DataSetBuilder b = new DataSetBuilder();
b.addDataSet(oldDataset);
newPost()
.Id(gt(102, VARIABLE_TO_STORE_POST_ID))
.Version(1L)
.Content(
"This is an example text.\r\nIt contains newlines.Not really conntent.")
.CreationTime(ts("2015-03-30 00:00:00.0"))
.Title("Test-Title1N").UserId(12L).addTo(b);
newTagPostings().TagsId(1L)
.PostingsId(nprop(VARIABLE_TO_STORE_POST_ID)).addTo(b);
return b.build();
}
@SuppressWarnings("boxing")
public static IDataSet buildPostPartialEditedDataSet()
throws DataSetException {
IDataSet oldDataset = TestData.initWithSampleData();
final DataSetBuilder b = new DataSetBuilder();
b.addDataSet(oldDataset);
newPost().Id(gt(102, VARIABLE_TO_STORE_POST_ID)).Version(2L)
.Content("This is an example text.\r\nIt contains newlines.")
.CreationTime(ts("2015-01-30 00:00:00.0")).Title("Test-Title1")
.UserId(12L).addTo(b);
newTagPostings().TagsId(1L)
.PostingsId(nprop(VARIABLE_TO_STORE_POST_ID)).addTo(b);
return b.build();
}
}