use of org.eclipse.che.api.workspace.server.wsplugins.model.ChePlugin in project che-server by eclipse-che.
the class KubernetesPluginsToolingApplierTest method addsMachineWithVolumeFromChePlugin.
@Test
public void addsMachineWithVolumeFromChePlugin() throws Exception {
// given
ChePlugin chePluginWithNoVolume = createChePlugin();
chePluginWithNoVolume.getContainers().get(0).setVolumes(emptyList());
// when
applier.apply(runtimeIdentity, internalEnvironment, asList(createChePlugin(), chePluginWithNoVolume));
// then
Collection<InternalMachineConfig> machineConfigs = getNonUserMachines(internalEnvironment);
assertEquals(machineConfigs.size(), 2);
verifyNumberOfMachinesWithSpecificNumberOfVolumes(machineConfigs, 2, 0);
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.ChePlugin in project che-server by eclipse-che.
the class KubernetesPluginsToolingApplierTest method shouldUseContainerNameForMachinesName.
@Test
public void shouldUseContainerNameForMachinesName() throws Exception {
// given
internalEnvironment.getMachines().clear();
ChePlugin chePlugin = createChePlugin("publisher/plugin1/0.2.1", createContainer("container1"));
// when
applier.apply(runtimeIdentity, internalEnvironment, singletonList(chePlugin));
// then
Map<String, InternalMachineConfig> machines = internalEnvironment.getMachines();
assertEquals(machines.size(), 1);
validateContainerNameName(machines.keySet().iterator().next(), "container1");
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.ChePlugin in project che-server by eclipse-che.
the class KubernetesPluginsToolingApplierTest method addToolingContainerWithCommandAndArgs.
@Test
public void addToolingContainerWithCommandAndArgs() throws InfrastructureException {
List<String> command = singletonList("tail");
List<String> args = Arrays.asList("-f", "/dev/null");
lenient().when(podSpec.getContainers()).thenReturn(new ArrayList<>());
ChePlugin chePlugin = createChePlugin();
List<CheContainer> containers = singletonList(createContainer(command, args));
chePlugin.setContainers(containers);
applier.apply(runtimeIdentity, internalEnvironment, singletonList(chePlugin));
verifyPodAndContainersNumber(1);
Container toolingContainer = getOneAndOnlyNonUserContainer(internalEnvironment);
verifyContainer(toolingContainer);
assertEquals(toolingContainer.getCommand(), command);
assertEquals(toolingContainer.getArgs(), args);
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.ChePlugin in project che-server by eclipse-che.
the class KubernetesPluginsToolingApplierTest method throwsExceptionOnAddingChePluginEndpointServiceIfServiceExists.
@Test(expectedExceptions = InfrastructureException.class, expectedExceptionsMessageRegExp = "Applying of sidecar tooling failed. Kubernetes service with name '" + CHE_PLUGIN_ENDPOINT_NAME + "' already exists in the workspace environment.")
public void throwsExceptionOnAddingChePluginEndpointServiceIfServiceExists() throws Exception {
// given
ChePluginEndpoint endpoint1 = new ChePluginEndpoint().name(CHE_PLUGIN_ENDPOINT_NAME).targetPort(101010).setPublic(true);
CheContainerPort cheContainerPort1 = new CheContainerPort().exposedPort(101010);
ChePlugin chePlugin = createChePlugin();
chePlugin.setEndpoints(singletonList(endpoint1));
chePlugin.getContainers().get(0).setPorts(singletonList(cheContainerPort1));
// make collision of service names
internalEnvironment.getServices().put(CHE_PLUGIN_ENDPOINT_NAME, new Service());
// when
applier.apply(runtimeIdentity, internalEnvironment, singletonList(chePlugin));
}
use of org.eclipse.che.api.workspace.server.wsplugins.model.ChePlugin in project che-server by eclipse-che.
the class KubernetesPluginsToolingApplierTest method addsMachineWithServersThatUseSamePortButDifferentNames.
@Test
public void addsMachineWithServersThatUseSamePortButDifferentNames() throws Exception {
// given
ChePlugin chePlugin = createChePlugin();
addPortToSingleContainerPlugin(chePlugin, 80, "test-port/http", emptyMap(), true);
addPortToSingleContainerPlugin(chePlugin, 80, "test-port/ws", emptyMap(), true);
// when
applier.apply(runtimeIdentity, internalEnvironment, singletonList(chePlugin));
// then
InternalMachineConfig machineConfig = getOneAndOnlyNonUserMachine(internalEnvironment);
assertEquals(machineConfig.getServers(), expectedTwoServers(80, "test-port/http", emptyMap(), true, 80, "test-port/ws", emptyMap(), true));
}
Aggregations