Search in sources :

Example 31 with Instance

use of org.eclipse.che.api.machine.server.spi.Instance in project che by eclipse.

the class CheEnvironmentEngineTest method stopOfEnvironmentShouldDestroyNetworkWhenNoMachineExists.

@Test
public void stopOfEnvironmentShouldDestroyNetworkWhenNoMachineExists() throws Exception {
    // given
    List<Instance> instances = startEnv();
    String workspaceId = instances.get(0).getWorkspaceId();
    for (Instance instance : instances) {
        engine.removeMachineFromEnvironment(instance.getWorkspaceId(), instance.getId());
    }
    // when
    engine.stop(workspaceId);
    // then
    for (Instance instance : instances) {
        verify(instance, never()).destroy();
    }
    verify(machineProvider).destroyNetwork(anyString());
}
Also used : Instance(org.eclipse.che.api.machine.server.spi.Instance) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.testng.annotations.Test)

Example 32 with Instance

use of org.eclipse.che.api.machine.server.spi.Instance in project che by eclipse.

the class CheEnvironmentEngineTest method shouldApplyAgentsOnDockerMachineStart.

@Test
public void shouldApplyAgentsOnDockerMachineStart() throws Exception {
    // given
    List<Instance> instances = startEnv();
    String workspaceId = instances.get(0).getWorkspaceId();
    when(engine.generateMachineId()).thenReturn("newMachineId");
    Instance newMachine = mock(Instance.class);
    when(newMachine.getId()).thenReturn("newMachineId");
    when(newMachine.getWorkspaceId()).thenReturn(workspaceId);
    when(machineProvider.startService(anyString(), anyString(), anyString(), anyString(), anyBoolean(), anyString(), any(CheServiceImpl.class), any(LineConsumer.class))).thenReturn(newMachine);
    MachineConfigImpl config = createConfig(false);
    List<String> agents = asList("agent1", "agent2");
    // when
    engine.startMachine(workspaceId, config, agents);
    // then
    verify(infrastructureProvisioner).provision(any(ExtendedMachineImpl.class), any(CheServiceImpl.class));
}
Also used : LineConsumer(org.eclipse.che.api.core.util.LineConsumer) MachineConfigImpl(org.eclipse.che.api.machine.server.model.impl.MachineConfigImpl) Instance(org.eclipse.che.api.machine.server.spi.Instance) CheServiceImpl(org.eclipse.che.api.environment.server.model.CheServiceImpl) ExtendedMachineImpl(org.eclipse.che.api.workspace.server.model.impl.ExtendedMachineImpl) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.testng.annotations.Test)

Example 33 with Instance

use of org.eclipse.che.api.machine.server.spi.Instance in project che by eclipse.

the class CheEnvironmentEngineTest method shouldBeAbleToStopEnv.

@Test
public void shouldBeAbleToStopEnv() throws Exception {
    // given
    List<Instance> instances = startEnv();
    Instance instance = instances.get(0);
    // when
    engine.stop(instance.getWorkspaceId());
    // then
    for (Instance instance1 : instances) {
        verify(instance1).destroy();
    }
    verify(machineProvider).destroyNetwork(anyString());
}
Also used : Instance(org.eclipse.che.api.machine.server.spi.Instance) Test(org.testng.annotations.Test)

Example 34 with Instance

use of org.eclipse.che.api.machine.server.spi.Instance in project che by eclipse.

the class CheEnvironmentEngineTest method shouldBeAbleToStopMachine.

