You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dlab.apache.org by GitBox <gi...@apache.org> on 2020/09/01 01:27:21 UTC

[GitHub] [incubator-dlab] ppapou commented on a change in pull request #879: [DLAB] Project Resource UT

ppapou commented on a change in pull request #879:
URL: https://github.com/apache/incubator-dlab/pull/879#discussion_r480551032



##########
File path: services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ProjectResourceTest.java
##########
@@ -50,81 +58,126 @@
 
 
 public class ProjectResourceTest extends TestBase {
-	private ProjectService projectService = mock(ProjectService.class);
-	private AccessKeyService keyService = mock(AccessKeyService.class);
-
-	@Rule
-	public final ResourceTestRule resources = getResourceTestRuleInstance(
-			new ProjectResource(projectService, keyService));
-
-	@Before
-	public void setup() throws AuthenticationException {
-		authSetup();
-	}
-
-	@Test
-	public void stopProject() {
-		final Response response = resources.getJerseyTest()
-				.target("project/stop")
-				.request()
-				.header("Authorization", "Bearer " + TOKEN)
-				.post(Entity.json(getProjectActionDTO()));
-
-		assertEquals(HttpStatus.SC_ACCEPTED, response.getStatus());
-		verify(projectService).stopWithResources(any(UserInfo.class), anyList(), anyString());
-		verifyNoMoreInteractions(projectService);
-	}
-
-	@Test
-	public void startProject() {
-		final Response response = resources.getJerseyTest()
-				.target("project/start")
-				.request()
-				.header("Authorization", "Bearer " + TOKEN)
-				.post(Entity.json(getProjectActionDTO()));
-
-		assertEquals(HttpStatus.SC_ACCEPTED, response.getStatus());
-		verify(projectService).start(any(UserInfo.class), anyList(), anyString());
-		verifyNoMoreInteractions(projectService);
-	}
-
-	@Test
-	public void generate() {
-		when(keyService.generateKeys(any(UserInfo.class))).thenReturn(new KeysDTO("somePublicKey", "somePrivateKey",
-				"user"));
-
-		final Response response = resources.getJerseyTest()
-				.target("/project/keys")
-				.request()
-				.header("Authorization", "Bearer " + TOKEN)
-				.post(Entity.json(""));
-
-		assertEquals(HttpStatus.SC_OK, response.getStatus());
-		assertEquals(MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE));
-
-		verify(keyService).generateKeys(getUserInfo());
-		verifyNoMoreInteractions(keyService);
-	}
-
-	@Test
-	public void generateKeysWithException() {
-		doThrow(new DlabException("Can not generate private/public key pair due to"))
-				.when(keyService).generateKeys(any(UserInfo.class));
-
-		final Response response = resources.getJerseyTest()
-				.target("/project/keys")
-				.request()
-				.header("Authorization", "Bearer " + TOKEN)
-				.post(Entity.json(""));
-
-		assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatus());
-		assertEquals(MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE));
-
-		verify(keyService).generateKeys(getUserInfo());
-		verifyNoMoreInteractions(keyService);
-	}
-
-	private ProjectActionFormDTO getProjectActionDTO() {
-		return new ProjectActionFormDTO("DLAB", Collections.singletonList("https://localhost:8083/"));
-	}
+    private ProjectService projectService = mock(ProjectService.class);
+    private AccessKeyService keyService = mock(AccessKeyService.class);
+    private String PROJECT_NAME = "DLAB";
+
+    @Rule
+    public final ResourceTestRule resources = getResourceTestRuleInstance(
+            new ProjectResource(projectService, keyService));
+
+    @Before
+    public void setup() throws AuthenticationException {
+        authSetup();
+    }
+
+    @Test
+    public void createProject() {
+        CreateProjectDTO createProjectDTO = returnCreateProjectDTO();
+        final Response response = resources.getJerseyTest()
+                .target("project")
+                .request()
+                .header("Authorization", "Bearer " + TOKEN)
+                .post(Entity.json(createProjectDTO));
+
+        assertEquals(HttpStatus.SC_OK, response.getStatus());
+        verify(projectService).create(getUserInfo(), returnProjectDTO(createProjectDTO), createProjectDTO.getName());
+        verifyNoMoreInteractions(projectService);
+    }
+
+    @Test
+    public void createExistingProject() {
+        CreateProjectDTO createProjectDTO = returnCreateProjectDTO();
+        doThrow(new ResourceConflictException("Project with passed name already exist in system"))
+                .when(projectService).create(getUserInfo(), returnProjectDTO(createProjectDTO), createProjectDTO.getName());
+        final Response response = resources.getJerseyTest()
+                .target("project")
+                .request()
+                .header("Authorization", "Bearer " + TOKEN)
+                .post(Entity.json(createProjectDTO));
+
+        assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatus());
+        verify(projectService).create(getUserInfo(), returnProjectDTO(createProjectDTO), createProjectDTO.getName());
+        verifyNoMoreInteractions(projectService);
+    }
+
+    @Test
+    public void stopProject() {
+        final Response response = resources.getJerseyTest()
+                .target("project/stop")
+                .request()
+                .header("Authorization", "Bearer " + TOKEN)
+                .post(Entity.json(getProjectActionDTO()));
+
+        assertEquals(HttpStatus.SC_ACCEPTED, response.getStatus());
+        verify(projectService).stopWithResources(any(UserInfo.class), anyList(), anyString());
+        verifyNoMoreInteractions(projectService);
+    }
+
+    @Test
+    public void startProject() {
+        final Response response = resources.getJerseyTest()
+                .target("project/start")
+                .request()
+                .header("Authorization", "Bearer " + TOKEN)
+                .post(Entity.json(getProjectActionDTO()));
+
+        assertEquals(HttpStatus.SC_ACCEPTED, response.getStatus());
+        verify(projectService).start(any(UserInfo.class), anyList(), anyString());
+        verifyNoMoreInteractions(projectService);
+    }
+
+    @Test
+    public void generate() {
+        when(keyService.generateKeys(any(UserInfo.class))).thenReturn(new KeysDTO("somePublicKey", "somePrivateKey",
+                "user"));

Review comment:
       lines are adjusted




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@dlab.apache.org
For additional commands, e-mail: dev-help@dlab.apache.org