use of org.jenkins.plugins.audit2db.model.BuildDetails in project selenium_java by sergueik.
the class BuildDetailsHibernateRepositoryTests method retrievalByMatchingDateRangeShouldReturnNonEmptyList.
@Test
public void retrievalByMatchingDateRangeShouldReturnNonEmptyList() {
final BuildDetails build = TestUtils.createRandomBuildDetails();
build.setEndDate(new Date());
final Object buildId = repository.saveBuildDetails(build);
Assert.assertNotNull("Unexpected null build id", buildId);
final Calendar start = Calendar.getInstance();
start.setTime(build.getStartDate());
final Calendar end = Calendar.getInstance();
end.setTime(build.getEndDate());
List<BuildDetails> builds = repository.getBuildDetailsByDateRange(start.getTime(), end.getTime());
Assert.assertNotNull("Unexpected null list of builds", builds);
Assert.assertFalse("Unexpected empty list of builds", builds.isEmpty());
Assert.assertEquals("Unexpected number of builds", 1, builds.size());
Assert.assertEquals("Mismatching build details found", build, builds.get(0));
start.setTime(new Date(build.getEndDate().getTime() - 10000));
end.setTime(new Date(build.getEndDate().getTime() + 10000));
builds = repository.getBuildDetailsByDateRange(start.getTime(), end.getTime());
Assert.assertNotNull("Unexpected null list of builds", builds);
Assert.assertFalse("Unexpected empty list of builds", builds.isEmpty());
Assert.assertEquals("Unexpected number of builds", 1, builds.size());
}
use of org.jenkins.plugins.audit2db.model.BuildDetails in project selenium_java by sergueik.
the class BuildDetailsHibernateRepositoryTests method retrievalByNonMatchingDurationRangeShouldReturnEmptyList.
@Test
public void retrievalByNonMatchingDurationRangeShouldReturnEmptyList() {
final BuildDetails build = TestUtils.createRandomBuildDetails();
final Object buildId = repository.saveBuildDetails(build);
Assert.assertNotNull("Unexpected null build id", buildId);
final long min = build.getDuration() + 10;
final long max = min + 100;
final List<BuildDetails> builds = repository.getBuildDetailsByDurationRange(min, max);
Assert.assertNotNull("Unexpected null list of builds", builds);
Assert.assertTrue("Unexpected non-empty list of builds", builds.isEmpty());
}
use of org.jenkins.plugins.audit2db.model.BuildDetails in project selenium_java by sergueik.
the class BuildDetailsHibernateRepositoryTests method retrievalByNonMatchingParamNameShouldReturnEmptyList.
@Test
public void retrievalByNonMatchingParamNameShouldReturnEmptyList() {
final Map<String, List<BuildDetails>> dataset = TestUtils.createRandomDataset(hostName);
// ideally we should persist dataset in a transaction and roll it back
// at the end of the test
final TransactionStatus tx = txmgr.getTransaction(null);
tx.setRollbackOnly();
for (final List<BuildDetails> detailsList : dataset.values()) {
repository.saveBuildDetailsList(detailsList);
}
final Calendar fromDate = Calendar.getInstance();
fromDate.add(Calendar.YEAR, -1);
final Calendar toDate = Calendar.getInstance();
// get the first parameterised build details from the dataset
BuildDetails expected = null;
while (dataset.entrySet().iterator().hasNext()) {
expected = dataset.entrySet().iterator().next().getValue().get(0);
if (!expected.getParameters().isEmpty()) {
break;
}
}
final BuildParameter param = expected.getParameters().get(0);
final List<BuildDetails> buildDetails = repository.getBuildDetailsByParams(hostName, param.getName() + "-WRONGNAME", param.getValue(), fromDate.getTime(), toDate.getTime());
txmgr.rollback(tx);
Assert.assertNotNull("Unexpected null list of project names", buildDetails);
Assert.assertEquals("Unexpected non-empty list retrieved", 0, buildDetails.size());
}
use of org.jenkins.plugins.audit2db.model.BuildDetails in project selenium_java by sergueik.
the class BuildDetailsHibernateRepositoryTests method retrievalByMatchingUserIdShouldReturnNonEmptyList.
@Test
public void retrievalByMatchingUserIdShouldReturnNonEmptyList() {
final BuildDetails build = TestUtils.createRandomBuildDetails();
final Object buildId = repository.saveBuildDetails(build);
Assert.assertNotNull("Unexpected null build id", buildId);
final List<BuildDetails> builds = repository.getBuildDetailsByUserId(build.getUserId().toLowerCase());
Assert.assertNotNull("Unexpected null list of builds", builds);
Assert.assertFalse("Unexpected empty list of builds", builds.isEmpty());
Assert.assertEquals("Unexpected number of builds", 1, builds.size());
Assert.assertEquals("Mismatching build details found", build, builds.get(0));
}
use of org.jenkins.plugins.audit2db.model.BuildDetails in project selenium_java by sergueik.
the class BuildDetailsHibernateRepositoryTests method retrievalByNonMatchingParamValueShouldReturnEmptyList.
@Test
public void retrievalByNonMatchingParamValueShouldReturnEmptyList() {
final Map<String, List<BuildDetails>> dataset = TestUtils.createRandomDataset(hostName);
// ideally we should persist dataset in a transaction and roll it back
// at the end of the test
final TransactionStatus tx = txmgr.getTransaction(null);
tx.setRollbackOnly();
for (final List<BuildDetails> detailsList : dataset.values()) {
repository.saveBuildDetailsList(detailsList);
}
final Calendar fromDate = Calendar.getInstance();
fromDate.add(Calendar.YEAR, -1);
final Calendar toDate = Calendar.getInstance();
// get the first parameterised build details from the dataset
BuildDetails expected = null;
while (dataset.entrySet().iterator().hasNext()) {
expected = dataset.entrySet().iterator().next().getValue().get(0);
if (!expected.getParameters().isEmpty()) {
break;
}
}
final BuildParameter param = expected.getParameters().get(0);
final List<BuildDetails> buildDetails = repository.getBuildDetailsByParams(hostName, param.getName(), param.getValue() + "-WRONGVALUE", fromDate.getTime(), toDate.getTime());
txmgr.rollback(tx);
Assert.assertNotNull("Unexpected null list of project names", buildDetails);
Assert.assertEquals("Unexpected non-empty list retrieved", 0, buildDetails.size());
}
Aggregations