@Test
public void shouldBeAbleToStopMachine() throws Exception {
    // given
    List<Instance> instances = startEnv();
    Optional<Instance> instanceOpt = instances.stream().filter(machine -> !machine.getConfig().isDev()).findAny();
    assertTrue(instanceOpt.isPresent(), "Required for test non-dev machine is not found");
    Instance instance = instanceOpt.get();
    // when
    engine.stopMachine(instance.getWorkspaceId(), instance.getId());
    // then
    verify(instance).destroy();
}
Also used : Agent(org.eclipse.che.api.agent.shared.model.Agent) MachineStatusEvent(org.eclipse.che.api.machine.shared.dto.event.MachineStatusEvent) Listeners(org.testng.annotations.Listeners) MachineStatus(org.eclipse.che.api.core.model.machine.MachineStatus) EnvironmentImpl(org.eclipse.che.api.workspace.server.model.impl.EnvironmentImpl) MachineLimitsImpl(org.eclipse.che.api.machine.server.model.impl.MachineLimitsImpl) Test(org.testng.annotations.Test) WorkspaceSharedPool(org.eclipse.che.api.workspace.server.WorkspaceSharedPool) AfterMethod(org.testng.annotations.AfterMethod) ServerConf2Impl(org.eclipse.che.api.workspace.server.model.impl.ServerConf2Impl) Collections.singletonList(java.util.Collections.singletonList) Mockito.doThrow(org.mockito.Mockito.doThrow) Matchers.anyBoolean(org.mockito.Matchers.anyBoolean) EnvironmentStartInterruptedException(org.eclipse.che.api.environment.server.exception.EnvironmentStartInterruptedException) Mockito.verifyNoMoreInteractions(org.mockito.Mockito.verifyNoMoreInteractions) Arrays.asList(java.util.Arrays.asList) Matchers.eq(org.mockito.Matchers.eq) Map(java.util.Map) EnvironmentNotRunningException(org.eclipse.che.api.environment.server.exception.EnvironmentNotRunningException) MessageConsumer(org.eclipse.che.api.core.util.MessageConsumer) CheServiceBuildContextImpl(org.eclipse.che.api.environment.server.model.CheServiceBuildContextImpl) Mockito.doReturn(org.mockito.Mockito.doReturn) EventService(org.eclipse.che.api.core.notification.EventService) Assert.assertNotEquals(org.testng.Assert.assertNotEquals) MockitoTestNGListener(org.mockito.testng.MockitoTestNGListener) EventSubscriber(org.eclipse.che.api.core.notification.EventSubscriber) Collections.emptyList(java.util.Collections.emptyList) BeforeMethod(org.testng.annotations.BeforeMethod) DtoFactory.newDto(org.eclipse.che.dto.server.DtoFactory.newDto) UUID(java.util.UUID) String.format(java.lang.String.format) Matchers.any(org.mockito.Matchers.any) List(java.util.List) Mockito.inOrder(org.mockito.Mockito.inOrder) Optional(java.util.Optional) AgentKey(org.eclipse.che.api.agent.shared.model.AgentKey) ServerConfImpl(org.eclipse.che.api.machine.server.model.impl.ServerConfImpl) SubjectImpl(org.eclipse.che.commons.subject.SubjectImpl) CheServiceImpl(org.eclipse.che.api.environment.server.model.CheServiceImpl) AgentRegistry(org.eclipse.che.api.agent.server.AgentRegistry) Mockito.mock(org.mockito.Mockito.mock) MachineInstanceProviders(org.eclipse.che.api.machine.server.MachineInstanceProviders) Assert.assertNull(org.testng.Assert.assertNull) Size(org.eclipse.che.commons.lang.Size) Mock(org.mockito.Mock) LineConsumer(org.eclipse.che.api.core.util.LineConsumer) Assert.assertEquals(org.testng.Assert.assertEquals) HashMap(java.util.HashMap) ExtendedMachineImpl(org.eclipse.che.api.workspace.server.model.impl.ExtendedMachineImpl) Mockito.spy(org.mockito.Mockito.spy) Captor(org.mockito.Captor) CheServicesEnvironmentImpl(org.eclipse.che.api.environment.server.model.CheServicesEnvironmentImpl) SnapshotImpl(org.eclipse.che.api.machine.server.model.impl.SnapshotImpl) Matchers.anyString(org.mockito.Matchers.anyString) ArrayList(java.util.ArrayList) EnvironmentContext(org.eclipse.che.commons.env.EnvironmentContext) InstanceProvider(org.eclipse.che.api.machine.server.spi.InstanceProvider) ArgumentCaptor(org.mockito.ArgumentCaptor) ServerConf2(org.eclipse.che.api.core.model.workspace.ServerConf2) ConflictException(org.eclipse.che.api.core.ConflictException) Collections.singletonMap(java.util.Collections.singletonMap) InstanceStateEvent(org.eclipse.che.api.machine.server.event.InstanceStateEvent) Instance(org.eclipse.che.api.machine.server.spi.Instance) MachineRuntimeInfoImpl(org.eclipse.che.api.machine.server.model.impl.MachineRuntimeInfoImpl) SnapshotDao(org.eclipse.che.api.machine.server.spi.SnapshotDao) MachineException(org.eclipse.che.api.machine.server.exception.MachineException) Collections.emptyMap(java.util.Collections.emptyMap) EnvironmentRecipeImpl(org.eclipse.che.api.workspace.server.model.impl.EnvironmentRecipeImpl) InOrder(org.mockito.InOrder) ExtendedMachine(org.eclipse.che.api.core.model.workspace.ExtendedMachine) Assert.fail(org.testng.Assert.fail) Mockito.times(org.mockito.Mockito.times) Mockito.when(org.mockito.Mockito.when) MachineLogMessage(org.eclipse.che.api.core.model.machine.MachineLogMessage) NotFoundException(org.eclipse.che.api.core.NotFoundException) Mockito.verify(org.mockito.Mockito.verify) Machine(org.eclipse.che.api.core.model.machine.Machine) MachineSourceImpl(org.eclipse.che.api.machine.server.model.impl.MachineSourceImpl) Mockito.never(org.mockito.Mockito.never) MachineImpl(org.eclipse.che.api.machine.server.model.impl.MachineImpl) RecipeDownloader(org.eclipse.che.api.machine.server.util.RecipeDownloader) ServerException(org.eclipse.che.api.core.ServerException) MachineConfigImpl(org.eclipse.che.api.machine.server.model.impl.MachineConfigImpl) Assert.assertTrue(org.testng.Assert.assertTrue) Collections(java.util.Collections) Instance(org.eclipse.che.api.machine.server.spi.Instance) Test(org.testng.annotations.Test)

