use of org.eclipse.che.api.workspace.server.model.impl.ServerImpl in project devspaces-images by redhat-developer.
the class WorkspaceProbesFactoryTest method returnsProbesForAMachineForTerminal.
@Test
public void returnsProbesForAMachineForTerminal() throws Exception {
WorkspaceProbes wsProbes = probesFactory.getProbes(IDENTITY, MACHINE_NAME, singletonMap(SERVER_TERMINAL_REFERENCE, new ServerImpl().withUrl("wss://localhost:4040/pty")));
verifyHttpProbeConfig(wsProbes, SERVER_TERMINAL_REFERENCE, 3, 1, 10, 10, 120, "/liveness", "localhost", 4040, "https", emptyMap());
}
use of org.eclipse.che.api.workspace.server.model.impl.ServerImpl in project devspaces-images by redhat-developer.
the class InternalRuntimeTest method shouldAddAWarningInsteadOfAServerIfURLRewritingFailed.
@Test
public void shouldAddAWarningInsteadOfAServerIfURLRewritingFailed() throws Exception {
// given
URLRewriter urlRewriter = spy(new URLRewriter.NoOpURLRewriter());
setRunningRuntime(urlRewriter);
Map<String, MachineImpl> expectedMachines = new HashMap<>();
Map<String, MachineImpl> internalMachines = new HashMap<>();
MachineImpl machine1 = createMachine();
MachineImpl machine2 = createMachine();
HashMap<String, ServerImpl> expectedServers = new HashMap<>(machine1.getServers());
String badServerName = "badServer";
String badServerURL = "ws://failing-rewriting:8000";
String badServerRewritingExcMessage = "test exc";
ServerImpl failingRewritingServer = createServer(badServerURL);
machine1.getServers().put(badServerName, failingRewritingServer);
internalMachines.put("m1", machine1);
internalMachines.put("m2", machine2);
expectedMachines.put("m1", new MachineImpl(machine1.getAttributes(), expectedServers, machine1.getStatus()));
expectedMachines.put("m2", machine2);
List<WarningImpl> expectedWarnings = new ArrayList<>();
expectedWarnings.add(new WarningImpl(InternalRuntime.MALFORMED_SERVER_URL_FOUND, "Malformed URL for " + badServerName + " : " + badServerRewritingExcMessage));
doReturn(internalMachines).when(internalRuntime).getInternalMachines();
doThrow(new InfrastructureException(badServerRewritingExcMessage)).when(urlRewriter).rewriteURL(any(RuntimeIdentity.class), any(), anyString(), eq(badServerURL));
// when
Map<String, ? extends Machine> actualMachines = internalRuntime.getMachines();
List<? extends Warning> actualWarnings = internalRuntime.getWarnings();
// then
assertEquals(actualMachines, expectedMachines);
assertEquals(actualWarnings, expectedWarnings);
}
use of org.eclipse.che.api.workspace.server.model.impl.ServerImpl in project devspaces-images by redhat-developer.
the class InternalRuntimeTest method createMachines.
private HashMap<String, MachineImpl> createMachines(String expectedMachineName, Map<String, String> expectedProps, String expectedServerName, String expectedServerUrl, ServerStatus expectedServerStatus) throws Exception {
MachineImpl expectedMachine = new MachineImpl(expectedProps, singletonMap(expectedServerName, new ServerImpl().withUrl(expectedServerUrl).withStatus(expectedServerStatus)), MachineStatus.RUNNING);
HashMap<String, MachineImpl> result = new HashMap<>();
result.put("m1", createMachine());
result.put("m2", createMachine());
result.put(expectedMachineName, expectedMachine);
return result;
}
use of org.eclipse.che.api.workspace.server.model.impl.ServerImpl in project che-server by eclipse-che.
the class IngressServerResolver method fillIngressServers.
private Map<String, ServerImpl> fillIngressServers(Ingress ingress) {
IngressRule ingressRule = ingress.getSpec().getRules().get(0);
// host either set by rule, or determined by LB ip
final String host = ingressRule.getHost() != null ? ingressRule.getHost() : ingress.getStatus().getLoadBalancer().getIngress().get(0).getIp();
return Annotations.newDeserializer(ingress.getMetadata().getAnnotations()).servers().entrySet().stream().collect(Collectors.toMap(Entry::getKey, e -> {
String root = pathTransformInverter.undoPathTransformation(ingressRule.getHttp().getPaths().get(0).getPath());
String path = buildPath(root, e.getValue().getPath());
// the /jwt/auth needs to be based on the webroot of the server, not the path of
// the endpoint.
String endpointOrigin = buildPath(root, "/");
return new RuntimeServerBuilder().protocol(e.getValue().getProtocol()).host(host).path(path).endpointOrigin(endpointOrigin).attributes(e.getValue().getAttributes()).targetPort(e.getValue().getPort()).build();
}));
}
use of org.eclipse.che.api.workspace.server.model.impl.ServerImpl in project che-server by eclipse-che.
the class ConfigMapServerResolverTest method shouldIncludeServersFromNativeResolver.
@Test
public void shouldIncludeServersFromNativeResolver() {
// given
ServerImpl server = new ServerImpl("server", ServerStatus.UNKNOWN, emptyMap());
when(nativeServerResolver.resolveExternalServers("test")).thenReturn(singletonMap("s1", server));
ConfigMapServerResolver serverResolver = new ConfigMapServerResolver(emptyList(), emptyList(), "che.host", nativeServerResolver);
// when
Map<String, ServerImpl> resolvedServers = serverResolver.resolve("test");
// then
assertTrue(resolvedServers.containsKey("s1"));
assertEquals(resolvedServers.get("s1"), server);
}
Aggregations