You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by bh...@apache.org on 2019/09/23 13:55:39 UTC
[incubator-dlab] branch develop updated: [DLAB-1054]: Added
possibility to retrieve custom images per endpoint
This is an automated email from the ASF dual-hosted git repository.
bhliva 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 76f6d53 [DLAB-1054]: Added possibility to retrieve custom images per endpoint
new 123e37d Merge pull request #317 from ofuks/DLAB-1054-fix
76f6d53 is described below
commit 76f6d53ccc3e992491758be731e2cc38aeb0b6b9
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Mon Sep 23 16:05:16 2019 +0300
[DLAB-1054]: Added possibility to retrieve custom images per endpoint
---
.../main/java/com/epam/dlab/model/exploratory/Image.java | 1 +
.../com/epam/dlab/backendapi/dao/ImageExploratoryDao.java | 2 +-
.../epam/dlab/backendapi/dao/ImageExploratoryDaoImpl.java | 13 +++++++------
.../dlab/backendapi/resources/ImageExploratoryResource.java | 6 ++++--
.../epam/dlab/backendapi/resources/dto/ImageInfoRecord.java | 1 +
.../dlab/backendapi/service/ImageExploratoryService.java | 2 +-
.../service/impl/ImageExploratoryServiceImpl.java | 5 +++--
.../backendapi/resources/ImageExploratoryResourceTest.java | 12 +++++++-----
.../service/impl/ImageExploratoryServiceImplTest.java | 8 ++++----
9 files changed, 29 insertions(+), 21 deletions(-)
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Image.java b/services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Image.java
index d895cf5..c1a4f4a 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Image.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Image.java
@@ -35,6 +35,7 @@ public class Image {
private final ImageStatus status;
private final String exploratoryId;
private final String project;
+ private final String endpoint;
private final String user;
private final String fullName;
private final String externalName;
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDao.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDao.java
index d530ebb..b5b2391 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDao.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDao.java
@@ -37,7 +37,7 @@ public interface ImageExploratoryDao {
void updateImageFields(Image image);
- List<ImageInfoRecord> getImages(String user, String dockerImage, String project, ImageStatus... statuses);
+ List<ImageInfoRecord> getImages(String user, String dockerImage, String project, String endpoint, ImageStatus... statuses);
Optional<ImageInfoRecord> getImage(String user, String name);
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDaoImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDaoImpl.java
index 1ad3864..a27b943 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDaoImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDaoImpl.java
@@ -46,6 +46,7 @@ public class ImageExploratoryDaoImpl extends BaseDAO implements ImageExploratory
private static final String EXTERNAL_NAME = "externalName";
private static final String DOCKER_IMAGE = "dockerImage";
private static final String PROJECT = "project";
+ private static final String ENDPOINT = "endpoint";
@Override
public boolean exist(String user, String name) {
@@ -65,9 +66,9 @@ public class ImageExploratoryDaoImpl extends BaseDAO implements ImageExploratory
}
@Override
- public List<ImageInfoRecord> getImages(String user, String dockerImage, String project, ImageStatus... statuses) {
+ public List<ImageInfoRecord> getImages(String user, String dockerImage, String project, String endpoint, ImageStatus... statuses) {
return find(MongoCollections.IMAGES,
- userImagesCondition(user, dockerImage, project, statuses),
+ userImagesCondition(user, dockerImage, project, endpoint, statuses),
ImageInfoRecord.class);
}
@@ -102,8 +103,8 @@ public class ImageExploratoryDaoImpl extends BaseDAO implements ImageExploratory
elemMatch(LIBRARIES, eq(STATUS, status.name())));
}
- private Bson userImagesCondition(String user, String dockerImage, String project, ImageStatus... statuses) {
- final Bson userImagesCondition = userImagesCondition(user, project, statuses);
+ private Bson userImagesCondition(String user, String dockerImage, String project, String endpoint, ImageStatus... statuses) {
+ final Bson userImagesCondition = userImagesCondition(user, project, endpoint, statuses);
if (Objects.nonNull(dockerImage)) {
return and(userImagesCondition, eq(DOCKER_IMAGE, dockerImage));
} else {
@@ -112,13 +113,13 @@ public class ImageExploratoryDaoImpl extends BaseDAO implements ImageExploratory
}
- private Bson userImagesCondition(String user, String project, ImageStatus... statuses) {
+ private Bson userImagesCondition(String user, String project, String endpoint, ImageStatus... statuses) {
final List<String> statusList = Arrays
.stream(statuses)
.map(ImageStatus::name)
.collect(Collectors.toList());
- return and(eq(USER, user), in(STATUS, statusList), eq(PROJECT, project));
+ return and(eq(USER, user), in(STATUS, statusList), eq(PROJECT, project), eq(ENDPOINT, endpoint));
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ImageExploratoryResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ImageExploratoryResource.java
index 280cb83..1e19691 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ImageExploratoryResource.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ImageExploratoryResource.java
@@ -82,9 +82,11 @@ public class ImageExploratoryResource {
@ApiParam(value = "Docker image", required = true)
@QueryParam("docker_image") String dockerImage,
@ApiParam(value = "Project's name", required = true)
- @QueryParam("project") String project) {
+ @QueryParam("project") String project,
+ @ApiParam(value = "Endpoint's name", required = true)
+ @QueryParam("endpoint") String endpoint) {
log.debug("Getting images for user {}, project {}", ui.getName(), project);
- final List<ImageInfoRecord> images = imageExploratoryService.getNotFailedImages(ui.getName(), dockerImage, project);
+ final List<ImageInfoRecord> images = imageExploratoryService.getNotFailedImages(ui.getName(), dockerImage, project, endpoint);
return Response.ok(images).build();
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ImageInfoRecord.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ImageInfoRecord.java
index 7e179e2..d430701 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ImageInfoRecord.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ImageInfoRecord.java
@@ -29,6 +29,7 @@ public class ImageInfoRecord {
private final String name;
private final String description;
private final String project;
+ private final String endpoint;
private final String application;
private final String fullName;
private final ImageStatus status;
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/ImageExploratoryService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/ImageExploratoryService.java
index ca56ebf..328d9ce 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/ImageExploratoryService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/ImageExploratoryService.java
@@ -31,7 +31,7 @@ public interface ImageExploratoryService {
void finishImageCreate(Image image, String exploratoryName, String newNotebookIp);
- List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project);
+ List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project, String endpoint);
ImageInfoRecord getImage(String user, String name);
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImpl.java
index bfcf151..e1d032f 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImpl.java
@@ -92,6 +92,7 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService {
.dockerImage(userInstance.getImageName())
.exploratoryId(userInstance.getId())
.project(userInstance.getProject())
+ .endpoint(userInstance.getEndpoint())
.build());
exploratoryDAO.updateExploratoryStatus(new ExploratoryStatusDTO()
@@ -121,8 +122,8 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService {
}
@Override
- public List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project) {
- return imageExploratoryDao.getImages(user, dockerImage, project, ImageStatus.CREATED, ImageStatus.CREATING);
+ public List<ImageInfoRecord> getNotFailedImages(String user, String dockerImage, String project, String endpoint) {
+ return imageExploratoryDao.getImages(user, dockerImage, project, endpoint, ImageStatus.CREATED, ImageStatus.CREATING);
}
@Override
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ImageExploratoryResourceTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ImageExploratoryResourceTest.java
index 70a8675..3a4f4ef 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ImageExploratoryResourceTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ImageExploratoryResourceTest.java
@@ -123,12 +123,13 @@ public class ImageExploratoryResourceTest extends TestBase {
@Test
public void getImages() {
- when(imageExploratoryService.getNotFailedImages(anyString(), anyString(), anyString()))
+ when(imageExploratoryService.getNotFailedImages(anyString(), anyString(), anyString(), anyString()))
.thenReturn(getImageList());
final Response response = resources.getJerseyTest()
.target("/infrastructure_provision/exploratory_environment/image")
.queryParam("docker_image", "someDockerImage")
.queryParam("project", "someProject")
+ .queryParam("endpoint", "someEndpoint")
.request()
.header("Authorization", "Bearer " + TOKEN)
.get();
@@ -138,19 +139,20 @@ public class ImageExploratoryResourceTest extends TestBase {
}));
assertEquals(MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE));
- verify(imageExploratoryService).getNotFailedImages(USER.toLowerCase(), "someDockerImage", "someProject");
+ verify(imageExploratoryService).getNotFailedImages(USER.toLowerCase(), "someDockerImage", "someProject", "someEndpoint");
verifyNoMoreInteractions(imageExploratoryService);
}
@Test
public void getImagesWithFailedAuth() throws AuthenticationException {
authFailSetup();
- when(imageExploratoryService.getNotFailedImages(anyString(), anyString(), anyString()))
+ when(imageExploratoryService.getNotFailedImages(anyString(), anyString(), anyString(), anyString()))
.thenReturn(getImageList());
final Response response = resources.getJerseyTest()
.target("/infrastructure_provision/exploratory_environment/image")
.queryParam("docker_image", "someDockerImage")
.queryParam("project", "someProject")
+ .queryParam("endpoint", "someEndpoint")
.request()
.header("Authorization", "Bearer " + TOKEN)
.get();
@@ -160,7 +162,7 @@ public class ImageExploratoryResourceTest extends TestBase {
}));
assertEquals(MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE));
- verify(imageExploratoryService).getNotFailedImages(USER.toLowerCase(), "someDockerImage", "someProject");
+ verify(imageExploratoryService).getNotFailedImages(USER.toLowerCase(), "someDockerImage", "someProject", "someEndpoint");
verifyNoMoreInteractions(imageExploratoryService);
}
@@ -225,7 +227,7 @@ public class ImageExploratoryResourceTest extends TestBase {
}
private List<ImageInfoRecord> getImageList() {
- ImageInfoRecord imageInfoRecord = new ImageInfoRecord("someName", "someDescription", "someProject", "someApp",
+ ImageInfoRecord imageInfoRecord = new ImageInfoRecord("someName", "someDescription", "someProject", "someEndpoint", "someApp",
"someFullName", ImageStatus.CREATED);
return Collections.singletonList(imageInfoRecord);
}
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImplTest.java
index 678efe0..a138755 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImplTest.java
@@ -234,16 +234,16 @@ public class ImageExploratoryServiceImplTest {
public void getCreatedImages() {
ImageInfoRecord imageInfoRecord = getImageInfoRecord();
List<ImageInfoRecord> expectedRecordList = Collections.singletonList(imageInfoRecord);
- when(imageExploratoryDao.getImages(anyString(), anyString(), anyString(), anyVararg()))
+ when(imageExploratoryDao.getImages(anyString(), anyString(), anyString(), anyString(), anyVararg()))
.thenReturn(expectedRecordList);
List<ImageInfoRecord> actualRecordList = imageExploratoryService.getNotFailedImages(USER,
- "someImage", "someProject");
+ "someImage", "someProject", "someEndpoint");
assertNotNull(actualRecordList);
assertEquals(1, actualRecordList.size());
assertEquals(expectedRecordList, actualRecordList);
- verify(imageExploratoryDao).getImages(USER, "someImage", "someProject", ImageStatus.CREATED, ImageStatus.CREATING);
+ verify(imageExploratoryDao).getImages(USER, "someImage", "someProject", "someEndpoint", ImageStatus.CREATED, ImageStatus.CREATING);
verifyNoMoreInteractions(imageExploratoryDao);
}
@@ -270,7 +270,7 @@ public class ImageExploratoryServiceImplTest {
}
private ImageInfoRecord getImageInfoRecord() {
- return new ImageInfoRecord("someName", "someDescription", "someProject", "someApp",
+ return new ImageInfoRecord("someName", "someDescription", "someProject", "someEndpoint", "someApp",
"someFullName", ImageStatus.CREATED);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org