Example 35 with Instance

use of org.eclipse.che.api.machine.server.spi.Instance in project che by eclipse.

the class CheEnvironmentEngineTest method shouldBeAbleToGetMachineOfEnv.

@Test
public void shouldBeAbleToGetMachineOfEnv() throws Exception {
    // given
    List<Instance> instances = startEnv();
    Instance instance = instances.get(0);
    String workspaceId = instance.getWorkspaceId();
    // when
    Instance actualInstance = engine.getMachine(workspaceId, instance.getId());
    // then
    assertEquals(actualInstance, instance);
}
Also used : Instance(org.eclipse.che.api.machine.server.spi.Instance) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.testng.annotations.Test)

Aggregations

Instance (org.eclipse.che.api.machine.server.spi.Instance)47 Test (org.testng.annotations.Test)36 Matchers.anyString (org.mockito.Matchers.anyString)22 LineConsumer (org.eclipse.che.api.core.util.LineConsumer)19 CheServiceImpl (org.eclipse.che.api.environment.server.model.CheServiceImpl)17 MachineConfigImpl (org.eclipse.che.api.machine.server.model.impl.MachineConfigImpl)17 NotFoundException (org.eclipse.che.api.core.NotFoundException)13 MachineSourceImpl (org.eclipse.che.api.machine.server.model.impl.MachineSourceImpl)11 ArrayList (java.util.ArrayList)10 ServerException (org.eclipse.che.api.core.ServerException)10 Machine (org.eclipse.che.api.core.model.machine.Machine)10 ExtendedMachine (org.eclipse.che.api.core.model.workspace.ExtendedMachine)10 EnvironmentNotRunningException (org.eclipse.che.api.environment.server.exception.EnvironmentNotRunningException)10 CheServicesEnvironmentImpl (org.eclipse.che.api.environment.server.model.CheServicesEnvironmentImpl)10 EnvironmentImpl (org.eclipse.che.api.workspace.server.model.impl.EnvironmentImpl)9 ConflictException (org.eclipse.che.api.core.ConflictException)8 MachineException (org.eclipse.che.api.machine.server.exception.MachineException)7 MachineImpl (org.eclipse.che.api.machine.server.model.impl.MachineImpl)7 SnapshotImpl (org.eclipse.che.api.machine.server.model.impl.SnapshotImpl)7 ExtendedMachineImpl (org.eclipse.che.api.workspace.server.model.impl.ExtendedMachineImpl)7