Search in sources :

Example 36 with EndpointImpl

use of org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl in project che-server by eclipse-che.

the class DockerimageComponentToWorkspaceApplierTest method shouldProvisionServersWithHttpPortIsTheCorrespondingAttrIsMissing.

@Test
public void shouldProvisionServersWithHttpPortIsTheCorrespondingAttrIsMissing() throws Exception {
    // 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("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");
}
Also used : MachineConfigImpl(org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl) EndpointImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl) ServerConfigImpl(org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl) ComponentImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.ComponentImpl) Test(org.testng.annotations.Test)

Example 37 with EndpointImpl

use of org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl in project che-server by eclipse-che.

the class KubernetesComponentToWorkspaceApplierTest method shouldProvisionEndpointsToAllMachines.

@Test
public void shouldProvisionEndpointsToAllMachines() throws IOException, ValidationException, InfrastructureException, DevfileException {
    // given
    String endpointName = "petclinic-endpoint";
    Integer endpointPort = 8081;
    String yamlRecipeContent = getResource("devfile/petclinicPods.yaml");
    doReturn(toK8SList(yamlRecipeContent).getItems()).when(k8sRecipeParser).parse(anyString());
    ComponentImpl component = new ComponentImpl();
    component.setType(KUBERNETES_COMPONENT_TYPE);
    component.setReference(REFERENCE_FILENAME);
    component.setAlias(COMPONENT_NAME);
    component.setEndpoints(singletonList(new EndpointImpl(endpointName, endpointPort, emptyMap())));
    // when
    applier.apply(workspaceConfig, component, s -> yamlRecipeContent);
    // then
    @SuppressWarnings("unchecked") ArgumentCaptor<Map<String, MachineConfigImpl>> objectsCaptor = ArgumentCaptor.forClass(Map.class);
    verify(k8sEnvProvisioner).provision(any(), any(), any(), objectsCaptor.capture());
    Map<String, MachineConfigImpl> configs = objectsCaptor.getValue();
    assertEquals(configs.size(), 3);
    configs.values().forEach(machineConfig -> {
        Map<String, ServerConfigImpl> serverConfigs = machineConfig.getServers();
        assertEquals(serverConfigs.size(), 1);
        assertTrue(serverConfigs.containsKey(endpointName));
        assertEquals(serverConfigs.get(endpointName).getPort(), endpointPort.toString());
        assertNull(serverConfigs.get(endpointName).getPath());
    });
}
Also used : MachineConfigImpl(org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl) EndpointImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl) ServerConfigImpl(org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ComponentImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.ComponentImpl) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) ArgumentMatchers.anyMap(org.mockito.ArgumentMatchers.anyMap) Collections.singletonMap(java.util.Collections.singletonMap) Collections.emptyMap(java.util.Collections.emptyMap) Test(org.testng.annotations.Test)

Example 38 with EndpointImpl

use of org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl in project che-server by eclipse-che.

the class ServerConfigImplTest method testCreateFromEndpointDevfileEndpointAttributeNotSetWhenDefault.

@Test
public void testCreateFromEndpointDevfileEndpointAttributeNotSetWhenDefault() {
    ServerConfig serverConfig = ServerConfigImpl.createFromEndpoint(new EndpointImpl("name", 123, new HashMap<>()));
    assertFalse(serverConfig.getAttributes().containsKey(REQUIRE_SUBDOMAIN));
}
Also used : ServerConfig(org.eclipse.che.api.core.model.workspace.config.ServerConfig) HashMap(java.util.HashMap) EndpointImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl) Test(org.testng.annotations.Test)

Example 39 with EndpointImpl

use of org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl in project che-server by eclipse-che.

the class ServerConfigImplTest method testStoreEndpointNameIntoAttributes.

@Test
public void testStoreEndpointNameIntoAttributes() {
    ServerConfig serverConfig = ServerConfigImpl.createFromEndpoint(new EndpointImpl("blabol", 123, emptyMap()));
    assertEquals(serverConfig.getAttributes().get(SERVER_NAME_ATTRIBUTE), "blabol");
}
Also used : ServerConfig(org.eclipse.che.api.core.model.workspace.config.ServerConfig) EndpointImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl) Test(org.testng.annotations.Test)

Example 40 with EndpointImpl

use of org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl in project che-server by eclipse-che.

the class ServerConfigImplTest method testCreateFromEndpointTranslateProtocol.

@Test
public void testCreateFromEndpointTranslateProtocol() {
    ServerConfig serverConfig = ServerConfigImpl.createFromEndpoint(new EndpointImpl("name", 123, singletonMap("protocol", "hello")));
    assertEquals(serverConfig.getProtocol(), "hello");
}
Also used : ServerConfig(org.eclipse.che.api.core.model.workspace.config.ServerConfig) EndpointImpl(org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl) Test(org.testng.annotations.Test)

Aggregations

EndpointImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.EndpointImpl)60 Test (org.testng.annotations.Test)52 ComponentImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.ComponentImpl)36 ServerConfig (org.eclipse.che.api.core.model.workspace.config.ServerConfig)20 MachineConfigImpl (org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl)20 Collections.emptyMap (java.util.Collections.emptyMap)12 Map (java.util.Map)12 ActionImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.ActionImpl)12 DevfileImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl)12 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)12 EntrypointImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.EntrypointImpl)10 EnvImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.EnvImpl)10 ProjectImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.ProjectImpl)10 SourceImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.SourceImpl)10 ImmutableMap (com.google.common.collect.ImmutableMap)8 Collections.singletonMap (java.util.Collections.singletonMap)8 ServerConfigImpl (org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl)8 CommandImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.CommandImpl)8 MetadataImpl (org.eclipse.che.api.workspace.server.model.impl.devfile.MetadataImpl)8 ArgumentMatchers.anyMap (org.mockito.ArgumentMatchers.anyMap)8