diff --git a/server/DSMP/build.gradle b/server/DSMP/build.gradle index 1f5d3bc..64a890d 100644 --- a/server/DSMP/build.gradle +++ b/server/DSMP/build.gradle @@ -40,6 +40,8 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.projectlombok:lombok' implementation 'org.springframework.boot:spring-boot-starter-security' + implementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' + implementation 'org.hamcrest:hamcrest-core:2.2' annotationProcessor 'org.projectlombok:lombok'// lombok implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' // mongoDB implementation 'com.fasterxml.jackson.core:jackson-databind' //jackson diff --git a/server/DSMP/src/main/java/com/knuipalab/dsmp/http/httpResponse/success/SuccessDataResponse.java b/server/DSMP/src/main/java/com/knuipalab/dsmp/http/httpResponse/success/SuccessDataResponse.java index 37c8a04..796bcf8 100644 --- a/server/DSMP/src/main/java/com/knuipalab/dsmp/http/httpResponse/success/SuccessDataResponse.java +++ b/server/DSMP/src/main/java/com/knuipalab/dsmp/http/httpResponse/success/SuccessDataResponse.java @@ -12,7 +12,7 @@ public class SuccessDataResponse extends BasicResponse { private LocalDateTime timestamp ; - private int count; + private int count; // 바디 값이 리스트인 경우 리스트 개수 private int status; diff --git a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepository.java b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepository.java index 470aa54..edec119 100644 --- a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepository.java +++ b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepository.java @@ -1,8 +1,11 @@ package com.knuipalab.dsmp.metadata; +import org.springframework.data.domain.Page; + import java.util.HashMap; public interface CustomizedMetaDataRepository { void updateType(String metadataId, String type); void setMalignancyClassification(String metadataId, HashMap classificationSet); + Page findByProjectIdWithPaging(String projectId, int page, int size, HashMap parmMap); } diff --git a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepositoryImpl.java b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepositoryImpl.java index 43753b1..069dd27 100644 --- a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepositoryImpl.java +++ b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/CustomizedMetaDataRepositoryImpl.java @@ -1,12 +1,20 @@ package com.knuipalab.dsmp.metadata; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; +import org.springframework.data.support.PageableExecutionUtils; import org.springframework.util.Assert; + import java.util.HashMap; +import java.util.Iterator; +import java.util.List; public class CustomizedMetaDataRepositoryImpl implements CustomizedMetaDataRepository{ @@ -35,4 +43,37 @@ public void setMalignancyClassification(String metadataId, HashMap classificatio }); mongoTemplate.updateFirst(query,update,"metadata"); } + + // Iterator keys = parmMap.keySet().iterator(); + // while (keys.hasNext()){ + // String key = keys.next(); + // System.out.println(key); + // } + + + @Override + public Page findByProjectIdWithPaging(String projectId,int page, int size, HashMap parmMap) { + + Pageable pageable = PageRequest.of(page,size, Sort.unsorted()); + + Query query = new Query() + .with(pageable) + .skip(pageable.getPageSize() * pageable.getPageNumber()) // offset + .limit(pageable.getPageSize()); + + //Add Filtered + query.addCriteria(Criteria.where("projectId").is(projectId)); + + List filteredMetaData = mongoTemplate.find(query, MetaData.class, "metadata"); + Page metaDataPage = PageableExecutionUtils.getPage( + filteredMetaData, + pageable, + () -> mongoTemplate.count(query.skip(-1).limit(-1),MetaData.class) + // query.skip(-1).limit(-1)의 이유는 현재 쿼리가 페이징 하려고 하는 offset 까지만 보기에 이를 맨 처음부터 끝까지러 set 해줘 정확한 도큐먼트 개수를 구한다. + ); + + return metaDataPage; + } + + } diff --git a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataApiController.java b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataApiController.java index 8657b79..dc6ef54 100644 --- a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataApiController.java +++ b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataApiController.java @@ -6,10 +6,11 @@ import org.bson.Document; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; +import java.util.HashMap; import java.util.List; @RestController @@ -20,16 +21,23 @@ public class MetaDataApiController { // projectId가 같은 metadata를 모두 반환 @GetMapping("api/MetaData/{projectId}") - public ResponseEntity< ? extends BasicResponse> findByProjectId(@PathVariable String projectId, MultipartFile multipartFile){ + public ResponseEntity< ? extends BasicResponse> findByProjectId(@PathVariable String projectId){ List metaDataResponseDtos = metaDataService.findByProjectId(projectId); return ResponseEntity.ok().body(new SuccessDataResponse>(metaDataResponseDtos)); } + // projectId가 같은 metadata를 반환 with paging + @GetMapping("api/MetaData/{projectId}/pagination") + public ResponseEntity< ? extends BasicResponse> findByProjectIdWithPaging(@PathVariable String projectId, @RequestParam HashMap parmMap){ + Page metaDataPage = metaDataService.findByProjectIdWithPaging(projectId,parmMap); + return ResponseEntity.ok().body(new SuccessDataResponse>(metaDataPage)); + } + // metatdata를 projectId와 함께 저장 @PostMapping("api/MetaData/{projectId}") public ResponseEntity insert(@PathVariable String projectId,@RequestBody Document body){ MetaDataCreateRequestDto metaDataCreateRequestDto = new MetaDataCreateRequestDto(projectId,body); - metaDataService.insert(metaDataCreateRequestDto); + metaDataService.save(metaDataCreateRequestDto); return ResponseEntity.ok().body(new SuccessResponse()); } @@ -63,4 +71,5 @@ public ResponseEntity deleteById(@PathVariable String return ResponseEntity.ok().body(new SuccessResponse()); } + } diff --git a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataService.java b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataService.java index 9ca821e..888f567 100644 --- a/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataService.java +++ b/server/DSMP/src/main/java/com/knuipalab/dsmp/metadata/MetaDataService.java @@ -5,12 +5,14 @@ import com.knuipalab.dsmp.http.httpResponse.error.handler.exception.MetaDataNotFoundException; import com.knuipalab.dsmp.patient.PatientService; import com.knuipalab.dsmp.project.ProjectService; -import org.bson.Document; +import lombok.Getter; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -26,63 +28,90 @@ public class MetaDataService { @Autowired private PatientService patientService; + private void throwGlobalExceptionWhenProjectNotExist(String projectId){ + projectService.findById(projectId); + } @Transactional (readOnly = true) public List findByProjectId(String projectId) { - - projectService.findById(projectId); - + throwGlobalExceptionWhenProjectNotExist(projectId); return metaDataRepository.findByProjectId(projectId).stream() .map( metaData -> new MetaDataResponseDto(metaData) ) .collect(Collectors.toList()); } + @Getter + public class PageRequestConfiguration{ + int pageNumber; + int size; + PageRequestConfiguration(HashMap parmMap,int defaultPageNumber,int defaultSize){ + if(parmMap.containsKey("page")){ + this.pageNumber = Integer.parseInt(parmMap.get("page").toString()); + } + else{ + this.pageNumber=defaultPageNumber; + } + if(parmMap.containsKey("size")){ + this.size = Integer.parseInt(parmMap.get("size").toString()); + } + else{ + this.size=defaultSize; + } + } + } + @Transactional (readOnly = true) + public Page findByProjectIdWithPaging(String projectId, HashMap httpRequestParameterMap) { + + PageRequestConfiguration pageRequestConfiguration=new PageRequestConfiguration(httpRequestParameterMap,0,20); + if(httpRequestParameterMap.containsKey("page")){ + httpRequestParameterMap.remove("page"); + } + if(httpRequestParameterMap.containsKey("size")){ + httpRequestParameterMap.remove("size"); + } + throwGlobalExceptionWhenProjectNotExist(projectId); + return metaDataRepository.findByProjectIdWithPaging(projectId, + pageRequestConfiguration.getPageNumber(), pageRequestConfiguration.getSize(), httpRequestParameterMap); + + } @Transactional - public void insert(MetaDataCreateRequestDto metaDataCreateRequestDto){ + public void save(MetaDataCreateRequestDto metaDataCreateRequestDto){ - projectService.findById(metaDataCreateRequestDto.getProjectId()); // 존재하는 프로젝트 id인지 확인. + throwGlobalExceptionWhenProjectNotExist(metaDataCreateRequestDto.getProjectId()); MetaData metaData = new MetaData().builder() .projectId(metaDataCreateRequestDto.getProjectId()) .body(metaDataCreateRequestDto.getBody()).build(); - patientService.addProjectCount(metaData.getPatientIdFromBody()); // patient 처리. + patientService.addProjectCount(metaData.getPatientIdFromBody()); - metaDataRepository.save(metaData); // 저장 + metaDataRepository.save(metaData); } @Transactional public void insertAllByMetaDataList(MetaDataCreateAllRequestDto metaDataCreateAllRequestDto){ - List metaDataList=new ArrayList(); - - projectService.findById(metaDataCreateAllRequestDto.getProjectId()); // 존재하는 프로젝트 id인지 확인. + String projectId = metaDataCreateAllRequestDto.getProjectId(); + throwGlobalExceptionWhenProjectNotExist(projectId); if(metaDataCreateAllRequestDto.getBodyList() != null){ - - ListbodyList = metaDataCreateAllRequestDto.getBodyList(); - - String projectId = metaDataCreateAllRequestDto.getProjectId(); - - for(Document body : bodyList){ - MetaData metaData = new MetaData().builder() - .projectId(projectId) - .body(body).build(); - metaDataList.add(metaData); - patientService.addProjectCount(metaData.getPatientIdFromBody()); - } - + List metaDataList = getMetaDataFromMetaDataCreateAllRequestDto(metaDataCreateAllRequestDto, projectId); + metaDataList.forEach(metaData -> patientService.addProjectCount(metaData.getPatientIdFromBody())); int chunk_size = 1000; - for (List batch : Lists.partition(metaDataList,chunk_size)) { - metaDataRepository.saveAll(batch); - } - + Lists.partition(metaDataList,chunk_size).forEach(batch -> metaDataRepository.saveAll(batch) ); } } + @NotNull + private List getMetaDataFromMetaDataCreateAllRequestDto(MetaDataCreateAllRequestDto metaDataCreateAllRequestDto, String projectId) { + return metaDataCreateAllRequestDto.getBodyList().stream() + .map(body -> new MetaData().builder().projectId(projectId).body(body).build()) + .collect(Collectors.toList()); + } + @Transactional public void deleteAllByMetaDataIdList(MetaDataDeleteAllRequestDto metaDataDeleteAllRequestDto){ - projectService.findById(metaDataDeleteAllRequestDto.getProjectId()); // 존재하는 프로젝트 id인지 확인. + throwGlobalExceptionWhenProjectNotExist((metaDataDeleteAllRequestDto.getProjectId())); List metaDataList = metaDataDeleteAllRequestDto.getMetadataIdList().stream() .map( metadataId -> metaDataRepository.findById(metadataId).orElseThrow(()-> new MetaDataNotFoundException(ErrorCode.METADATA_NOT_FOUND))) diff --git a/server/DSMP/src/test/java/com/knuipalab/dsmp/QA/metadata/MetaDataQA.java b/server/DSMP/src/test/java/com/knuipalab/dsmp/QA/metadata/MetaDataQA.java index ab3f8e3..0d0ad30 100644 --- a/server/DSMP/src/test/java/com/knuipalab/dsmp/QA/metadata/MetaDataQA.java +++ b/server/DSMP/src/test/java/com/knuipalab/dsmp/QA/metadata/MetaDataQA.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.github.javafaker.Faker; import com.google.common.collect.Lists; +import com.knuipalab.dsmp.metadata.CustomizedMetaDataRepository; import com.knuipalab.dsmp.metadata.MetaData; import com.knuipalab.dsmp.metadata.MetaDataRepository; import com.knuipalab.dsmp.project.Project; @@ -20,9 +21,11 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.context.annotation.Profile; +import org.springframework.data.domain.Page; import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; @SpringBootTest @@ -36,6 +39,9 @@ public class MetaDataQA { @SpyBean MetaDataRepository metaDataRepository; + @SpyBean + CustomizedMetaDataRepository customizedMetaDataRepository; + Logger log = (Logger) LoggerFactory.getLogger(MetaDataQA.class); public User createMockUser(){ @@ -75,7 +81,7 @@ public String createMockStrBodyList(){ long beforeTime = System.currentTimeMillis(); - long METADATA_SIZE = 1000; + long METADATA_SIZE = 200; Faker faker = new Faker(); StringBuilder strBodyList = new StringBuilder(); @@ -102,9 +108,9 @@ public String createMockStrBodyList(){ strBodyList.append("]"); long afterTime = System.currentTimeMillis(); // 코드 실행 후에 시간 받아오기 - long secDiffTime = (afterTime - beforeTime)/1000; //두 시간에 차 계산 + long secDiffTime = (afterTime - beforeTime); //두 시간에 차 계산 - log.info("createMockStrBodyList 실행 시간(m) : "+secDiffTime); + log.info("createMockStrBodyList 실행 시간(ms) : "+secDiffTime); return strBodyList.toString(); } @@ -175,7 +181,7 @@ public void saveAllQA(){ long afterTime = System.currentTimeMillis(); // 코드 실행 후에 시간 받아오기 long secDiffTime = (afterTime - beforeTime); //두 시간에 차 계산 - log.info("saveAll QA 실행 시간(m) : "+secDiffTime); + log.info("saveAll QA 실행 시간(ms) : "+secDiffTime); } @@ -188,8 +194,20 @@ public void findAllQA(){ long afterTime = System.currentTimeMillis(); // 코드 실행 후에 시간 받아오기 long secDiffTime = (afterTime - beforeTime); //두 시간에 차 계산 + log.info("findAll 개수 : "+metaDataList.size()); + log.info("findAll QA 실행 시간(ms) : "+secDiffTime); + } - log.info("findAll QA 실행 시간(m) : "+secDiffTime); + @Profile("QA") + @Test + public void findByProjectIdWithPaging() { + long beforeTime = System.currentTimeMillis(); + HashMap parmMap = new HashMap<>(); + Page metaDataPage = customizedMetaDataRepository.findByProjectIdWithPaging("54321",11123,20,parmMap); + long afterTime = System.currentTimeMillis(); // 코드 실행 후에 시간 받아오기 + long secDiffTime = (afterTime - beforeTime); //두 시간에 차 계산 + log.info("findByProjectIdWithPaging 개수 : "+metaDataPage.getContent().size()); + log.info("findByProjectIdWithPaging QA 실행 시간(ms) : "+secDiffTime); } diff --git a/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/machineLearning/MachineLearningApiControllerTest.java b/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/machineLearning/MachineLearningApiControllerTest.java index 08c23f4..498f08c 100644 --- a/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/machineLearning/MachineLearningApiControllerTest.java +++ b/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/machineLearning/MachineLearningApiControllerTest.java @@ -23,7 +23,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; - +import static org.mockito.BDDMockito.given; @ExtendWith(SpringExtension.class) @WebMvcTest(controllers = MachineLearningApiController.class) @@ -51,7 +51,7 @@ public void setup() { } @WithMockUser - @DisplayName("Type Sampling Test by ProjectId - Success") + @DisplayName("Type Sampling Test by ProjectId") @Test void typeSamplingTest() throws Exception { @@ -63,10 +63,9 @@ void typeSamplingTest() throws Exception { } @WithMockUser - @DisplayName("Set Malignancy Classification Test by ProjectId - Success") + @DisplayName("Set Malignancy Classification Test by ProjectId and Model Name") @Test void setMalignancyClassificationTest() throws Exception { - mvc.perform(put("/api/MetaData/MalignancyClassification/54321/124214")) .andExpect(status().isOk()) .andExpect(jsonPath("$.status",is(200))) diff --git a/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/metadata/api/MetaDataApiControllerTest.java b/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/metadata/api/MetaDataApiControllerTest.java index 9f96f6f..3a7cc4a 100644 --- a/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/metadata/api/MetaDataApiControllerTest.java +++ b/server/DSMP/src/test/java/com/knuipalab/dsmp/controller/metadata/api/MetaDataApiControllerTest.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import com.knuipalab.dsmp.http.httpResponse.success.SuccessDataResponse; import com.knuipalab.dsmp.metadata.*; import com.knuipalab.dsmp.user.auth.CustomOAuth2UserService; import org.bson.Document; @@ -10,21 +11,30 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.internal.matchers.Any; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.support.PageableExecutionUtils; import org.springframework.http.MediaType; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.context.WebApplicationContext; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import static org.hamcrest.CoreMatchers.is; +import static org.mockito.ArgumentMatchers.*; import static org.mockito.BDDMockito.given; import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; @@ -161,9 +171,24 @@ void findByProjectIdTest() throws Exception { .andExpect(jsonPath("$.body.[1].projectId", is("54321"))) .andExpect(jsonPath("$.body.[1].body.age", is(54))) // body 확인 .andDo(print()) + ; + } + + @WithMockUser + @DisplayName("Find by ProjectId with Paging - Success") + @Test + void findByProjectIdWithPaging() throws Exception { + + //when + mvc.perform(get("/api/MetaData/54321/pagination?page=0&size=2")) + .andExpect(status().isOk()) // status 200 + .andExpect(jsonPath("$.status",is(200))) + .andDo(print()) ; } + + @WithMockUser @DisplayName("Insert by ProjectId - Success") @Test @@ -270,5 +295,12 @@ void deleteByIdTest() throws Exception{ ; } + @WithMockUser + @DisplayName("find Metadata with paging and filtering") + @Test + void findByProjectIdWithPagingAndFiltering() { +// mvc.perform(get("/api/MetaData/12345")) + } + } diff --git a/server/DSMP/src/test/java/com/knuipalab/dsmp/service/metadata/MetaDataServiceTest.java b/server/DSMP/src/test/java/com/knuipalab/dsmp/service/metadata/MetaDataServiceTest.java index 63b221c..014d701 100644 --- a/server/DSMP/src/test/java/com/knuipalab/dsmp/service/metadata/MetaDataServiceTest.java +++ b/server/DSMP/src/test/java/com/knuipalab/dsmp/service/metadata/MetaDataServiceTest.java @@ -17,9 +17,15 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.support.PageableExecutionUtils; import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -158,7 +164,6 @@ public ProjectResponseDto createMockProjectResponseDto(){ @Test @DisplayName("Find by ProjectId - Success") public void findByProjectIdTest() { - // given String projectId = "54321"; List mockedMetaDataList = createMockMetaDataList(); @@ -166,7 +171,6 @@ public void findByProjectIdTest() { // mocking given(metaDataRepository.findByProjectId(projectId)) .willReturn(mockedMetaDataList); - //when List mockedMetaDataResponseDtoList = metaDataRepository.findByProjectId(projectId) .stream() @@ -181,6 +185,40 @@ public void findByProjectIdTest() { } + @Test + @DisplayName("Find by ProjectId with Paging - Success") + public void findByProjectIdWithPaging() { + + // given + String projectId = "54321"; + int page = 0; + int size = 20; + List mockedMetaDataList = createMockMetaDataList(); + + HashMap parmMap = new HashMap(); + + Pageable pageable = PageRequest.of(0,2, Sort.unsorted()); + Page metaDataPage = PageableExecutionUtils.getPage( + mockedMetaDataList, + pageable, + () -> 5 + ); + + // mocking + given(metaDataRepository.findByProjectIdWithPaging(projectId,page,size,parmMap)) + .willReturn(metaDataPage); + + //when + Page mockedMetaDataPage = metaDataRepository.findByProjectIdWithPaging(projectId,page,size,parmMap); + + //then + Assertions.assertEquals(mockedMetaDataPage.getTotalElements(),5); + Assertions.assertEquals(mockedMetaDataPage.getTotalPages(),3); + Assertions.assertEquals(mockedMetaDataPage.getContent().size(),mockedMetaDataList.size()); + + + } + @Test @DisplayName("Insert MetaData - Success") public void insertTest(){