use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.
the class KubernetesRuntimeStateCacheTest method shouldNotUpdateStatusIfPreviousValueDoesNotMatchesPredicate.
@Test(dependsOnMethods = "shouldReturnRuntimeStatus")
public void shouldNotUpdateStatusIfPreviousValueDoesNotMatchesPredicate() throws Exception {
// given
KubernetesRuntimeState stateToUpdate = runtimesStates[0];
// when
boolean isUpdated = runtimesStatesCache.updateStatus(stateToUpdate.getRuntimeId(), s -> s == WorkspaceStatus.STARTING, WorkspaceStatus.STOPPED);
// then
assertFalse(isUpdated);
Optional<WorkspaceStatus> updatedStatusOpt = runtimesStatesCache.getStatus(stateToUpdate.getRuntimeId());
assertTrue(updatedStatusOpt.isPresent());
assertEquals(updatedStatusOpt.get(), WorkspaceStatus.RUNNING);
assertEquals(stateToUpdate.getStatus(), WorkspaceStatus.RUNNING);
}
use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.
the class KubernetesRuntimeStateCacheTest method shouldRemoveRuntimeState.
@Test(dependsOnMethods = "shouldReturnEmptyOptionalIfRuntimeStateIsNotFound")
public void shouldRemoveRuntimeState() throws Exception {
// given
KubernetesRuntimeState runtimeState = createRuntimeState(workspaces[0]);
RuntimeIdentity toRemove = runtimeState.getRuntimeId();
// when
runtimesStatesCache.remove(toRemove);
// then
assertFalse(runtimesStatesCache.get(toRemove).isPresent());
}
use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.
the class KubernetesRuntimeStateCacheTest method shouldReturnRuntimeStateByRuntimeId.
@Test
public void shouldReturnRuntimeStateByRuntimeId() throws Exception {
// given
KubernetesRuntimeState expectedState = runtimesStates[1];
// when
Optional<KubernetesRuntimeState> fetchedOpt = runtimesStatesCache.get(expectedState.getRuntimeId());
// then
assertTrue(fetchedOpt.isPresent());
assertEquals(expectedState, fetchedOpt.get());
}
use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.
the class KubernetesRuntimeStateCacheTest method shouldPutRuntimeState.
@Test(dependsOnMethods = "shouldReturnRuntimeStateByRuntimeId")
public void shouldPutRuntimeState() throws Exception {
// given
KubernetesRuntimeState runtimeState = createRuntimeState(workspaces[2]);
// when
boolean isInserted = runtimesStatesCache.putIfAbsent(runtimeState);
// then
assertTrue(isInserted);
Optional<KubernetesRuntimeState> fetchedState = runtimesStatesCache.get(runtimeState.getRuntimeId());
assertTrue(fetchedState.isPresent());
assertEquals(runtimeState, fetchedState.get());
}
use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.
the class KubernetesRuntimeStateCacheTest method shouldUpdateStatus.
@Test(dependsOnMethods = "shouldReturnRuntimeStatus")
public void shouldUpdateStatus() throws Exception {
// given
KubernetesRuntimeState stateToUpdate = runtimesStates[0];
// when
runtimesStatesCache.updateStatus(stateToUpdate.getRuntimeId(), WorkspaceStatus.STOPPED);
// then
Optional<WorkspaceStatus> updatedStatusOpt = runtimesStatesCache.getStatus(stateToUpdate.getRuntimeId());
assertTrue(updatedStatusOpt.isPresent());
assertEquals(updatedStatusOpt.get(), WorkspaceStatus.STOPPED);
assertNotEquals(stateToUpdate, WorkspaceStatus.STOPPED);
}
Aggregations