This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push: new d9d04e4 [DLAB-1674] Take instance statuses into consideration while terminating edge node d9d04e4 is described below commit d9d04e4b61d9fde5b52f56ee5aa4ed7262c816c1 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Tue Jun 16 15:33:06 2020 +0300 [DLAB-1674] Take instance statuses into consideration while terminating edge node --- .../service/impl/ProjectServiceImpl.java | 32 ++++++++++++++-------- .../resources/ExploratoryResourceTest.java | 2 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java index 0d1f5ed..34f2424 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java @@ -125,7 +125,8 @@ public class ProjectServiceImpl implements ProjectService { @ProjectAdmin @Override public void terminateEndpoint(@User UserInfo userInfo, List<String> endpoints, @Project String name) { - System.out.println("sd"); + List<ProjectEndpointDTO> endpointDTOs = getProjectEndpointDTOS(endpoints, name); + checkProjectRelatedResourcesInProgress(name, endpointDTOs, TERMINATE_ACTION); endpoints.forEach(endpoint -> terminateEndpoint(userInfo, endpoint, name)); } @@ -151,11 +152,7 @@ public class ProjectServiceImpl implements ProjectService { @ProjectAdmin @Override public void stopWithResources(@User UserInfo userInfo, List<String> endpoints, @Project String projectName) { - List<ProjectEndpointDTO> endpointDTOs = get(projectName) - .getEndpoints() - .stream() - .filter(projectEndpointDTO -> endpoints.contains(projectEndpointDTO.getName())) - .collect(Collectors.toList()); + List<ProjectEndpointDTO> endpointDTOs = getProjectEndpointDTOS(endpoints, projectName); checkProjectRelatedResourcesInProgress(projectName, endpointDTOs, STOP_ACTION); exploratoryDAO.fetchRunningExploratoryFieldsForProject(projectName, @@ -243,17 +240,30 @@ public class ProjectServiceImpl implements ProjectService { } private void checkProjectRelatedResourcesInProgress(String projectName, List<ProjectEndpointDTO> endpoints, String action) { - boolean edgeProgress = endpoints.stream().anyMatch(e -> - Arrays.asList(UserInstanceStatus.CREATING, UserInstanceStatus.STARTING, UserInstanceStatus.STOPPING, - UserInstanceStatus.TERMINATING).contains(e.getStatus())); + boolean edgeProgress = endpoints + .stream() + .anyMatch(e -> + Arrays.asList(UserInstanceStatus.CREATING, UserInstanceStatus.STARTING, UserInstanceStatus.STOPPING, + UserInstanceStatus.TERMINATING).contains(e.getStatus())); - List<String> endpointsName = endpoints.stream().map(ProjectEndpointDTO::getName).collect(Collectors.toList()); - if (edgeProgress || !checkExploratoriesAndComputationalProgress(projectName, endpointsName)) { + List<String> endpointNames = endpoints + .stream() + .map(ProjectEndpointDTO::getName) + .collect(Collectors.toList()); + if (edgeProgress || !checkExploratoriesAndComputationalProgress(projectName, endpointNames)) { throw new ResourceConflictException((String.format("Can not %s environment because one of project " + "resource is in processing stage", action))); } } + private List<ProjectEndpointDTO> getProjectEndpointDTOS(List<String> endpoints, @Project String name) { + return get(name) + .getEndpoints() + .stream() + .filter(projectEndpointDTO -> endpoints.contains(projectEndpointDTO.getName())) + .collect(Collectors.toList()); + } + private Supplier<ResourceNotFoundException> projectNotFound() { return () -> new ResourceNotFoundException("Project with passed name not found"); } diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ExploratoryResourceTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ExploratoryResourceTest.java index bccfa8b..8ff2d89 100644 --- a/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ExploratoryResourceTest.java +++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ExploratoryResourceTest.java @@ -153,7 +153,7 @@ public class ExploratoryResourceTest extends TestBase { .header("Authorization", "Bearer " + TOKEN) .post(Entity.json(getEmptyExploratoryActionFormDTO())); - assertEquals(HttpStatus.SC_FORBIDDEN, response.getStatus()); + assertEquals(HttpStatus.SC_UNPROCESSABLE_ENTITY, response.getStatus()); assertEquals(MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE)); verifyZeroInteractions(exploratoryService); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org