From 6a5bedd9832d6b5d9ac250fcdedd44c979afd7d5 Mon Sep 17 00:00:00 2001 From: Eliza Kalata Date: Tue, 10 May 2022 12:35:53 +0200 Subject: [PATCH 1/3] Adding endpoint to list all contributed items to for current user. --- .../controllers/items/ItemController.java | 9 +++++++ .../repositories/items/ItemRepository.java | 8 ++++++- .../services/items/ItemsService.java | 24 ++++++++++++++++++- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/sshopencloud/marketplace/controllers/items/ItemController.java b/src/main/java/eu/sshopencloud/marketplace/controllers/items/ItemController.java index 3653ee88..1b815060 100644 --- a/src/main/java/eu/sshopencloud/marketplace/controllers/items/ItemController.java +++ b/src/main/java/eu/sshopencloud/marketplace/controllers/items/ItemController.java @@ -39,4 +39,13 @@ public class ItemController { return ResponseEntity.ok(itemService.getDeletedItems(order, pageCoordsValidator.validate(page, perpage))); } + @Operation(summary = "Get all contributed-items available in pages") + @GetMapping(path = "/contributed-items", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity getContributedItems(@RequestParam(value = "order", required = false) ItemOrder order, + @RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "perpage", required = false) Integer perpage) + throws PageTooLargeException { + return ResponseEntity.ok(itemService.getContributedItems(order, pageCoordsValidator.validate(page, perpage))); + } + } diff --git a/src/main/java/eu/sshopencloud/marketplace/repositories/items/ItemRepository.java b/src/main/java/eu/sshopencloud/marketplace/repositories/items/ItemRepository.java index 7ed14d1d..0f7cd8da 100644 --- a/src/main/java/eu/sshopencloud/marketplace/repositories/items/ItemRepository.java +++ b/src/main/java/eu/sshopencloud/marketplace/repositories/items/ItemRepository.java @@ -98,6 +98,12 @@ public interface ItemRepository extends ItemVersionRepository { " ON v.id = i.persistent_id\n" + " WHERE v.curr_ver_id = i.id \n" + " AND v.status = 'DELETED' AND i.category != 'STEP'", nativeQuery = true) - List getDeletedItemsIds2(); + List getDeletedItemsIds(); + + @Query(value = "SELECT DISTINCT (v.curr_ver_id) FROM items i\n" + + " INNER JOIN versioned_items v \n" + + " ON v.id = i.persistent_id\n" + + " WHERE i.info_contributor_id = :contributorId ", nativeQuery = true) + List getContributedItemsIds(Long contributorId); } diff --git a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java index 3eb7f761..5a632981 100644 --- a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java +++ b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java @@ -255,7 +255,29 @@ public class ItemsService extends ItemVersionService { if (order == null) order = ItemOrder.MODIFIED_ON; - List list = itemRepository.getDeletedItemsIds2().stream().map(id -> itemRepository.findById(id).get()).collect(Collectors.toList()); + List list = itemRepository.getDeletedItemsIds().stream().map(id -> itemRepository.findById(id).get()).collect(Collectors.toList()); + + Page pages = new PageImpl<>(list, PageRequest.of(pageCoords.getPage() - 1, pageCoords.getPerpage(), Sort.by(getSortOrderByItemOrder(order))), list.size()); + + List items = pages.stream().map(ItemConverter::convertItem).collect(Collectors.toList()); + + return PaginatedItemsBasic.builder().items(items) + .count(pages.getContent().size()).hits(pages.getTotalElements()) + .page(pageCoords.getPage()).perpage(pageCoords.getPerpage()) + .pages(pages.getTotalPages()) + .build(); + } + + public PaginatedItemsBasic getContributedItems(ItemOrder order, PageCoords pageCoords) { + + User currentUser = LoggedInUserHolder.getLoggedInUser(); + + if (currentUser == null ) + return null; + + if (order == null) order = ItemOrder.MODIFIED_ON; + + List list = itemRepository.getContributedItemsIds(currentUser.getId()).stream().map(id -> itemRepository.findById(id).get()).collect(Collectors.toList()); Page pages = new PageImpl<>(list, PageRequest.of(pageCoords.getPage() - 1, pageCoords.getPerpage(), Sort.by(getSortOrderByItemOrder(order))), list.size()); -- GitLab From f94ed2e1f448339c4829c2aac370bf0e00508d2f Mon Sep 17 00:00:00 2001 From: Eliza Kalata Date: Wed, 11 May 2022 14:45:10 +0200 Subject: [PATCH 2/3] Adding test and comparator. --- .../services/items/ItemsService.java | 6 + .../items/exception/BasicItemsComparator.java | 16 ++ .../datasets/DatasetControllerITCase.java | 25 +-- .../items/ItemControllerITCase.java | 209 +++++++++++++++++- 4 files changed, 239 insertions(+), 17 deletions(-) create mode 100644 src/main/java/eu/sshopencloud/marketplace/services/items/exception/BasicItemsComparator.java diff --git a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java index 5a632981..efa7b9ac 100644 --- a/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java +++ b/src/main/java/eu/sshopencloud/marketplace/services/items/ItemsService.java @@ -19,6 +19,7 @@ import eu.sshopencloud.marketplace.repositories.items.*; import eu.sshopencloud.marketplace.repositories.search.SearchItemRepository; import eu.sshopencloud.marketplace.repositories.sources.SourceRepository; import eu.sshopencloud.marketplace.services.auth.LoggedInUserHolder; +import eu.sshopencloud.marketplace.services.items.exception.BasicItemsComparator; import eu.sshopencloud.marketplace.services.search.SearchConverter; import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Lazy; @@ -268,7 +269,9 @@ public class ItemsService extends ItemVersionService { .build(); } + //ELiza public PaginatedItemsBasic getContributedItems(ItemOrder order, PageCoords pageCoords) { + BasicItemsComparator comparator = new BasicItemsComparator(); User currentUser = LoggedInUserHolder.getLoggedInUser(); @@ -283,6 +286,9 @@ public class ItemsService extends ItemVersionService { List items = pages.stream().map(ItemConverter::convertItem).collect(Collectors.toList()); + if(order != ItemOrder.MODIFIED_ON) + items.sort(comparator); + return PaginatedItemsBasic.builder().items(items) .count(pages.getContent().size()).hits(pages.getTotalElements()) .page(pageCoords.getPage()).perpage(pageCoords.getPerpage()) diff --git a/src/main/java/eu/sshopencloud/marketplace/services/items/exception/BasicItemsComparator.java b/src/main/java/eu/sshopencloud/marketplace/services/items/exception/BasicItemsComparator.java new file mode 100644 index 00000000..c96eaa47 --- /dev/null +++ b/src/main/java/eu/sshopencloud/marketplace/services/items/exception/BasicItemsComparator.java @@ -0,0 +1,16 @@ +package eu.sshopencloud.marketplace.services.items.exception; + +import eu.sshopencloud.marketplace.dto.items.ItemBasicDto; +import lombok.experimental.UtilityClass; +import org.apache.commons.lang3.StringUtils; + +import java.util.Comparator; + + +public class BasicItemsComparator implements Comparator { + + @Override + public int compare(ItemBasicDto firstPlayer, ItemBasicDto secondPlayer) { + return StringUtils.compare(firstPlayer.getLabel(), secondPlayer.getLabel()); + } +} \ No newline at end of file diff --git a/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java b/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java index db8d8503..c4bb4f01 100644 --- a/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java +++ b/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java @@ -339,7 +339,7 @@ public class DatasetControllerITCase { DatasetCore dataset = new DatasetCore(); dataset.setLabel("Test dataset with malformed Url"); dataset.setDescription("Lorem ipsum"); - dataset.setAccessibleAt(Arrays.asList("Malformed Url")); + dataset.setAccessibleAt(List.of("Malformed Url")); String payload = mapper.writeValueAsString(dataset); log.debug("JSON: " + payload); @@ -532,7 +532,7 @@ public class DatasetControllerITCase { vocabulary1.setCode("software-license"); concept1.setVocabulary(vocabulary1); property1.setConcept(concept1); - List properties = new ArrayList(); + List properties = new ArrayList<>(); properties.add(property1); dataset.setProperties(properties); @@ -566,12 +566,12 @@ public class DatasetControllerITCase { dataset.setDescription("Lorem ipsum"); ItemContributorId contributor = new ItemContributorId(); ActorId actor = new ActorId(); - actor.setId(3l); + actor.setId(3L); contributor.setActor(actor); ActorRoleId role = new ActorRoleId(); role.setCode("author"); contributor.setRole(role); - List contributors = new ArrayList(); + List contributors = new ArrayList<>(); contributors.add(contributor); dataset.setContributors(contributors); PropertyCore property1 = new PropertyCore(); @@ -589,7 +589,7 @@ public class DatasetControllerITCase { propertyType2.setCode("material"); property2.setType(propertyType2); property2.setValue("paper"); - List properties = new ArrayList(); + List properties = new ArrayList<>(); properties.add(property1); properties.add(property2); dataset.setProperties(properties); @@ -644,7 +644,6 @@ public class DatasetControllerITCase { @Test public void shouldUpdateDatasetWithApprovedFalseForSystemModerator() throws Exception { String datasetPersistentId = "dmbq4v"; - Integer datasetCurrentId = 9; DatasetCore dataset = new DatasetCore(); dataset.setLabel("Test simple dataset"); @@ -659,7 +658,7 @@ public class DatasetControllerITCase { vocabulary1.setCode("software-license"); concept1.setVocabulary(vocabulary1); property1.setConcept(concept1); - List properties = new ArrayList(); + List properties = new ArrayList<>(); properties.add(property1); dataset.setProperties(properties); @@ -770,7 +769,7 @@ public class DatasetControllerITCase { ActorRoleId role = new ActorRoleId(); role.setCode("author"); contributor.setRole(role); - List contributors = new ArrayList(); + List contributors = new ArrayList<>(); contributors.add(contributor); dataset.setContributors(contributors); PropertyCore property1 = new PropertyCore(); @@ -785,7 +784,7 @@ public class DatasetControllerITCase { propertyType2.setCode("material"); property2.setType(propertyType2); property2.setValue("paper"); - List properties = new ArrayList(); + List properties = new ArrayList<>(); properties.add(property1); properties.add(property2); dataset.setProperties(properties); @@ -1716,7 +1715,6 @@ public class DatasetControllerITCase { String toolPersistentId = "Xgufde"; int toolId = 3; String datasetSecondPersistentId = "dmbq4v"; - int datasetSecondId = 103; String workflowSecondPersistentId = "vHQEhe"; int workflowSecondId = 21; @@ -1862,9 +1860,6 @@ public class DatasetControllerITCase { String mergedSecondPersistentId = TestJsonMapper.serializingObjectMapper() .readValue(mergedResponse2, DatasetDto.class).getPersistentId(); - int mergedSecondId = TestJsonMapper.serializingObjectMapper() - .readValue(mergedResponse2, DatasetDto.class).getId().intValue(); - mvc.perform( get("/api/datasets/{id}/history", mergedSecondPersistentId) @@ -2045,7 +2040,7 @@ public class DatasetControllerITCase { DatasetDto dataset = TestJsonMapper.serializingObjectMapper() .readValue(responseDataset, DatasetDto.class); - dataset.setDateCreated(ZonedDateTime.of(LocalDate.of(2021,12,1), LocalTime.of(03,10), ZoneId.of("Europe/Paris"))); + dataset.setDateCreated(ZonedDateTime.of(LocalDate.of(2021,12,1), LocalTime.of(3,10), ZoneId.of("Europe/Paris"))); String payload = mapper.writeValueAsString(dataset); log.debug("JSON: " + payload); @@ -2135,7 +2130,7 @@ public class DatasetControllerITCase { Integer datasetId = 9; String otherTrainingMaterialPersistentId = "WfcKvG"; - Long otherTrainingMaterialVersionId = 6L; + long otherTrainingMaterialVersionId = 6L; mvc.perform(get("/api/datasets/{persistentId}/diff", datasetPersistentId) .contentType(MediaType.APPLICATION_JSON) diff --git a/src/test/java/eu/sshopencloud/marketplace/controllers/items/ItemControllerITCase.java b/src/test/java/eu/sshopencloud/marketplace/controllers/items/ItemControllerITCase.java index 25b44892..758c730f 100644 --- a/src/test/java/eu/sshopencloud/marketplace/controllers/items/ItemControllerITCase.java +++ b/src/test/java/eu/sshopencloud/marketplace/controllers/items/ItemControllerITCase.java @@ -1,7 +1,10 @@ package eu.sshopencloud.marketplace.controllers.items; +import com.fasterxml.jackson.databind.ObjectMapper; import eu.sshopencloud.marketplace.conf.TestJsonMapper; import eu.sshopencloud.marketplace.conf.auth.LogInTestClient; +import eu.sshopencloud.marketplace.dto.datasets.DatasetCore; +import eu.sshopencloud.marketplace.dto.datasets.DatasetDto; import eu.sshopencloud.marketplace.dto.sources.SourceId; import eu.sshopencloud.marketplace.dto.tools.ToolCore; import lombok.extern.slf4j.Slf4j; @@ -21,8 +24,7 @@ import org.springframework.transaction.annotation.Transactional; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.collection.IsCollectionWithSize.hasSize; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @@ -39,12 +41,17 @@ public class ItemControllerITCase { private String CONTRIBUTOR_JWT; private String ADMINISTRATOR_JWT; + private String MODERATOR_JWT; + + @Autowired + private ObjectMapper mapper; @Before public void init() throws Exception { CONTRIBUTOR_JWT = LogInTestClient.getJwt(mvc, "Contributor", "q1w2e3r4t5"); ADMINISTRATOR_JWT = LogInTestClient.getJwt(mvc, "Administrator", "q1w2e3r4t5"); + MODERATOR_JWT = LogInTestClient.getJwt(mvc, "Moderator", "q1w2e3r4t5"); } @Test @@ -111,4 +118,202 @@ public class ItemControllerITCase { .andExpect(jsonPath("items[1].lastInfoUpdate", notNullValue())); } + @Test + public void shouldGetContributedItems() throws Exception { + + mvc.perform(get("/api/contributed-items") + .contentType(MediaType.APPLICATION_JSON) + .param("order", "label") + .header("Authorization", CONTRIBUTOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("items", hasSize(14))) + .andExpect(jsonPath("items[0].persistentId", is("dmbq4v"))) + .andExpect(jsonPath("items[0].id", is(9))) + .andExpect(jsonPath("items[1].persistentId", is("prblMo"))) + .andExpect(jsonPath("items[1].id", is(13))) + .andExpect(jsonPath("items[2].persistentId", is("dVZeir"))) + .andExpect(jsonPath("items[2].id", is(15))) + .andExpect(jsonPath("items[3].persistentId", is("2CwYCU"))) + .andExpect(jsonPath("items[3].id", is(14))) + .andExpect(jsonPath("items[4].persistentId", is("tqmbGY"))) + .andExpect(jsonPath("items[4].id", is(12))) + .andExpect(jsonPath("items[5].persistentId", is("gQu2wl"))) + .andExpect(jsonPath("items[5].id", is(24))) + .andExpect(jsonPath("items[6].persistentId", is("EPax9f"))) + .andExpect(jsonPath("items[6].id", is(16))) + .andExpect(jsonPath("items[7].persistentId", is("xYpCdU"))) + .andExpect(jsonPath("items[7].id", is(18))) + .andExpect(jsonPath("items[8].persistentId", is("U8vUos"))) + .andExpect(jsonPath("items[8].id", is(20))) + .andExpect(jsonPath("items[9].persistentId", is("sQY6US"))) + .andExpect(jsonPath("items[9].id", is(23))) + .andExpect(jsonPath("items[10].persistentId", is("HLYtzq"))) + .andExpect(jsonPath("items[10].id", is(17))) + .andExpect(jsonPath("items[11].persistentId", is("BNw43H"))) + .andExpect(jsonPath("items[11].id", is(22))) + .andExpect(jsonPath("items[12].persistentId", is("dU0BZc"))) + .andExpect(jsonPath("items[12].id", is(11))) + .andExpect(jsonPath("items[13].persistentId", is("k68NbF"))) + .andExpect(jsonPath("items[13].id", is(19))); + + } + + @Test + public void shouldCreateApproveAndGetContributedItems() throws Exception { + + mvc.perform(get("/api/contributed-items") + .contentType(MediaType.APPLICATION_JSON) + .param("order", "label") + .header("Authorization", CONTRIBUTOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("items", hasSize(14))) + .andExpect(jsonPath("items[0].persistentId", is("dmbq4v"))) + .andExpect(jsonPath("items[0].id", is(9))) + .andExpect(jsonPath("items[1].persistentId", is("prblMo"))) + .andExpect(jsonPath("items[1].id", is(13))) + .andExpect(jsonPath("items[2].persistentId", is("dVZeir"))) + .andExpect(jsonPath("items[2].id", is(15))) + .andExpect(jsonPath("items[3].persistentId", is("2CwYCU"))) + .andExpect(jsonPath("items[3].id", is(14))) + .andExpect(jsonPath("items[4].persistentId", is("tqmbGY"))) + .andExpect(jsonPath("items[4].id", is(12))) + .andExpect(jsonPath("items[5].persistentId", is("gQu2wl"))) + .andExpect(jsonPath("items[5].id", is(24))) + .andExpect(jsonPath("items[6].persistentId", is("EPax9f"))) + .andExpect(jsonPath("items[6].id", is(16))) + .andExpect(jsonPath("items[7].persistentId", is("xYpCdU"))) + .andExpect(jsonPath("items[7].id", is(18))) + .andExpect(jsonPath("items[8].persistentId", is("U8vUos"))) + .andExpect(jsonPath("items[8].id", is(20))) + .andExpect(jsonPath("items[9].persistentId", is("sQY6US"))) + .andExpect(jsonPath("items[9].id", is(23))) + .andExpect(jsonPath("items[10].persistentId", is("HLYtzq"))) + .andExpect(jsonPath("items[10].id", is(17))) + .andExpect(jsonPath("items[11].persistentId", is("BNw43H"))) + .andExpect(jsonPath("items[11].id", is(22))) + .andExpect(jsonPath("items[12].persistentId", is("dU0BZc"))) + .andExpect(jsonPath("items[12].id", is(11))) + .andExpect(jsonPath("items[13].persistentId", is("k68NbF"))) + .andExpect(jsonPath("items[13].id", is(19))); + + DatasetCore dataset = new DatasetCore(); + dataset.setLabel("A first"); + dataset.setDescription("Lorem ipsum"); + + String payload = mapper.writeValueAsString(dataset); + log.debug("JSON: " + payload); + + String response = mvc.perform(post("/api/datasets") + .content(payload) + .contentType(MediaType.APPLICATION_JSON) + .header("Authorization", CONTRIBUTOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("status", is("suggested"))) + .andExpect(jsonPath("category", is("dataset"))) + .andExpect(jsonPath("label", is("A first"))) + .andExpect(jsonPath("description", is("Lorem ipsum"))) + .andExpect(jsonPath("properties", hasSize(0))) + .andReturn().getResponse().getContentAsString(); + + String datasetPersistentId = TestJsonMapper.serializingObjectMapper() + .readValue(response, DatasetDto.class).getPersistentId(); + + long datasetId = TestJsonMapper.serializingObjectMapper() + .readValue(response, DatasetDto.class).getId(); + + mvc.perform(get("/api/contributed-items") + .contentType(MediaType.APPLICATION_JSON) + .param("order", "label") + .header("Authorization", CONTRIBUTOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("items", hasSize(15))) + .andExpect(jsonPath("items[0].persistentId", is(datasetPersistentId))) + .andExpect(jsonPath("items[0].id", is((int) datasetId))) + .andExpect(jsonPath("items[1].persistentId", is("dmbq4v"))) + .andExpect(jsonPath("items[1].id", is(9))) + .andExpect(jsonPath("items[2].persistentId", is("prblMo"))) + .andExpect(jsonPath("items[2].id", is(13))) + .andExpect(jsonPath("items[3].persistentId", is("dVZeir"))) + .andExpect(jsonPath("items[3].id", is(15))) + .andExpect(jsonPath("items[4].persistentId", is("2CwYCU"))) + .andExpect(jsonPath("items[4].id", is(14))) + .andExpect(jsonPath("items[5].persistentId", is("tqmbGY"))) + .andExpect(jsonPath("items[5].id", is(12))) + .andExpect(jsonPath("items[6].persistentId", is("gQu2wl"))) + .andExpect(jsonPath("items[6].id", is(24))) + .andExpect(jsonPath("items[7].persistentId", is("EPax9f"))) + .andExpect(jsonPath("items[7].id", is(16))) + .andExpect(jsonPath("items[8].persistentId", is("xYpCdU"))) + .andExpect(jsonPath("items[8].id", is(18))) + .andExpect(jsonPath("items[9].persistentId", is("U8vUos"))) + .andExpect(jsonPath("items[9].id", is(20))) + .andExpect(jsonPath("items[10].persistentId", is("sQY6US"))) + .andExpect(jsonPath("items[10].id", is(23))) + .andExpect(jsonPath("items[11].persistentId", is("HLYtzq"))) + .andExpect(jsonPath("items[11].id", is(17))) + .andExpect(jsonPath("items[12].persistentId", is("BNw43H"))) + .andExpect(jsonPath("items[12].id", is(22))) + .andExpect(jsonPath("items[13].persistentId", is("dU0BZc"))) + .andExpect(jsonPath("items[13].id", is(11))) + .andExpect(jsonPath("items[14].persistentId", is("k68NbF"))) + .andExpect(jsonPath("items[14].id", is(19))); + + + dataset.setLabel("A first "); + String payloadUpdate = mapper.writeValueAsString(dataset); + log.debug("JSON: " + payloadUpdate); + + String responseUpdated = mvc.perform(put("/api/datasets/{id}",datasetPersistentId) + .content(payloadUpdate) + .contentType(MediaType.APPLICATION_JSON) + .header("Authorization", MODERATOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("status", is("approved"))) + .andExpect(jsonPath("category", is("dataset"))) + .andExpect(jsonPath("label", is("A first "))) + .andExpect(jsonPath("description", is("Lorem ipsum"))) + .andExpect(jsonPath("properties", hasSize(0))) + .andReturn().getResponse().getContentAsString(); + + long datasetIdUpdated = TestJsonMapper.serializingObjectMapper() + .readValue(responseUpdated, DatasetDto.class).getId(); + + mvc.perform(get("/api/contributed-items") + .contentType(MediaType.APPLICATION_JSON) + .param("order", "label") + .header("Authorization", CONTRIBUTOR_JWT)) + .andExpect(status().isOk()) + .andExpect(jsonPath("items", hasSize(15))) + .andExpect(jsonPath("items[0].persistentId", is(datasetPersistentId))) + .andExpect(jsonPath("items[0].id", is((int) datasetIdUpdated))) + .andExpect(jsonPath("items[1].persistentId", is("dmbq4v"))) + .andExpect(jsonPath("items[1].id", is(9))) + .andExpect(jsonPath("items[2].persistentId", is("prblMo"))) + .andExpect(jsonPath("items[2].id", is(13))) + .andExpect(jsonPath("items[3].persistentId", is("dVZeir"))) + .andExpect(jsonPath("items[3].id", is(15))) + .andExpect(jsonPath("items[4].persistentId", is("2CwYCU"))) + .andExpect(jsonPath("items[4].id", is(14))) + .andExpect(jsonPath("items[5].persistentId", is("tqmbGY"))) + .andExpect(jsonPath("items[5].id", is(12))) + .andExpect(jsonPath("items[6].persistentId", is("gQu2wl"))) + .andExpect(jsonPath("items[6].id", is(24))) + .andExpect(jsonPath("items[7].persistentId", is("EPax9f"))) + .andExpect(jsonPath("items[7].id", is(16))) + .andExpect(jsonPath("items[8].persistentId", is("xYpCdU"))) + .andExpect(jsonPath("items[8].id", is(18))) + .andExpect(jsonPath("items[9].persistentId", is("U8vUos"))) + .andExpect(jsonPath("items[9].id", is(20))) + .andExpect(jsonPath("items[10].persistentId", is("sQY6US"))) + .andExpect(jsonPath("items[10].id", is(23))) + .andExpect(jsonPath("items[11].persistentId", is("HLYtzq"))) + .andExpect(jsonPath("items[11].id", is(17))) + .andExpect(jsonPath("items[12].persistentId", is("BNw43H"))) + .andExpect(jsonPath("items[12].id", is(22))) + .andExpect(jsonPath("items[13].persistentId", is("dU0BZc"))) + .andExpect(jsonPath("items[13].id", is(11))) + .andExpect(jsonPath("items[14].persistentId", is("k68NbF"))) + .andExpect(jsonPath("items[14].id", is(19))); + + } } -- GitLab From 7a1e3ec31a5343554db0c0d2024c9a0e7a75332a Mon Sep 17 00:00:00 2001 From: Eliza Kalata Date: Wed, 11 May 2022 14:46:40 +0200 Subject: [PATCH 3/3] Refactoring changes. --- .../controllers/datasets/DatasetControllerITCase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java b/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java index c4bb4f01..3b3dce81 100644 --- a/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java +++ b/src/test/java/eu/sshopencloud/marketplace/controllers/datasets/DatasetControllerITCase.java @@ -2130,7 +2130,7 @@ public class DatasetControllerITCase { Integer datasetId = 9; String otherTrainingMaterialPersistentId = "WfcKvG"; - long otherTrainingMaterialVersionId = 6L; + Long otherTrainingMaterialVersionId = 6L; mvc.perform(get("/api/datasets/{persistentId}/diff", datasetPersistentId) .contentType(MediaType.APPLICATION_JSON) -- GitLab