use of org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl in project devspaces-images by redhat-developer.
the class DockerimageComponentToWorkspaceApplierTest method shouldProvisionMachineConfigWithoutSourcesByDefault.
@Test
public void shouldProvisionMachineConfigWithoutSourcesByDefault() throws Exception {
// given
ComponentImpl dockerimageComponent = new ComponentImpl();
dockerimageComponent.setAlias("jdk");
dockerimageComponent.setType(DOCKERIMAGE_COMPONENT_TYPE);
dockerimageComponent.setImage("eclipse/ubuntu_jdk8:latest");
dockerimageComponent.setMemoryLimit("1G");
// when
dockerimageComponentApplier.apply(workspaceConfig, dockerimageComponent, null);
// then
verify(k8sEnvProvisioner).provision(eq(workspaceConfig), eq(KubernetesEnvironment.TYPE), objectsCaptor.capture(), machinesCaptor.capture());
MachineConfigImpl machineConfig = machinesCaptor.getValue().get("jdk");
assertNotNull(machineConfig);
assertFalse(machineConfig.getVolumes().containsKey(PROJECTS_VOLUME_NAME));
}
use of org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl in project devspaces-images by redhat-developer.
the class DockerimageComponentToWorkspaceApplierTest method shouldProvisionMachineConfigWithMountSources.
@Test
public void shouldProvisionMachineConfigWithMountSources() throws Exception {
// given
ComponentImpl dockerimageComponent = new ComponentImpl();
dockerimageComponent.setAlias("jdk");
dockerimageComponent.setType(DOCKERIMAGE_COMPONENT_TYPE);
dockerimageComponent.setImage("eclipse/ubuntu_jdk8:latest");
dockerimageComponent.setMemoryLimit("1G");
dockerimageComponent.setMountSources(true);
// when
dockerimageComponentApplier.apply(workspaceConfig, dockerimageComponent, null);
// then
verify(k8sEnvProvisioner).provision(eq(workspaceConfig), eq(KubernetesEnvironment.TYPE), objectsCaptor.capture(), machinesCaptor.capture());
MachineConfigImpl machineConfig = machinesCaptor.getValue().get("jdk");
assertNotNull(machineConfig);
org.eclipse.che.api.workspace.server.model.impl.VolumeImpl projectsVolume = machineConfig.getVolumes().get(PROJECTS_VOLUME_NAME);
assertNotNull(projectsVolume);
assertEquals(projectsVolume.getPath(), PROJECTS_MOUNT_PATH);
}
use of org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl in project devspaces-images by redhat-developer.
the class DockerimageComponentToWorkspaceApplierTest method serverCantHaveRequireSubdomainWhenSinglehostDevfileExpose.
@Test
public void serverCantHaveRequireSubdomainWhenSinglehostDevfileExpose() throws DevfileException {
dockerimageComponentApplier = new DockerimageComponentToWorkspaceApplier(PROJECTS_MOUNT_PATH, "Always", SINGLE_HOST_STRATEGY, k8sEnvProvisioner);
// given
EndpointImpl endpoint = new EndpointImpl("jdk-ls", 4923, emptyMap());
ComponentImpl dockerimageComponent = new ComponentImpl();
dockerimageComponent.setAlias("jdk");
dockerimageComponent.setType(DOCKERIMAGE_COMPONENT_TYPE);
dockerimageComponent.setImage("eclipse/ubuntu_jdk8:latest");
dockerimageComponent.setMemoryLimit("100M");
dockerimageComponent.setEndpoints(Arrays.asList(new EndpointImpl("e1", 1111, emptyMap()), new EndpointImpl("e2", 2222, emptyMap())));
// when
dockerimageComponentApplier.apply(workspaceConfig, dockerimageComponent, null);
// then
verify(k8sEnvProvisioner).provision(eq(workspaceConfig), eq(KubernetesEnvironment.TYPE), objectsCaptor.capture(), machinesCaptor.capture());
MachineConfigImpl machineConfig = machinesCaptor.getValue().get("jdk");
assertNotNull(machineConfig);
assertEquals(machineConfig.getServers().size(), 2);
assertFalse(ServerConfig.isRequireSubdomain(machineConfig.getServers().get("e1").getAttributes()));
assertFalse(ServerConfig.isRequireSubdomain(machineConfig.getServers().get("e2").getAttributes()));
}
use of org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl in project devspaces-images by redhat-developer.
the class DockerimageComponentToWorkspaceApplierTest method shouldProvisionMachineConfigWithConfiguredServers.
@Test
public void shouldProvisionMachineConfigWithConfiguredServers() throws Exception {
// given
EndpointImpl endpoint = new EndpointImpl("jdk-ls", 4923, ImmutableMap.of("protocol", "http", "path", "/ls", PUBLIC_ENDPOINT_ATTRIBUTE, "false", "secure", "false"));
ComponentImpl dockerimageComponent = new ComponentImpl();
dockerimageComponent.setAlias("jdk");
dockerimageComponent.setType(DOCKERIMAGE_COMPONENT_TYPE);
dockerimageComponent.setImage("eclipse/ubuntu_jdk8:latest");
dockerimageComponent.setMemoryLimit("1G");
dockerimageComponent.setEndpoints(singletonList(endpoint));
// when
dockerimageComponentApplier.apply(workspaceConfig, dockerimageComponent, null);
// then
verify(k8sEnvProvisioner).provision(eq(workspaceConfig), eq(KubernetesEnvironment.TYPE), objectsCaptor.capture(), machinesCaptor.capture());
MachineConfigImpl machineConfig = machinesCaptor.getValue().get("jdk");
assertNotNull(machineConfig);
assertEquals(machineConfig.getServers().size(), 1);
ServerConfigImpl serverConfig = machineConfig.getServers().get("jdk-ls");
assertEquals(serverConfig.getProtocol(), "http");
assertEquals(serverConfig.getPath(), "/ls");
assertEquals(serverConfig.getPort(), "4923");
Map<String, String> attributes = serverConfig.getAttributes();
assertEquals(attributes.get(ServerConfig.INTERNAL_SERVER_ATTRIBUTE), "true");
assertEquals(attributes.get("secure"), "false");
assertEquals(attributes.get(ServerConfig.REQUIRE_SUBDOMAIN), "true");
}
use of org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl in project devspaces-images by redhat-developer.
the class DockerimageComponentToWorkspaceApplierTest method shouldProvisionMachineConfigWithConfiguredVolumes.
@Test
public void shouldProvisionMachineConfigWithConfiguredVolumes() throws Exception {
// given
ComponentImpl dockerimageComponent = new ComponentImpl();
dockerimageComponent.setAlias("jdk");
dockerimageComponent.setType(DOCKERIMAGE_COMPONENT_TYPE);
dockerimageComponent.setImage("eclipse/ubuntu_jdk8:latest");
dockerimageComponent.setMemoryLimit("1G");
dockerimageComponent.setVolumes(singletonList(new VolumeImpl("data", "/tmp/data/")));
// when
dockerimageComponentApplier.apply(workspaceConfig, dockerimageComponent, null);
// then
verify(k8sEnvProvisioner).provision(eq(workspaceConfig), eq(KubernetesEnvironment.TYPE), objectsCaptor.capture(), machinesCaptor.capture());
MachineConfigImpl machineConfig = machinesCaptor.getValue().get("jdk");
assertNotNull(machineConfig);
org.eclipse.che.api.workspace.server.model.impl.VolumeImpl volume = machineConfig.getVolumes().get("data");
assertNotNull(volume);
assertEquals(volume.getPath(), "/tmp/data/");
}
Aggregations