Search in sources :

Example 6 with KubernetesRuntimeState

use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.

the class KubernetesInternalRuntimeTest method shouldMarkRuntimeStopping.

@Test
public void shouldMarkRuntimeStopping() throws Exception {
    // given
    runtimeStatesCache.putIfAbsent(new KubernetesRuntimeState(internalRuntime.getContext().getIdentity(), WorkspaceStatus.RUNNING, emptyList()));
    // when
    internalRuntime.markStopping();
    // then
    assertEquals(internalRuntime.getStatus(), WorkspaceStatus.STOPPING);
}
Also used : KubernetesRuntimeState(org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState) Test(org.testng.annotations.Test)

Example 7 with KubernetesRuntimeState

use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.

the class KubernetesInternalRuntimeTest method shouldMarkRuntimeRunning.

@Test
public void shouldMarkRuntimeRunning() throws Exception {
    // given
    runtimeStatesCache.putIfAbsent(new KubernetesRuntimeState(internalRuntime.getContext().getIdentity(), WorkspaceStatus.STARTING, emptyList()));
    // when
    internalRuntime.markRunning();
    // then
    assertEquals(internalRuntime.getStatus(), WorkspaceStatus.RUNNING);
}
Also used : KubernetesRuntimeState(org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState) Test(org.testng.annotations.Test)

Example 8 with KubernetesRuntimeState

use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.

the class KubernetesRuntimeStateCacheTest method shouldDoNothingIfStateIsAlreadyRemove.

@Test(dependsOnMethods = "shouldReturnEmptyOptionalIfRuntimeStateIsNotFound")
public void shouldDoNothingIfStateIsAlreadyRemove() throws Exception {
    // given
    KubernetesRuntimeState runtimeState = createRuntimeState(workspaces[2]);
    RuntimeIdentity toRemove = runtimeState.getRuntimeId();
    // when
    runtimesStatesCache.remove(toRemove);
    // then
    assertFalse(runtimesStatesCache.get(toRemove).isPresent());
}
Also used : RuntimeIdentity(org.eclipse.che.api.core.model.workspace.runtime.RuntimeIdentity) KubernetesRuntimeState(org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState) Test(org.testng.annotations.Test)

Example 9 with KubernetesRuntimeState

use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.

the class KubernetesRuntimeStateCacheTest method shouldNotPutRuntimeStateIfRuntimeStateIsAlreadyPut.

@Test(dependsOnMethods = "shouldReturnRuntimeStateByRuntimeId")
public void shouldNotPutRuntimeStateIfRuntimeStateIsAlreadyPut() throws Exception {
    // given
    KubernetesRuntimeState runtimeState = createRuntimeState(workspaces[0]);
    // when
    boolean isInserted = runtimesStatesCache.putIfAbsent(runtimeState);
    // then
    assertFalse(isInserted);
    Optional<KubernetesRuntimeState> fetchedState = runtimesStatesCache.get(runtimeState.getRuntimeId());
    assertTrue(fetchedState.isPresent());
    assertEquals(runtimesStates[0], fetchedState.get());
}
Also used : KubernetesRuntimeState(org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState) Test(org.testng.annotations.Test)

Example 10 with KubernetesRuntimeState

use of org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState in project che-server by eclipse-che.

the class KubernetesRuntimeStateCacheTest method shouldUpdateStatusIfPreviousValueMatchesPredicate.

@Test(dependsOnMethods = "shouldReturnRuntimeStatus")
public void shouldUpdateStatusIfPreviousValueMatchesPredicate() throws Exception {
    // given
    KubernetesRuntimeState stateToUpdate = runtimesStates[0];
    // when
    boolean isUpdated = runtimesStatesCache.updateStatus(stateToUpdate.getRuntimeId(), s -> s == stateToUpdate.getStatus(), WorkspaceStatus.STOPPED);
    // then
    assertTrue(isUpdated);
    Optional<WorkspaceStatus> updatedStatusOpt = runtimesStatesCache.getStatus(stateToUpdate.getRuntimeId());
    assertTrue(updatedStatusOpt.isPresent());
    assertEquals(updatedStatusOpt.get(), WorkspaceStatus.STOPPED);
    assertNotEquals(stateToUpdate, WorkspaceStatus.STOPPED);
}
Also used : KubernetesRuntimeState(org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState) WorkspaceStatus(org.eclipse.che.api.core.model.workspace.WorkspaceStatus) Test(org.testng.annotations.Test)

Aggregations

KubernetesRuntimeState (org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesRuntimeState)48 Test (org.testng.annotations.Test)34 RuntimeIdentity (org.eclipse.che.api.core.model.workspace.runtime.RuntimeIdentity)8 TypeLiteral (com.google.inject.TypeLiteral)6 AccountImpl (org.eclipse.che.account.spi.AccountImpl)6 WorkspaceStatus (org.eclipse.che.api.core.model.workspace.WorkspaceStatus)6 WorkspaceImpl (org.eclipse.che.api.workspace.server.model.impl.WorkspaceImpl)6 PersistTestModuleBuilder (org.eclipse.che.commons.test.db.PersistTestModuleBuilder)6 TckResourcesCleaner (org.eclipse.che.commons.test.tck.TckResourcesCleaner)6 DBInitializer (org.eclipse.che.core.db.DBInitializer)6 SchemaInitializer (org.eclipse.che.core.db.schema.SchemaInitializer)6 FlywaySchemaInitializer (org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer)6 KubernetesMachineCache (org.eclipse.che.workspace.infrastructure.kubernetes.cache.KubernetesMachineCache)6 KubernetesRuntimeStateCache (org.eclipse.che.workspace.infrastructure.kubernetes.cache.KubernetesRuntimeStateCache)6 KubernetesMachineImpl (org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesMachineImpl)6 KubernetesServerImpl (org.eclipse.che.workspace.infrastructure.kubernetes.model.KubernetesServerImpl)6 AccountDao (org.eclipse.che.account.spi.AccountDao)4 JpaAccountDao (org.eclipse.che.account.spi.jpa.JpaAccountDao)4 JpaUserDevfileDao (org.eclipse.che.api.devfile.server.jpa.JpaUserDevfileDao)4 UserDevfileImpl (org.eclipse.che.api.devfile.server.model.impl.UserDevfileImpl)4