use of org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl in project che-server by eclipse-che.
the class WorkspaceManagerTest method evaluatesLegacyInfraNamespaceIfMissingOnWorkspaceStart.
@Test
public void evaluatesLegacyInfraNamespaceIfMissingOnWorkspaceStart() throws Exception {
DevfileImpl devfile = mock(DevfileImpl.class);
WorkspaceImpl workspace = createAndMockWorkspace(devfile, NAMESPACE_1, new HashMap<>());
workspace.getAttributes().remove(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE);
when(runtimes.evalInfrastructureNamespace(any())).thenReturn("evaluated-legacy");
mockAnyWorkspaceStart();
workspaceManager.startWorkspace(workspace.getId(), null, emptyMap());
verify(runtimes).startAsync(eq(workspace), eq(null), anyMap());
verify(workspaceDao, times(2)).update(workspaceCaptor.capture());
assertEquals(workspaceCaptor.getAllValues().get(0).getAttributes().get(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE), "evaluated-legacy");
verify(runtimes).evalInfrastructureNamespace(new NamespaceResolutionContext(workspace.getId(), USER_ID, NAMESPACE_1));
}
use of org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl in project che-server by eclipse-che.
the class WorkspaceManagerTest method doNotEvaluateInfraNamespaceIfItIsSpecifiedOnWorkspaceStart.
@Test
public void doNotEvaluateInfraNamespaceIfItIsSpecifiedOnWorkspaceStart() throws Exception {
DevfileImpl devfile = mock(DevfileImpl.class);
WorkspaceImpl workspace = createAndMockWorkspace(devfile, NAMESPACE_1, ImmutableMap.of(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE, "user-defined"));
mockAnyWorkspaceStart();
workspaceManager.startWorkspace(workspace.getId(), null, emptyMap());
verify(runtimes).startAsync(eq(workspace), eq(null), anyMap());
verify(workspaceDao, times(2)).update(workspaceCaptor.capture());
assertEquals(workspaceCaptor.getAllValues().get(0).getAttributes().get(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE), "user-defined");
verify(runtimes, never()).evalInfrastructureNamespace(any());
}
use of org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl in project che-server by eclipse-che.
the class WorkspaceManagerTest method evaluatesDefaultInfraNamespaceIfInvalidOnWorkspaceStart.
@Test
public void evaluatesDefaultInfraNamespaceIfInvalidOnWorkspaceStart() throws Exception {
DevfileImpl devfile = mock(DevfileImpl.class);
WorkspaceImpl workspace = createAndMockWorkspace(devfile, NAMESPACE_1, ImmutableMap.of(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE, "-invalid-dns-name"));
when(runtimes.evalInfrastructureNamespace(any())).thenReturn("evaluated-legal");
when(runtimes.isInfrastructureNamespaceValid(eq("-invalid-dns-name"))).thenReturn(false);
mockAnyWorkspaceStart();
workspaceManager.startWorkspace(workspace.getId(), null, emptyMap());
verify(runtimes).startAsync(eq(workspace), eq(null), anyMap());
verify(workspaceDao, times(2)).update(workspaceCaptor.capture());
assertEquals(workspaceCaptor.getAllValues().get(0).getAttributes().get(WORKSPACE_INFRASTRUCTURE_NAMESPACE_ATTRIBUTE), "evaluated-legal");
verify(runtimes).evalInfrastructureNamespace(new NamespaceResolutionContext(workspace.getId(), USER_ID, NAMESPACE_1));
}
use of org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl in project che-server by eclipse-che.
the class DevfileParserTest method setUp.
@BeforeMethod
public void setUp() throws Exception {
devfile = new DevfileImpl();
devfileParser = new DevfileParser(schemaValidator, integrityValidator, yamlMapper, jsonMapper);
lenient().when(jsonMapper.treeToValue(any(), eq(DevfileImpl.class))).thenReturn(devfile);
lenient().when(yamlMapper.treeToValue(any(), eq(DevfileImpl.class))).thenReturn(devfile);
lenient().when(yamlMapper.readTree(anyString())).thenReturn(devfileJsonNode);
}
use of org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl in project che-server by eclipse-che.
the class DevfileParserTest method testInitializingDevfileMapsAfterParsing.
@Test
public void testInitializingDevfileMapsAfterParsing() throws Exception {
// given
CommandImpl command = new CommandImpl();
command.getActions().add(new ActionImpl());
devfile.getCommands().add(command);
ComponentImpl component = new ComponentImpl();
component.getEndpoints().add(new EndpointImpl());
devfile.getComponents().add(component);
// when
DevfileImpl parsed = devfileParser.parseYaml(DEVFILE_YAML_CONTENT);
// then
assertNotNull(parsed.getCommands().get(0).getAttributes());
assertNotNull(parsed.getComponents().get(0).getSelector());
assertNotNull(parsed.getComponents().get(0).getEndpoints().get(0).getAttributes());
}
Aggregations