-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(rest): To list linked projects of sub-projects.
Signed-off-by: rudra-superrr <[email protected]>
- Loading branch information
1 parent
0e75910
commit 447143b
Showing
5 changed files
with
186 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -296,6 +296,50 @@ public void before() throws TException, IOException { | |
|
||
projectList.add(project2); | ||
|
||
Map<String, ProjectReleaseRelationship> linkedReleases2 = new HashMap<>(); | ||
Map<String, ProjectProjectRelationship> linkedProjects2 = new HashMap<>(); | ||
Map<String, ProjectProjectRelationship> linkedProjects3 = new HashMap<>(); | ||
Project project4 = new Project(); | ||
project4.setId("12345"); | ||
project4.setName("dummy"); | ||
project4.setVersion("2.0.1"); | ||
project4.setProjectType(ProjectType.PRODUCT); | ||
project4.setState(ProjectState.ACTIVE); | ||
project4.setClearingState(ProjectClearingState.OPEN); | ||
linkedProjects2.put("123456", new ProjectProjectRelationship(ProjectRelationship.CONTAINED).setEnableSvm(true)); | ||
project4.setLinkedProjects(linkedProjects2); | ||
project4.setSecurityResponsibles(new HashSet<>(Arrays.asList("[email protected]", "[email protected]"))); | ||
|
||
Project project5 = new Project(); | ||
project5.setId("123456"); | ||
project5.setName("dummy2"); | ||
project5.setVersion("2.0.1"); | ||
project5.setProjectType(ProjectType.PRODUCT); | ||
project5.setState(ProjectState.ACTIVE); | ||
project5.setClearingState(ProjectClearingState.OPEN); | ||
linkedReleases2.put("37652765121", projectReleaseRelationship); | ||
project5.setReleaseIdToUsage(linkedReleases2); | ||
linkedProjects3.put("1234567", new ProjectProjectRelationship(ProjectRelationship.CONTAINED).setEnableSvm(true)); | ||
project5.setLinkedProjects(linkedProjects3); | ||
project5.setSecurityResponsibles(new HashSet<>(Arrays.asList("[email protected]", "[email protected]"))); | ||
|
||
Project project6 = new Project(); | ||
project6.setId("1234567"); | ||
project6.setName("dummy3"); | ||
project6.setVersion("3.0.1"); | ||
project6.setProjectType(ProjectType.PRODUCT); | ||
project6.setState(ProjectState.ACTIVE); | ||
project6.setClearingState(ProjectClearingState.OPEN); | ||
project6.setSecurityResponsibles(new HashSet<>(Arrays.asList("[email protected]", "[email protected]"))); | ||
|
||
Release release5 = new Release(); | ||
release5.setId("37652765121"); | ||
release5.setName("Angular 2.3.1"); | ||
release5.setCpeid("cpe:/a:Google:Angular:2.3.1:"); | ||
release5.setReleaseDate("2016-12-17"); | ||
release5.setVersion("2.3.1"); | ||
release5.setCreatedOn("2016-12-28"); | ||
|
||
Set<String> releaseIds = new HashSet<>(Collections.singletonList("3765276512")); | ||
Set<String> releaseIdsTransitive = new HashSet<>(Arrays.asList("3765276512", "5578999")); | ||
|
||
|
@@ -348,6 +392,9 @@ public void before() throws TException, IOException { | |
given(this.projectServiceMock.getProjectsForUser(any(), any())).willReturn(projectList); | ||
given(this.projectServiceMock.getProjectForUserById(eq(project.getId()), any())).willReturn(project); | ||
given(this.projectServiceMock.getProjectForUserById(eq(project2.getId()), any())).willReturn(project2); | ||
given(this.projectServiceMock.getProjectForUserById(eq(project4.getId()), any())).willReturn(project4); | ||
given(this.projectServiceMock.getProjectForUserById(eq(project5.getId()), any())).willReturn(project5); | ||
given(this.projectServiceMock.getProjectForUserById(eq(project6.getId()), any())).willReturn(project6); | ||
given(this.projectServiceMock.getProjectForUserById(eq(projectForAtt.getId()), any())).willReturn(projectForAtt); | ||
given(this.projectServiceMock.getProjectForUserById(eq(SPDXProject.getId()), any())).willReturn(SPDXProject); | ||
given(this.projectServiceMock.getProjectForUserById(eq(cycloneDXProject.getId()), any())).willReturn(cycloneDXProject); | ||
|
@@ -1015,6 +1062,7 @@ public void should_document_get_linked_projects() throws Exception { | |
String accessToken = TestHelper.getAccessToken(mockMvc, testUserId, testUserPassword); | ||
mockMvc.perform(get("/api/projects/" + project.getId() + "/linkedProjects") | ||
.header("Authorization", "Bearer " + accessToken) | ||
.param("transitive", "false") | ||
.param("page", "0") | ||
.param("page_entries", "5") | ||
.param("sort", "name,desc") | ||
|
@@ -1024,7 +1072,41 @@ public void should_document_get_linked_projects() throws Exception { | |
requestParameters( | ||
parameterWithName("page").description("Page of projects"), | ||
parameterWithName("page_entries").description("Amount of projects page"), | ||
parameterWithName("sort").description("Defines order of the projects") | ||
parameterWithName("sort").description("Defines order of the projects"), | ||
parameterWithName("transitive").description("Get the transitive projects") | ||
), | ||
links( | ||
linkWithRel("curies").description("Curies are used for online documentation"), | ||
linkWithRel("first").description("Link to first page"), | ||
linkWithRel("last").description("Link to last page") | ||
), | ||
responseFields( | ||
subsectionWithPath("_embedded.sw360:projects").description("An array of <<resources-projects, Projects resources>>"), | ||
subsectionWithPath("_links").description("<<resources-index-links,Links>> to other resources"), | ||
fieldWithPath("page").description("Additional paging information"), | ||
fieldWithPath("page.size").description("Number of projects per page"), | ||
fieldWithPath("page.totalElements").description("Total number of all existing projects"), | ||
fieldWithPath("page.totalPages").description("Total number of pages"), | ||
fieldWithPath("page.number").description("Number of the current page") | ||
))); | ||
} | ||
|
||
@Test | ||
public void should_document_get_linked_projects_transitive() throws Exception { | ||
String accessToken = TestHelper.getAccessToken(mockMvc, testUserId, testUserPassword); | ||
mockMvc.perform(get("/api/projects/" + "12345" + "/linkedProjects?transitive=true") | ||
.header("Authorization", "Bearer " + accessToken) | ||
.param("page", "0") | ||
.param("page_entries", "5") | ||
.param("sort", "name,desc") | ||
.accept(MediaTypes.HAL_JSON)) | ||
.andExpect(status().isOk()) | ||
.andDo(this.documentationHandler.document( | ||
requestParameters( | ||
parameterWithName("page").description("Page of projects"), | ||
parameterWithName("page_entries").description("Amount of projects page"), | ||
parameterWithName("sort").description("Defines order of the projects"), | ||
parameterWithName("transitive").description("Get the transitive projects") | ||
), | ||
links( | ||
linkWithRel("curies").description("Curies are used for online documentation"), | ||
|