Make JpaWorkspaceActivityDao#countWorkspacesInStatus transactional.

Add simple tests for the method.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
6.19.x
Lukas Krejci 2019-01-08 12:18:26 +01:00
parent aec666ffc7
commit b20d64d464
3 changed files with 26 additions and 0 deletions

View File

@ -176,6 +176,7 @@ public class JpaWorkspaceActivityDao implements WorkspaceActivityDao {
}
@Override
@Transactional(rollbackOn = ServerException.class)
public long countWorkspacesInStatus(WorkspaceStatus status, long timestamp)
throws ServerException {
try {

View File

@ -156,6 +156,12 @@ public class WorkspaceActivityManagerTest {
verify(workspaceActivityDao, times(1)).removeActivity(eq(wsId));
}
@Test
public void shouldCountWorkspacesInStatus() throws Exception {
activityManager.countWorkspacesInStatus(WorkspaceStatus.STARTING, 0L);
verify(workspaceActivityDao).countWorkspacesInStatus(eq(WorkspaceStatus.STARTING), eq(0L));
}
@DataProvider(name = "wsStatus")
public Object[][] getWorkspaceStatus() {
return Stream.of(WorkspaceStatus.values())

View File

@ -186,6 +186,25 @@ public class WorkspaceActivityDaoTest {
assertEquals(found.getItems(), singletonList(activities[0].getWorkspaceId()));
}
@Test(dataProvider = "allWorkspaceStatuses")
public void shouldCountWorkspacesInStatus(WorkspaceStatus status) throws Exception {
long count = workspaceActivityDao.countWorkspacesInStatus(status, System.currentTimeMillis());
assertEquals(count, 0);
workspaceActivityDao.setCreatedTime(activities[0].getWorkspaceId(), 1L);
workspaceActivityDao.setStatusChangeTime(activities[0].getWorkspaceId(), status, 2L);
workspaceActivityDao.setStatusChangeTime(activities[1].getWorkspaceId(), status, 5L);
workspaceActivityDao.setCreatedTime(activities[1].getWorkspaceId(), 1L);
count = workspaceActivityDao.countWorkspacesInStatus(status, 3L);
assertEquals(count, 1);
count = workspaceActivityDao.countWorkspacesInStatus(status, 6L);
assertEquals(count, 2);
}
@DataProvider(name = "allWorkspaceStatuses")
public Object[][] getWorkspaceStatus() {
return Stream.of(WorkspaceStatus.values())