From 5085a140fd9ca2e13eb2db63a5715a37459b25d2 Mon Sep 17 00:00:00 2001 From: "chris.ditcher" Date: Tue, 20 Aug 2024 14:44:23 -0700 Subject: [PATCH 01/16] Added application-local to gitignore --- .gitignore | 5 ++++- api/.gitignore | 55 -------------------------------------------------- 2 files changed, 4 insertions(+), 56 deletions(-) delete mode 100644 api/.gitignore diff --git a/.gitignore b/.gitignore index 07c41426..1ca7b04e 100644 --- a/.gitignore +++ b/.gitignore @@ -52,4 +52,7 @@ target/ build/ ### VS Code ### -.vscode/ \ No newline at end of file +.vscode/ + +### Local dev ### +**/application-local.yaml \ No newline at end of file diff --git a/api/.gitignore b/api/.gitignore deleted file mode 100644 index 07c41426..00000000 --- a/api/.gitignore +++ /dev/null @@ -1,55 +0,0 @@ -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/** -!**/src/test/** - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ - -### VS Code ### -.vscode/ \ No newline at end of file From c882361c64667bd70daad60e5017fd79067c291c Mon Sep 17 00:00:00 2001 From: Chris Ditcher Date: Fri, 23 Aug 2024 13:50:25 -0700 Subject: [PATCH 02/16] Update update-configmap.sh (cherry picked from commit 677319c021920d38e3649e5b611701c8ac927b94) --- tools/config/update-configmap.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/config/update-configmap.sh b/tools/config/update-configmap.sh index bbd79c5b..ceb8d1eb 100644 --- a/tools/config/update-configmap.sh +++ b/tools/config/update-configmap.sh @@ -23,6 +23,7 @@ FLB_CONFIG="[SERVICE] Exclude_Path *.gz,*.zip Parser docker Mem_Buf_Limit 20MB + Buffer_Max_Size 1MB [FILTER] Name record_modifier Match * From 3802825582adfe2af00082412bd7b467a0eeadb0 Mon Sep 17 00:00:00 2001 From: Jinil Sung Date: Fri, 30 Aug 2024 10:15:33 -0700 Subject: [PATCH 03/16] GRAD2-2929: initial commit GRAD2-2929: initial commit --- .../api/graduation/config/RestWebClient.java | 2 +- .../controller/EdwSnapshotController.java | 5 +- .../controller/GraduationController.java | 41 +- .../graduation/model/dto/ProcessorData.java | 5 +- .../graduation/process/AlgorithmSupport.java | 8 +- .../process/GraduateStudentProcess.java | 12 +- .../ProjectedGradFinalMarksProcess.java | 4 +- ...tedGradFinalMarksRegistrationsProcess.java | 10 +- ...ProjectedGradFinalMarksReportsProcess.java | 10 +- .../service/EdwSnapshotService.java | 32 +- .../service/GradAlgorithmService.java | 26 +- .../graduation/service/GradStatusService.java | 40 +- .../graduation/service/GraduationService.java | 118 +- .../service/OptionalProgramService.java | 40 +- .../api/graduation/service/ReportService.java | 375 ++-- .../service/SchoolReportsService.java | 14 +- .../api/graduation/service/SchoolService.java | 16 +- .../api/graduation/util/JsonTransformer.java | 1 + .../educ/api/graduation/util/TokenUtils.java | 4 +- .../controller/EdwSnapshotControllerTest.java | 6 +- .../controller/GraduationControllerTest.java | 106 +- .../service/EdwSnapshotServiceTest.java | 19 +- .../service/GradAlgorithmServiceTest.java | 66 +- .../service/GradStatusServiceTest.java | 129 +- .../service/GraduationServiceTest.java | 336 ++-- .../service/OptionalProgramServiceTest.java | 196 +- .../graduation/service/ReportServiceTest.java | 1763 ++++++++++------- .../service/SchooReportsServiceTest.java | 2 +- .../graduation/service/SchoolServiceTest.java | 6 +- 29 files changed, 1718 insertions(+), 1674 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/config/RestWebClient.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/config/RestWebClient.java index a8deb96a..9e0f721a 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/config/RestWebClient.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/config/RestWebClient.java @@ -72,7 +72,7 @@ public WebClient webClient() { return WebClient.builder().exchangeStrategies(ExchangeStrategies.builder() .codecs(configurer -> configurer .defaultCodecs() - .maxInMemorySize(300 * 1024 * 1024)) // 100MB + .maxInMemorySize(300 * 1024 * 1024)) // 300MB .build()) .filter(this.log()) .build(); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotController.java index 6a3f7a3c..001a5360 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotController.java @@ -26,7 +26,6 @@ public class EdwSnapshotController { private static final Logger LOGGER = LoggerFactory.getLogger(EdwSnapshotController.class); - private static final String BEARER = "Bearer "; @Autowired EdwSnapshotService edwSnapshotService; @@ -41,9 +40,9 @@ public class EdwSnapshotController { @PreAuthorize(PermissionsContants.GRADUATE_STUDENT) @Operation(summary = "Run a Graduation snapshot for EDW", description = "Run a Graduation snapshot for EDW", tags = { "EDW Snapshot" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity snapshotGraduationStatus(@RequestBody EdwGraduationSnapshot snapshotRequest, @RequestHeader(name="Authorization") String accessToken) { + public ResponseEntity snapshotGraduationStatus(@RequestBody EdwGraduationSnapshot snapshotRequest) { LOGGER.debug("Snapshot Graduation Status for Student - pen# {}", snapshotRequest.getPen()); - return response.GET(edwSnapshotService.processSnapshot(snapshotRequest, accessToken.replace(BEARER, ""))); + return response.GET(edwSnapshotService.processSnapshot(snapshotRequest)); } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 7584dbfd..e9554081 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -64,20 +64,18 @@ public class GraduationController { @Operation(summary = "Run different Grad Runs and Graduate Student by Student ID and projected type", description = "Run different Grad Runs and Graduate Student by Student ID and projected type", tags = { "Graduation" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity graduateStudentNew(@PathVariable String studentID, @PathVariable String projectedType, - @RequestParam(required = false) Long batchId, - @RequestHeader(name="Authorization") String accessToken) { + @RequestParam(required = false) Long batchId) { LOGGER.debug("Graduate Student for Student ID: {}", studentID); - return response.GET(gradService.graduateStudent(studentID,batchId,accessToken.replace(BEARER, ""),projectedType)); + return response.GET(gradService.graduateStudent(studentID,batchId,projectedType)); } @GetMapping(EducGraduationApiConstants.GRADUATE_REPORT_DATA_BY_PEN) @PreAuthorize(PermissionsContants.GRADUATE_DATA) @Operation(summary = "Get Report data from graduation by student pen", description = "Get Report data from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type, - @RequestHeader(name="Authorization") String accessToken) { + public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type) { LOGGER.debug("Report Data By Student Pen: {}", pen); - return response.GET(gradService.prepareReportData(pen, type, accessToken.replace(BEARER, ""))); + return response.GET(gradService.prepareReportData(pen, type)); } @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_REPORT) @@ -86,10 +84,9 @@ public ResponseEntity reportDataByPen(@PathVariable @NotNull String @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, - @RequestParam(required = false) String preview, - @RequestHeader(name="Authorization") String accessToken) { + @RequestParam(required = false) String preview) { LOGGER.debug("Report Data By Student Pen: {}", pen); - byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview, accessToken.replace(BEARER, "")); + byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } @@ -102,10 +99,9 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin @Operation(summary = "Adapt graduation data for reporting", description = "Adapt graduation data for reporting", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportDataFromGraduation(@RequestBody @NotNull GraduationData graduationData, - @RequestParam(required = false) String type, - @RequestHeader(name="Authorization") String accessToken) { + @RequestParam(required = false) String type) { LOGGER.debug("Report Data from graduation for student: {}", graduationData.getGradStudent().getStudentID()); - return response.GET(gradService.prepareReportData(graduationData, type, accessToken.replace(BEARER, ""))); + return response.GET(gradService.prepareReportData(graduationData, type)); } @PostMapping(EducGraduationApiConstants.SCHOOL_REPORTS) @@ -113,7 +109,7 @@ public ResponseEntity reportDataFromGraduation(@RequestBody @NotNull @Operation(summary = "School Report Creation", description = "When triggered, School Reports are created", tags = { "Reports" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity createAndStoreSchoolReports(@RequestBody List uniqueSchools, @RequestHeader(name="Authorization") String accessToken,@RequestParam(required = false) String type ) { - return response.GET(gradService.createAndStoreSchoolReports(uniqueSchools,type,accessToken.replace(BEARER, ""))); + return response.GET(gradService.createAndStoreSchoolReports(uniqueSchools,type)); } @PostMapping(EducGraduationApiConstants.SCHOOL_REPORTS_LABELS) @@ -274,9 +270,7 @@ public ResponseEntity createAndStoreSchoolDistrictSuppReports( @PreAuthorize(PermissionsContants.GRADUATE_STUDENT) @Operation(summary = "Students for year end reports", description = "When triggered, list of students, eligible for the year end reports returns", tags = { "Reports" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity> getStudentsForYearEndReports( - @RequestHeader(name="Authorization") String accessToken - ) { + public ResponseEntity> getStudentsForYearEndReports(@RequestHeader(name="Authorization") String accessToken) { return response.GET(reportService.getStudentsForSchoolYearEndReport(accessToken.replace(BEARER, ""))); } @@ -290,7 +284,7 @@ public ResponseEntity createAndStoreSchoolDistrictYearEndNonGradReports @RequestParam(required = false) String drt, @RequestParam(required = false) String srt ) { - List reportGradStudentDataList = reportService.getStudentsForSchoolNonGradYearEndReport(accessToken.replace(BEARER, "")); + List reportGradStudentDataList = reportService.getStudentsForSchoolNonGradYearEndReport(); return response.GET(schoolReportsService.createAndStoreSchoolDistrictReports(accessToken.replace(BEARER, ""), reportGradStudentDataList, slrt, drt, srt)); } @@ -306,7 +300,7 @@ public ResponseEntity createAndStoreSchoolDistrictYearEndNonGradReports @RequestBody List schools) { List reportGradStudentDataTotalList = new ArrayList<>(); for(String mincode: schools) { - List sd = reportService.getStudentsForSchoolNonGradYearEndReport(mincode, accessToken.replace(BEARER, "")); + List sd = reportService.getStudentsForSchoolNonGradYearEndReport(mincode); reportGradStudentDataTotalList.addAll(sd); } return response.GET(schoolReportsService.createAndStoreSchoolDistrictReports(accessToken.replace(BEARER, ""), reportGradStudentDataTotalList, slrt, drt, srt)); @@ -321,7 +315,7 @@ public ResponseEntity getSchoolDistrictYearEndNonGradReports( @RequestParam(required = false) String slrt, @RequestParam(required = false) String drt, @RequestParam(required = false) String srt) { - List reportGradStudentDataList = reportService.getStudentsForSchoolNonGradYearEndReport(accessToken.replace(BEARER, "")); + List reportGradStudentDataList = reportService.getStudentsForSchoolNonGradYearEndReport(); byte[] resultBinary = schoolReportsService.getSchoolDistrictReports(accessToken.replace(BEARER, ""), reportGradStudentDataList, slrt, drt, srt); return handleBinaryResponse(resultBinary, "DistrictSchoolYearEndNonGradReports.pdf", MediaType.APPLICATION_PDF); } @@ -370,8 +364,8 @@ public ResponseEntity getSchoolDistrictSuppReports( @PreAuthorize(PermissionsContants.GRADUATE_STUDENT) @Operation(summary = "School Report Generation", description = "When triggered, School Report is generated", tags = { "Reports", "type=GRADREG", "type=NONGRADREG", "type=NONGRADPRJ" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity getSchoolReports(@RequestBody List uniqueSchools, @RequestHeader(name="Authorization") String accessToken,@RequestParam(required = true) String type ) { - byte[] resultBinary = gradService.getSchoolReports(uniqueSchools,type,accessToken.replace(BEARER, "")); + public ResponseEntity getSchoolReports(@RequestBody List uniqueSchools, @RequestParam(required = true) String type ) { + byte[] resultBinary = gradService.getSchoolReports(uniqueSchools,type); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } @@ -383,9 +377,8 @@ public ResponseEntity getSchoolReports(@RequestBody List uniqueS @Operation(summary = "Student Certificate Creation", description = "When triggered, Student Certificates are created for a given student", tags = { "Reports" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity createAndStoreStudentCertificate(@PathVariable @NotNull String pen, - @RequestParam(name="isOverwrite", required=false, defaultValue="N") String isOverwrite, - @RequestHeader(name="Authorization") String accessToken) { - return response.GET(gradService.createAndStoreStudentCertificates(pen, "Y".equalsIgnoreCase(isOverwrite), accessToken.replace(BEARER, ""))); + @RequestParam(name="isOverwrite", required=false, defaultValue="N") String isOverwrite) { + return response.GET(gradService.createAndStoreStudentCertificates(pen, "Y".equalsIgnoreCase(isOverwrite))); } private ResponseEntity handleBinaryResponse(byte[] resultBinary, String reportFile, MediaType contentType) { diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java index 138f1a87..1f9ad5af 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java @@ -13,17 +13,16 @@ public class ProcessorData { private GraduationStudentRecord gradResponse; private AlgorithmResponse algorithmResponse; - private String accessToken; +// private String accessToken; private String studentID; private Long batchId; private ExceptionMessage exception; private long startTime; - public ProcessorData(GraduationStudentRecord gradResponse, AlgorithmResponse algorithmResponse, String accessToken, String studentID, Long batchId, ExceptionMessage exception) { + public ProcessorData(GraduationStudentRecord gradResponse, AlgorithmResponse algorithmResponse, String studentID, Long batchId, ExceptionMessage exception) { this.gradResponse = gradResponse; this.algorithmResponse = algorithmResponse; - this.accessToken = accessToken; this.studentID = studentID; this.batchId = batchId; this.exception = exception; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java index 882f5fa8..eb3eceb9 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java @@ -46,7 +46,7 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData if(graduationDataStatus != null) { try { if (graduationDataStatus.isGraduated() && graduationStatusResponse.getProgramCompletionDate() != null && graduationDataStatus.getSchool() != null && graduationDataStatus.getSchool().getCertificateEligibility().equalsIgnoreCase("Y")) { - List certificateList = reportService.getCertificateList(gradResponse, graduationDataStatus, projectedOptionalGradResponse, processorData.getAccessToken(), exception); + List certificateList = reportService.getCertificateList(gradResponse, graduationDataStatus, projectedOptionalGradResponse, exception); tokenUtils.checkAndSetAccessToken(processorData); for (ProgramCertificateTranscript certType : certificateList) { if("FMR".equalsIgnoreCase(processName)) { @@ -61,7 +61,7 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData } } if(createCertificate) { - reportService.saveStudentCertificateReportJasper(graduationStatusResponse, graduationDataStatus, processorData.getAccessToken(), certType, false); + reportService.saveStudentCertificateReportJasper(graduationStatusResponse, graduationDataStatus, certType, false); graduationDataStatus.getSchool().setSchoolCategoryCode(certType.getSchoolCategoryCode()); graduationDataStatus.getStudentCertificatesTranscript().addCertificateType(GradCertificateType.builder() .code(certType.getCertificateTypeCode()) @@ -69,7 +69,7 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData .build()); } } else { - reportService.saveStudentCertificateReportJasper(graduationStatusResponse, graduationDataStatus, processorData.getAccessToken(), certType, false); + reportService.saveStudentCertificateReportJasper(graduationStatusResponse, graduationDataStatus, certType, false); graduationDataStatus.getSchool().setSchoolCategoryCode(certType.getSchoolCategoryCode()); graduationDataStatus.getStudentCertificatesTranscript().addCertificateType(GradCertificateType.builder() .code(certType.getCertificateTypeCode()) @@ -84,7 +84,7 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData logger.debug("**** No Transcript Generated: ****"); } else if (graduationDataStatus.getSchool() != null && graduationDataStatus.getSchool().getTranscriptEligibility().equalsIgnoreCase("Y")) { tokenUtils.checkAndSetAccessToken(processorData); - reportService.saveStudentTranscriptReportJasper(data, processorData.getAccessToken(), graduationStatusResponse.getStudentID(), exception, graduationDataStatus.isGraduated(), "FMR".equalsIgnoreCase(processName)); + reportService.saveStudentTranscriptReportJasper(data, graduationStatusResponse.getStudentID(), exception, graduationDataStatus.isGraduated(), "FMR".equalsIgnoreCase(processName)); if(data.getTranscript() != null && data.getTranscript().getTranscriptTypeCode() != null) { String transcriptTypeCode = ObjectUtils.defaultIfNull(data.getTranscript().getTranscriptTypeCode().getCode(), ""); graduationDataStatus.getStudentCertificatesTranscript().setTranscriptTypeCode(transcriptTypeCode); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java index 43643ec7..33d125c0 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java @@ -31,28 +31,28 @@ public ProcessorData fire(ProcessorData processorData) { GraduationStudentRecord gradResponse = processorData.getGradResponse(); if (gradResponse.getProgramCompletionDate() == null || gradResponse.getProgram().equalsIgnoreCase("SCCP") || gradResponse.getProgram().equalsIgnoreCase("NOPROG")) { List optionalProgram = new ArrayList<>(); - GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), processorData.getAccessToken(), exception); + GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception); if(algorithmSupport.checkForErrors(graduationDataStatus,algorithmResponse,processorData)){ return processorData; } logger.debug("**** Grad Algorithm Completed:{} **** ",gradResponse.getStudentID()); - List projectedOptionalGradResponse = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, processorData.getStudentID(), processorData.getAccessToken(), optionalProgram); + List projectedOptionalGradResponse = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, processorData.getStudentID(), optionalProgram); logger.debug("**** Saved Optional Programs: ****"); GraduationStudentRecord toBeSaved = gradStatusService.prepareGraduationStatusObj(graduationDataStatus); toBeSaved.setUpdateUser(StringUtils.isEmpty(gradResponse.getUpdateUser()) ? "" : gradResponse.getUpdateUser()); if(checkExceptions(exception,algorithmResponse,processorData)) { return processorData; } - logger.debug("**** Prepared Data for Reports: ****"); + logger.debug("**** Prepared Data to Save Grad Status: ****"); if (toBeSaved != null && toBeSaved.getStudentID() != null) { - GraduationStudentRecord graduationStatusResponse = gradStatusService.saveStudentGradStatus(processorData.getStudentID(), processorData.getBatchId(), processorData.getAccessToken(), toBeSaved, exception); + GraduationStudentRecord graduationStatusResponse = gradStatusService.saveStudentGradStatus(processorData.getStudentID(), processorData.getBatchId(), toBeSaved, exception); if (checkExceptions(graduationStatusResponse.getException(),algorithmResponse,processorData)) { return processorData; } logger.debug("**** Saved Grad Status: ****"); tokenUtils.checkAndSetAccessToken(processorData); - ReportData data = reportService.prepareTranscriptData(graduationDataStatus, gradResponse, false, processorData.getAccessToken(),exception); + ReportData data = reportService.prepareTranscriptData(graduationDataStatus, gradResponse, false, exception); if(checkExceptions(data.getException(),algorithmResponse,processorData)) { return processorData; } @@ -60,7 +60,7 @@ public ProcessorData fire(ProcessorData processorData) { tokenUtils.checkAndSetAccessToken(processorData); ExceptionMessage eMsg = algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,graduationStatusResponse,gradResponse,projectedOptionalGradResponse,exception,data,processorData, "GS"); if (checkExceptions(eMsg,algorithmResponse,processorData)) { - gradStatusService.restoreStudentGradStatus(processorData.getStudentID(), processorData.getAccessToken(), graduationDataStatus.isGraduated()); + gradStatusService.restoreStudentGradStatus(processorData.getStudentID(), graduationDataStatus.isGraduated()); logger.debug("**** Record Restored Due to Error: ****"); return processorData; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksProcess.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksProcess.java index 92352128..6b845c2e 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksProcess.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksProcess.java @@ -25,13 +25,13 @@ public ProcessorData fire(ProcessorData processorData) { ExceptionMessage exception = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); GraduationStudentRecord gradResponse = processorData.getGradResponse(); - GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), processorData.getAccessToken(), exception); + GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception); if(algorithmSupport.checkForErrors(graduationDataStatus,algorithmResponse,processorData)){ return processorData; } logger.debug("**** Grad Algorithm Completed: ****"); gradResponse = gradStatusService.processProjectedResults(gradResponse,graduationDataStatus); - List projectedOptionalGradResponse = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, processorData.getStudentID(), processorData.getAccessToken()); + List projectedOptionalGradResponse = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, processorData.getStudentID()); algorithmResponse.setStudentOptionalProgram(projectedOptionalGradResponse); algorithmResponse.setGraduationStudentRecord(gradResponse); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksRegistrationsProcess.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksRegistrationsProcess.java index ee2f2b92..86bb1549 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksRegistrationsProcess.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksRegistrationsProcess.java @@ -26,7 +26,7 @@ public ProcessorData fire(ProcessorData processorData) { logger.debug("************* TIME START ************ {}",startTime); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); GraduationStudentRecord gradResponse = processorData.getGradResponse(); - GraduationData graduationDataStatus = gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), processorData.getAccessToken()); + GraduationData graduationDataStatus = gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram()); if(algorithmSupport.checkForErrors(graduationDataStatus,algorithmResponse,processorData)){ return processorData; } @@ -36,14 +36,14 @@ public ProcessorData fire(ProcessorData processorData) { .graduated(graduationDataStatus.isGraduated()) .nonGradReasons(graduationDataStatus.getNonGradReasons()) .build(); - gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, processorData.getStudentID(), processorData.getBatchId(), processorData.getAccessToken(), exception); + gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, processorData.getStudentID(), processorData.getBatchId(), exception); gradResponse = gradStatusService.processProjectedResults(gradResponse, graduationDataStatus); - List projectedOptionalGradResponse = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, processorData.getStudentID(), processorData.getAccessToken()); - ReportData data = reportService.prepareAchievementReportData(graduationDataStatus, projectedOptionalGradResponse, processorData.getAccessToken(),exception); + List projectedOptionalGradResponse = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, processorData.getStudentID()); + ReportData data = reportService.prepareAchievementReportData(graduationDataStatus, projectedOptionalGradResponse, exception); if (checkExceptions(data.getException(), algorithmResponse,processorData)) { return processorData; } - ExceptionMessage excp = reportService.saveStudentAchivementReportJasper(gradResponse.getPen(), data, processorData.getAccessToken(), gradResponse.getStudentID(), exception, graduationDataStatus.isGraduated()); + ExceptionMessage excp = reportService.saveStudentAchivementReportJasper(gradResponse.getPen(), data, gradResponse.getStudentID(), exception, graduationDataStatus.isGraduated()); if (checkExceptions(excp,algorithmResponse,processorData)) { logger.debug("**** Problem Generating TVR: ****"); return processorData; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksReportsProcess.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksReportsProcess.java index e59bdb10..ab250439 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksReportsProcess.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/ProjectedGradFinalMarksReportsProcess.java @@ -29,29 +29,29 @@ public ProcessorData fire(ProcessorData processorData) { ExceptionMessage exception = new ExceptionMessage(); if(gradResponse.getProgramCompletionDate() != null) { List optionalProgram = new ArrayList<>(); - GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), processorData.getAccessToken(), exception); + GraduationData graduationDataStatus = gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception); if(algorithmSupport.checkForErrors(graduationDataStatus,algorithmResponse,processorData)){ return processorData; } logger.debug("**** Grad Algorithm Completed:{} **** ",gradResponse.getStudentID()); - List projectedOptionalGradResponse = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, processorData.getStudentID(), processorData.getAccessToken(), optionalProgram); + List projectedOptionalGradResponse = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, processorData.getStudentID(), optionalProgram); logger.debug("**** Saved Optional Programs: ****"); GraduationStudentRecord toBeSaved = gradStatusService.prepareGraduationStatusObj(graduationDataStatus); - ReportData data = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,processorData.getAccessToken(),exception); + ReportData data = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false, exception); if(checkExceptions(data.getException(),algorithmResponse,processorData)) { return processorData; } logger.debug("**** Prepared Data for Reports: ****"); if (toBeSaved != null && toBeSaved.getStudentID() != null) { - GraduationStudentRecord graduationStatusResponse = gradStatusService.saveStudentGradStatus(processorData.getStudentID(), processorData.getBatchId(), processorData.getAccessToken(), toBeSaved, exception); + GraduationStudentRecord graduationStatusResponse = gradStatusService.saveStudentGradStatus(processorData.getStudentID(), processorData.getBatchId(), toBeSaved, exception); if (checkExceptions(graduationStatusResponse.getException(),algorithmResponse,processorData)) { return processorData; } logger.debug("**** Saved Grad Status: ****"); ExceptionMessage eMsg = algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,graduationStatusResponse,gradResponse,projectedOptionalGradResponse,exception,data,processorData, "FMR"); if (checkExceptions(eMsg,algorithmResponse,processorData)) { - gradStatusService.restoreStudentGradStatus(processorData.getStudentID(), processorData.getAccessToken(), graduationDataStatus.isGraduated()); + gradStatusService.restoreStudentGradStatus(processorData.getStudentID(), graduationDataStatus.isGraduated()); logger.debug("**** Record Restored Due to Error: ****"); return processorData; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotService.java index 34eecdbe..1f7facf3 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotService.java @@ -45,7 +45,7 @@ public EdwSnapshotService(EducGraduationApiConstants constants, this.jsonTransformer = jsonTransformer; } - public EdwGraduationSnapshot processSnapshot(EdwGraduationSnapshot snapshotRequest, String accessToken) { + public EdwGraduationSnapshot processSnapshot(EdwGraduationSnapshot snapshotRequest) { Integer gradYear = snapshotRequest.getGradYear(); // yyyy String pen = snapshotRequest.getPen(); String graduatedDate = snapshotRequest.getGraduatedDate(); // yyyyMM @@ -57,22 +57,22 @@ public EdwGraduationSnapshot processSnapshot(EdwGraduationSnapshot snapshotReque // retrieve honour_flag, gpa snapshot = populateSnapshot(gradYear, pen, graduatedDate, "Y", snapshotRequest.getHonoursStanding(), snapshotRequest.getGpa(), schoolOfRecord); } else { - snapshot = runHypotheticalGradAlgorithm(pen, gradYear, schoolOfRecord, accessToken); + snapshot = runHypotheticalGradAlgorithm(pen, gradYear, schoolOfRecord); } log.debug("Save EdwSnapshot for Student pen# {}", snapshotRequest.getPen()); - saveEdwSnapshotOfGraduationStatus(accessToken, snapshot); + saveEdwSnapshotOfGraduationStatus(snapshot); return snapshot; } - private EdwGraduationSnapshot runHypotheticalGradAlgorithm(String pen, Integer gradYear, String schoolOfRecord, String accessToken) { - UUID studentID = getStudentID(pen, accessToken); + private EdwGraduationSnapshot runHypotheticalGradAlgorithm(String pen, Integer gradYear, String schoolOfRecord) { + UUID studentID = getStudentID(pen); if (studentID == null) { return null; } EdwGraduationSnapshot snapshot; log.debug("Hypothetical Grad Algorithm run for Student ID: {}", studentID); - GraduationStudentRecord gradResponse = gradStatusService.getGradStatus(studentID.toString(), accessToken, new ExceptionMessage()); + GraduationStudentRecord gradResponse = gradStatusService.getGradStatus(studentID.toString(), new ExceptionMessage()); String gradProgramCode = null; if (gradResponse != null && !gradResponse.getStudentStatus().equals("MER")) { gradProgramCode = gradResponse.getProgram(); @@ -81,7 +81,7 @@ private EdwGraduationSnapshot runHypotheticalGradAlgorithm(String pen, Integer g GraduationData graduationData = null; if (StringUtils.isNotBlank(gradProgramCode) && !"SCCP".equalsIgnoreCase(gradProgramCode)) { // run hypothetical grad algorithm - graduationData = gradAlgorithmService.runHypotheticalGraduatedAlgorithm(studentID, gradProgramCode, gradYear.toString(), accessToken); + graduationData = gradAlgorithmService.runHypotheticalGraduatedAlgorithm(studentID, gradProgramCode, gradYear.toString()); if (graduationData != null) { isHypotheticalPass = graduationData.isGraduated(); } @@ -100,15 +100,14 @@ private EdwGraduationSnapshot runHypotheticalGradAlgorithm(String pen, Integer g return snapshot; } - public void saveEdwSnapshotOfGraduationStatus(String accessToken, EdwGraduationSnapshot requestObj) { + public void saveEdwSnapshotOfGraduationStatus(EdwGraduationSnapshot requestObj) { this.restService.post(constants.getEdwSnapshotOfGraduationStatus(), requestObj, - EdwGraduationSnapshot.class, - accessToken); + EdwGraduationSnapshot.class); } - public UUID getStudentID(String pen, String accessToken) { - GradSearchStudent penStudent = getStudentByPenFromStudentApi(pen, accessToken); + public UUID getStudentID(String pen) { + GradSearchStudent penStudent = getStudentByPenFromStudentApi(pen); if (penStudent != null) { return UUID.fromString(penStudent.getStudentID()); } else { @@ -116,12 +115,11 @@ public UUID getStudentID(String pen, String accessToken) { } } - @SuppressWarnings("rawtypes") - public GradSearchStudent getStudentByPenFromStudentApi(String pen, String accessToken) { - List response = this.restService.get(String.format(constants.getPenStudentApiByPenUrl(), pen), - List.class, accessToken); + public GradSearchStudent getStudentByPenFromStudentApi(String pen) { + var response = this.restService.get(String.format(constants.getPenStudentApiByPenUrl(), pen), + List.class); if (response != null && !response.isEmpty()) { - List studentList = jsonTransformer.convertValue(response.get(0), new TypeReference<>(){}); + List studentList = jsonTransformer.convertValue(response, new TypeReference<>(){}); return studentList.get(0); } return null; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmService.java index fdf0fe2c..f38909ae 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmService.java @@ -15,18 +15,14 @@ public class GradAlgorithmService { @Autowired - WebClient webClient; + RESTService restService; @Autowired EducGraduationApiConstants educGraduationApiConstants; - public GraduationData runGradAlgorithm(UUID studentID, String program,String accessToken,ExceptionMessage exception) { + public GraduationData runGradAlgorithm(UUID studentID, String program, ExceptionMessage exception) { try { - return webClient.get().uri(String.format(educGraduationApiConstants.getGradAlgorithmEndpoint(),studentID,program)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationData.class).block(); + return restService.get(String.format(educGraduationApiConstants.getGradAlgorithmEndpoint(),studentID,program), GraduationData.class); }catch(Exception e) { exception.setExceptionName("GRAD-ALGORITHM-API IS DOWN"); exception.setExceptionDetails(e.getLocalizedMessage()); @@ -34,19 +30,11 @@ public GraduationData runGradAlgorithm(UUID studentID, String program,String acc } } - public GraduationData runProjectedAlgorithm(UUID studentID, String program,String accessToken) { - return webClient.get().uri(String.format(educGraduationApiConstants.getGradProjectedAlgorithmEndpoint(), studentID,program, true)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationData.class).block(); + public GraduationData runProjectedAlgorithm(UUID studentID, String program) { + return restService.get(String.format(educGraduationApiConstants.getGradProjectedAlgorithmEndpoint(), studentID,program, true), GraduationData.class); } - public GraduationData runHypotheticalGraduatedAlgorithm(UUID studentID, String program, String hypothenticalGradYear, String accessToken) { - return webClient.get().uri(String.format(educGraduationApiConstants.getGradHypotheticalAlgorithmEndpoint(), studentID, program, hypothenticalGradYear)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationData.class).block(); + public GraduationData runHypotheticalGraduatedAlgorithm(UUID studentID, String program, String hypotheticalGradYear) { + return restService.get(String.format(educGraduationApiConstants.getGradHypotheticalAlgorithmEndpoint(), studentID, program, hypotheticalGradYear), GraduationData.class); } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradStatusService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradStatusService.java index 32f65f11..c9cceda1 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradStatusService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GradStatusService.java @@ -6,7 +6,6 @@ import ca.bc.gov.educ.api.graduation.model.dto.ProjectedRunClob; import ca.bc.gov.educ.api.graduation.util.EducGraduationApiConstants; import ca.bc.gov.educ.api.graduation.util.JsonTransformer; -import ca.bc.gov.educ.api.graduation.util.ThreadLocalStateUtil; import com.fasterxml.jackson.core.type.TypeReference; import lombok.SneakyThrows; import org.slf4j.Logger; @@ -15,11 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; -import org.springframework.web.reactive.function.BodyInserters; import org.springframework.web.reactive.function.client.WebClient; import java.util.List; -import java.util.Map; @Service public class GradStatusService { @@ -41,14 +38,10 @@ public GradStatusService(WebClient webClient, RESTService restService, RestTempl this.jsonTransformer = jsonTransformer; } - public GraduationStudentRecord getGradStatus(String studentID, String accessToken, ExceptionMessage exception) { + public GraduationStudentRecord getGradStatus(String studentID, ExceptionMessage exception) { try { - return webClient.get().uri(String.format(educGraduationApiConstants.getReadGradStudentRecord(),studentID)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationStudentRecord.class).block(); + return restService.get(String.format(educGraduationApiConstants.getReadGradStudentRecord(),studentID), GraduationStudentRecord.class); } catch (Exception e) { exception.setExceptionName(studentAPIDown); exception.setExceptionDetails(e.getLocalizedMessage()); @@ -68,17 +61,13 @@ public void prepareGraduationStatusData(GraduationStudentRecord obj, GraduationD obj.setStudentGradData(jsonTransformer.marshall(graduationDataStatus)); } - public GraduationStudentRecord saveStudentGradStatus(String studentID,Long batchId,String accessToken, GraduationStudentRecord toBeSaved, ExceptionMessage exception) { + public GraduationStudentRecord saveStudentGradStatus(String studentID, Long batchId, GraduationStudentRecord toBeSaved, ExceptionMessage exception) { try { String url = educGraduationApiConstants.getUpdateGradStatus(); if(batchId != null) { url = url + "?batchId=%s"; } - return webClient.post().uri(String.format(url,studentID,batchId)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(toBeSaved)).retrieve().bodyToMono(GraduationStudentRecord.class).block(); + return restService.post(String.format(url,studentID,batchId), toBeSaved, GraduationStudentRecord.class); } catch(Exception e) { exception.setExceptionName(studentAPIDown); exception.setExceptionDetails(e.getLocalizedMessage()); @@ -88,17 +77,13 @@ public GraduationStudentRecord saveStudentGradStatus(String studentID,Long batch } } - public GraduationStudentRecord saveStudentRecordProjectedRun(ProjectedRunClob projectedRunClob, String studentID, Long batchId, String accessToken, ExceptionMessage exception) { + public GraduationStudentRecord saveStudentRecordProjectedRun(ProjectedRunClob projectedRunClob, String studentID, Long batchId, ExceptionMessage exception) { try { String url = educGraduationApiConstants.getSaveStudentRecordProjectedRun(); if(batchId != null) { url = url + "?batchId=%s"; } - return webClient.post().uri(String.format(url,studentID,batchId)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(projectedRunClob)).retrieve().bodyToMono(GraduationStudentRecord.class).block(); + return restService.post(String.format(url,studentID,batchId), projectedRunClob, GraduationStudentRecord.class); }catch(Exception e) { exception.setExceptionName(studentAPIDown); exception.setExceptionDetails(e.getLocalizedMessage()); @@ -118,17 +103,12 @@ public GraduationStudentRecord processProjectedResults(GraduationStudentRecord g return gradResponse; } - public void restoreStudentGradStatus(String studentID, String accessToken,boolean isGraduated) { - webClient.get().uri(String.format(educGraduationApiConstants.getUpdateGradStatusAlgoError(),studentID,isGraduated)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(boolean.class).block(); + public void restoreStudentGradStatus(String studentID, boolean isGraduated) { + restService.get(String.format(educGraduationApiConstants.getUpdateGradStatusAlgoError(),studentID,isGraduated), Boolean.class); } - public List getStudentListByMinCode(String schoolOfRecord, String accessToken) { - List response = this.restService.get(String.format(educGraduationApiConstants.getGradStudentListSchoolReport(),schoolOfRecord), - List.class); + public List getStudentListByMinCode(String schoolOfRecord) { + var response = this.restService.get(String.format(educGraduationApiConstants.getGradStudentListSchoolReport(),schoolOfRecord), List.class); return jsonTransformer.convertValue(response, new TypeReference<>(){}); } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java index b2471da1..20a1cfe4 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java @@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.BodyInserters; import org.springframework.web.reactive.function.client.WebClient; import java.nio.charset.StandardCharsets; @@ -67,12 +66,12 @@ public GraduationService(WebClient webClient, AlgorithmProcessFactory algorithmP this.jsonTransformer = jsonTransformer; } - public AlgorithmResponse graduateStudent(String studentID, Long batchId, String accessToken, String projectedType) { + public AlgorithmResponse graduateStudent(String studentID, Long batchId, String projectedType) { ExceptionMessage exception = new ExceptionMessage(); AlgorithmProcessType pType = AlgorithmProcessType.valueOf(StringUtils.toRootUpperCase(projectedType)); logger.debug("\n************* NEW STUDENT:***********************"); - GraduationStudentRecord gradResponse = gradStatusService.getGradStatus(studentID, accessToken, exception); + GraduationStudentRecord gradResponse = gradStatusService.getGradStatus(studentID, exception); if (exception.getExceptionName() != null) { AlgorithmResponse aR = new AlgorithmResponse(); aR.setException(exception); @@ -80,7 +79,7 @@ public AlgorithmResponse graduateStudent(String studentID, Long batchId, String } if (gradResponse != null && !gradResponse.getStudentStatus().equals("MER")) { logger.debug("**** Fetched Student Information: {} ****", gradResponse.getStudentID()); - ProcessorData data = new ProcessorData(gradResponse, null, accessToken, studentID, batchId, exception); + ProcessorData data = new ProcessorData(gradResponse, null, studentID, batchId, exception); AlgorithmProcess process = algorithmProcessFactory.createProcess(pType); data = process.fire(data); return data.getAlgorithmResponse(); @@ -94,43 +93,43 @@ public AlgorithmResponse graduateStudent(String studentID, Long batchId, String } } - public ReportData prepareReportData(String pen, String type, String accessToken) { + public ReportData prepareReportData(String pen, String type) { type = Optional.ofNullable(type).orElse(""); switch (type.toUpperCase()) { case "CERT": - return reportService.prepareCertificateData(pen, accessToken, new ExceptionMessage()); + return reportService.prepareCertificateData(pen, new ExceptionMessage()); case "ACHV": ReportData reportData = new ReportData(); reportData.getParameters().put("NOT SUPPORTED", "ACHV Report Data type not supported yet"); return reportData; case "XML": - return reportService.prepareTranscriptData(pen, true, accessToken, new ExceptionMessage()); + return reportService.prepareTranscriptData(pen, true, new ExceptionMessage()); default: - return reportService.prepareTranscriptData(pen, false, accessToken, new ExceptionMessage()); + return reportService.prepareTranscriptData(pen, false, new ExceptionMessage()); } } - public ReportData prepareReportData(GraduationData graduationData, String type, String accessToken) { + public ReportData prepareReportData(GraduationData graduationData, String type) { type = Optional.ofNullable(type).orElse(""); switch (type.toUpperCase()) { case "CERT": - return reportService.prepareCertificateData(graduationData, accessToken, new ExceptionMessage()); + return reportService.prepareCertificateData(graduationData, new ExceptionMessage()); case "ACHV": ReportData reportData = new ReportData(); reportData.getParameters().put("NOT SUPPORTED", "ACHV Report Data type not supported yet"); return reportData; case "XML": - return reportService.prepareTranscriptData(graduationData, true, accessToken, new ExceptionMessage()); + return reportService.prepareTranscriptData(graduationData, true, new ExceptionMessage()); default: - return reportService.prepareTranscriptData(graduationData, false, accessToken, new ExceptionMessage()); + return reportService.prepareTranscriptData(graduationData, false, new ExceptionMessage()); } } - public byte[] prepareTranscriptReport(String pen, String interim, String preview, String accessToken) { + public byte[] prepareTranscriptReport(String pen, String interim, String preview) { boolean isInterim = StringUtils.trimToNull(Optional.ofNullable(interim).orElse("")) != null; boolean isPreview = StringUtils.trimToNull(Optional.ofNullable(preview).orElse("")) != null; - ReportData reportData = reportService.prepareTranscriptData(pen, isInterim, accessToken, new ExceptionMessage()); + ReportData reportData = reportService.prepareTranscriptData(pen, isInterim, new ExceptionMessage()); ReportOptions options = new ReportOptions(); options.setReportFile("transcript"); @@ -141,17 +140,18 @@ public byte[] prepareTranscriptReport(String pen, String interim, String preview reportParams.setData(reportData); try { - return webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - } - ).body(BodyInserters.fromValue(reportParams)).retrieve() - .onStatus( - HttpStatus.NO_CONTENT::equals, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException("NO_CONTENT", response.statusCode().value())) - ) - .bodyToMono(byte[].class).block(); +// return webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) +// .headers(h -> { +// h.setBearerAuth(accessToken); +// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); +// } +// ).body(BodyInserters.fromValue(reportParams)).retrieve() +// .onStatus( +// HttpStatus.NO_CONTENT::equals, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException("NO_CONTENT", response.statusCode().value())) +// ) +// .bodyToMono(byte[].class).block(); + return restService.post(educGraduationApiConstants.getTranscriptReport(), reportParams, byte[].class); } catch (ServiceException ex) { if(HttpStatus.NO_CONTENT.value() == ex.getStatusCode()) { return new byte[0]; @@ -167,13 +167,11 @@ public byte[] prepareTranscriptReport(String pen, String interim, String preview * @param pen * @param isOverwrite true: regenerate(delete and create) student certs * false: create or update student certs - * @param accessToken * @return the number of certificates created */ - public Integer createAndStoreStudentCertificates(String pen, boolean isOverwrite, String accessToken) { + public Integer createAndStoreStudentCertificates(String pen, boolean isOverwrite) { int i = 0; - Pair token = getAccessToken(accessToken); - Pair pair = reportService.getGraduationStudentRecordAndGraduationData(pen, token.getLeft()); + Pair pair = reportService.getGraduationStudentRecordAndGraduationData(pen); if (pair != null) { GraduationStudentRecord graduationStudentRecord = pair.getLeft(); GraduationData graduationData = pair.getRight(); @@ -191,10 +189,9 @@ public Integer createAndStoreStudentCertificates(String pen, boolean isOverwrite } } ExceptionMessage exception = new ExceptionMessage(); - List certificateList = reportService.getCertificateList(graduationStudentRecord, graduationData, projectedOptionalPrograms, accessToken, exception); - token = checkAndGetAccessToken(token); + List certificateList = reportService.getCertificateList(graduationStudentRecord, graduationData, projectedOptionalPrograms, exception); for (ProgramCertificateTranscript certType : certificateList) { - reportService.saveStudentCertificateReportJasper(graduationStudentRecord, graduationData, token.getLeft(), certType, i == 0 && isOverwrite); + reportService.saveStudentCertificateReportJasper(graduationStudentRecord, graduationData, certType, i == 0 && isOverwrite); i++; logger.debug("**** Saved Certificates: {} ****", certType.getCertificateTypeCode()); } @@ -207,21 +204,21 @@ private boolean isGraduated(GraduationStudentRecord graduationStudentRecord, Gra return graduationData.isGraduated() && graduationStudentRecord.getProgramCompletionDate() != null; } - public byte[] getSchoolReports(List uniqueSchoolList, String type, String accessToken) { + public byte[] getSchoolReports(List uniqueSchoolList, String type) { byte[] result = new byte[0]; - Pair res = Pair.of(accessToken, System.currentTimeMillis()); - int i = 0; +// Pair res = Pair.of(accessToken, System.currentTimeMillis()); +// int i = 0; for (String usl : uniqueSchoolList) { - if (i == 0) { - res = getAccessToken(accessToken); - } else { - res = checkAndGetAccessToken(res); - } - accessToken = res.getLeft(); +// if (i == 0) { +// res = getAccessToken(accessToken); +// } else { +// res = checkAndGetAccessToken(res); +// } +// accessToken = res.getLeft(); try { - List stdList = gradStatusService.getStudentListByMinCode(usl, accessToken); - SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(usl, accessToken, new ExceptionMessage()); + List stdList = gradStatusService.getStudentListByMinCode(usl); + SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(usl, new ExceptionMessage()); if (schoolDetails != null) { School schoolObj = new School(); schoolObj.setMincode(schoolDetails.getMinCode()); @@ -231,7 +228,7 @@ public byte[] getSchoolReports(List uniqueSchoolList, String type, Strin case GRADREG: List gradRegStudents = processStudentList(filterStudentList(stdList, GRADREG), REGALG); gradReport = getReportDataObj(schoolObj, gradRegStudents); - return getSchoolReportGradRegReport(gradReport, schoolObj.getMincode(), accessToken); + return getSchoolReportGradRegReport(gradReport, schoolObj.getMincode()); case NONGRADREG: List nonGradRegStudents = processStudentList(filterStudentList(stdList, NONGRADREG), REGALG); gradReport = getReportDataObj(schoolObj, nonGradRegStudents); @@ -239,7 +236,7 @@ public byte[] getSchoolReports(List uniqueSchoolList, String type, Strin case NONGRADPRJ: List nonGradPrjStudents = processStudentList(filterStudentList(stdList, NONGRADPRJ), TVRRUN); gradReport = getReportDataObj(schoolObj, nonGradPrjStudents); - return getSchoolReportStudentNonGradPrjReport(gradReport, schoolObj.getMincode(), accessToken); + return getSchoolReportStudentNonGradPrjReport(gradReport, schoolObj.getMincode()); default: return result; } @@ -247,23 +244,22 @@ public byte[] getSchoolReports(List uniqueSchoolList, String type, Strin } catch (Exception e) { logger.error("Failed to generate {} report for mincode: {} due to: {}", type, usl, e.getLocalizedMessage()); } - i++; } return result; } - public Integer createAndStoreSchoolReports(List uniqueSchoolList, String type, String accessToken) { + public Integer createAndStoreSchoolReports(List uniqueSchoolList, String type) { int numberOfReports = 0; ExceptionMessage exception = new ExceptionMessage(); for (String usl : uniqueSchoolList) { try { - List stdList = gradStatusService.getStudentListByMinCode(usl, accessToken); + List stdList = gradStatusService.getStudentListByMinCode(usl); if(logger.isDebugEnabled()) { int totalStudents = ObjectUtils.defaultIfNull(stdList.size(), 0); String listOfStudents = jsonTransformer.marshall(stdList); logger.debug("*** Student List of {} Acquired {}", totalStudents, listOfStudents); } - SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(usl, accessToken, exception); + SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(usl, exception); if (schoolDetails != null) { logger.debug("*** School Details Acquired {}", schoolDetails.getSchoolName()); if (stdList != null && !stdList.isEmpty()) { @@ -273,11 +269,11 @@ public Integer createAndStoreSchoolReports(List uniqueSchoolList, String if (TVRRUN.equalsIgnoreCase(type)) { List nonGradPrjStudents = processStudentList(filterStudentList(stdList, NONGRADPRJ), type); logger.debug("*** Process processStudentNonGradPrjReport {} for {} students", schoolObj.getMincode(), nonGradPrjStudents.size()); - numberOfReports = processStudentNonGradPrjReport(schoolObj, nonGradPrjStudents, usl, accessToken, numberOfReports); + numberOfReports = processStudentNonGradPrjReport(schoolObj, nonGradPrjStudents, usl, numberOfReports); } else { List gradRegStudents = processStudentList(filterStudentList(stdList, GRADREG), type); logger.debug("*** Process processGradRegReport {} for {} students", schoolObj.getMincode(), gradRegStudents.size()); - numberOfReports = processGradRegReport(schoolObj, gradRegStudents, usl, accessToken, numberOfReports); + numberOfReports = processGradRegReport(schoolObj, gradRegStudents, usl, numberOfReports); List nonGradRegStudents = processStudentList(filterStudentList(stdList, NONGRADREG), type); logger.debug("*** Process processNonGradRegReport {} for {} students", schoolObj.getMincode(), nonGradRegStudents.size()); numberOfReports = processNonGradRegReport(schoolObj, nonGradRegStudents, usl, numberOfReports); @@ -306,11 +302,11 @@ private List filterStudentList(List stdList, String mincode, String accessToken, int numberOfReports) { + private int processGradRegReport(School schoolObj, List stdList, String mincode, int numberOfReports) { Integer studentsCount = countStudentsForAmalgamatedSchoolReport(schoolObj.getMincode()); if(studentsCount > 0) { ReportData gradReport = getReportDataObj(schoolObj, stdList); - createAndSaveSchoolReportGradRegReport(gradReport, mincode, accessToken); + createAndSaveSchoolReportGradRegReport(gradReport, mincode); numberOfReports++; } return numberOfReports; @@ -326,11 +322,11 @@ private int processNonGradRegReport(School schoolObj, List stdList, Str return numberOfReports; } - private int processStudentNonGradPrjReport(School schoolObj, List stdList, String mincode, String accessToken, int numberOfReports) { + private int processStudentNonGradPrjReport(School schoolObj, List stdList, String mincode, int numberOfReports) { Integer studentsCount = countStudentsForAmalgamatedSchoolReport(schoolObj.getMincode()); if(studentsCount > 0) { ReportData nongradProjected = getReportDataObj(schoolObj, stdList); - createAndSaveSchoolReportStudentNonGradPrjReport(nongradProjected, mincode, accessToken); + createAndSaveSchoolReportStudentNonGradPrjReport(nongradProjected, mincode); numberOfReports++; } return numberOfReports; @@ -420,7 +416,7 @@ private List getNonGradReasons(String gradProgramCode, List saveAndLogOptionalPrograms(GraduationData graduationDataStatus, String studentID, String accessToken, List optionalProgram) { + public List saveAndLogOptionalPrograms(GraduationData graduationDataStatus, String studentID, List optionalProgram) { List projectedOptionalGradResponse = new ArrayList<>(); //Run Optional Program Algorithm for(int i=0; i { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(StudentOptionalProgram.class).block(); + StudentOptionalProgram gradOptionalProgram = restService.get(String.format(educGraduationApiConstants.getGetOptionalProgramDetails(),studentID,optionalPrograms.getOptionalProgramID()), StudentOptionalProgram.class); if(gradOptionalProgram != null) { if(optionalPrograms.isOptionalGraduated()) { gradOptionalProgram.setGraduated(true); @@ -55,11 +48,7 @@ public List saveAndLogOptionalPrograms(GraduationData gr optionalProgramCode.setCode(gradOptionalProgram.getOptionalProgramCode()); optionalProgramCode.setName(gradOptionalProgram.getOptionalProgramName()); //Save Optional Grad Status - webClient.post().uri(educGraduationApiConstants.getSaveOptionalProgramGradStatus()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(gradOptionalProgram)).retrieve().bodyToMono(StudentOptionalProgram.class).block(); + restService.post(educGraduationApiConstants.getSaveOptionalProgramGradStatus(), gradOptionalProgram, StudentOptionalProgram.class); } optionalProgram.add(optionalProgramCode); projectedOptionalGradResponse.add(gradOptionalProgram); @@ -67,16 +56,12 @@ public List saveAndLogOptionalPrograms(GraduationData gr return projectedOptionalGradResponse; } - public List projectedOptionalPrograms(GraduationData graduationDataStatus, String studentID, String accessToken) { + public List projectedOptionalPrograms(GraduationData graduationDataStatus, String studentID) { List projectedOptionalGradResponse = new ArrayList<>(); for(int i=0; i { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(StudentOptionalProgram.class).block(); + StudentOptionalProgram gradOptionalProgram = restService.get(String.format(educGraduationApiConstants.getGetOptionalProgramDetails(),studentID,optionalPrograms.getOptionalProgramID()), StudentOptionalProgram.class); if(gradOptionalProgram != null) { if(optionalPrograms.isOptionalGraduated() && gradOptionalProgram.getOptionalProgramCode().compareTo("DD") == 0) { graduationDataStatus.setDualDogwood(true); @@ -95,12 +80,9 @@ public List projectedOptionalPrograms(GraduationData gra return projectedOptionalGradResponse; } - public List getStudentOptionalPrograms(UUID studentID, String accessToken) { - return webClient.get().uri(String.format(educGraduationApiConstants.getStudentOptionalPrograms(), studentID)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + public List getStudentOptionalPrograms(UUID studentID) { + var response = restService.get(String.format(educGraduationApiConstants.getStudentOptionalPrograms(), studentID), List.class); + return jsonTransformer.convertValue(response, new TypeReference<>() { + }); } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 1c7bebf7..93a481d2 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -10,17 +10,14 @@ import ca.bc.gov.educ.api.graduation.model.report.School; import ca.bc.gov.educ.api.graduation.model.report.*; import ca.bc.gov.educ.api.graduation.util.*; +import com.fasterxml.jackson.core.type.TypeReference; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpStatus; -import org.springframework.http.HttpStatusCode; import org.springframework.stereotype.Service; -import org.springframework.web.reactive.function.BodyInserters; -import org.springframework.web.reactive.function.client.WebClient; import java.nio.charset.StandardCharsets; import java.text.DecimalFormat; @@ -37,11 +34,7 @@ public class ReportService { private static final String GRAD_REPORT_API_DOWN = "GRAD-REPORT-API IS DOWN"; private static final String GRAD_GRADUATION_REPORT_API_DOWN = "GRAD-GRADUATION-REPORT-API IS DOWN"; private static final String DOCUMENT_STATUS_COMPLETED = "COMPL"; - private static final String NO_CONTENT = "NO_CONTENT"; - private static final String INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR"; - - WebClient webClient; JsonTransformer jsonTransformer; EducGraduationApiConstants educGraduationApiConstants; SchoolService schoolService; @@ -49,8 +42,7 @@ public class ReportService { RESTService restService; @Autowired - public ReportService(WebClient webClient, JsonTransformer jsonTransformer, EducGraduationApiConstants educGraduationApiConstants, SchoolService schoolService, OptionalProgramService optionalProgramService, RESTService restService) { - this.webClient = webClient; + public ReportService(JsonTransformer jsonTransformer, EducGraduationApiConstants educGraduationApiConstants, SchoolService schoolService, OptionalProgramService optionalProgramService, RESTService restService) { this.jsonTransformer = jsonTransformer; this.educGraduationApiConstants = educGraduationApiConstants; this.schoolService = schoolService; @@ -58,16 +50,12 @@ public ReportService(WebClient webClient, JsonTransformer jsonTransformer, EducG this.restService = restService; } - public ProgramCertificateTranscript getTranscript(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken, ExceptionMessage exception) { + public ProgramCertificateTranscript getTranscript(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ExceptionMessage exception) { ProgramCertificateReq req = new ProgramCertificateReq(); req.setProgramCode(gradResponse.getProgram()); req.setSchoolCategoryCode(getSchoolCategoryCode(graduationDataStatus.getGradStatus().getSchoolOfRecord())); try { - return webClient.post().uri(educGraduationApiConstants.getTranscript()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(req)).retrieve().bodyToMono(ProgramCertificateTranscript.class).block(); + return restService.post(educGraduationApiConstants.getTranscript(), req, ProgramCertificateTranscript.class); } catch (Exception e) { exception.setExceptionName(GRAD_GRADUATION_REPORT_API_DOWN); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -75,7 +63,7 @@ public ProgramCertificateTranscript getTranscript(GraduationStudentRecord gradRe } } - public List getCertificateList(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List projectedOptionalGradResponse, String accessToken, ExceptionMessage exception) { + public List getCertificateList(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List projectedOptionalGradResponse, ExceptionMessage exception) { ProgramCertificateReq req = new ProgramCertificateReq(); req.setProgramCode(gradResponse.getProgram()); for (StudentOptionalProgram optionalPrograms : projectedOptionalGradResponse) { @@ -85,12 +73,8 @@ public List getCertificateList(GraduationStudentRe } req.setSchoolCategoryCode(getSchoolCategoryCode(graduationDataStatus.getGradStatus().getSchoolOfRecord())); try { - return webClient.post().uri(educGraduationApiConstants.getCertList()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(req)).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + var response = restService.post(educGraduationApiConstants.getCertList(), req, List.class); + return jsonTransformer.convertValue(response, new TypeReference>() {}); } catch (Exception e) { exception.setExceptionName(GRAD_GRADUATION_REPORT_API_DOWN); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -105,57 +89,37 @@ public String getSchoolCategoryCode(String mincode) { } public List getStudentsForSchoolYearEndReport(String accessToken) { - return webClient.get().uri(educGraduationApiConstants.getSchoolYearEndStudents()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); - } - - public List getStudentsForSchoolYearEndReport(String accessToken, List schools) { - return webClient.post().uri(educGraduationApiConstants.getSchoolYearEndStudents()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(schools)).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); - } - - public List getStudentsForSchoolNonGradYearEndReport(String accessToken) { - List result = webClient.get().uri(educGraduationApiConstants.getStudentNonGradReportData()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + var response = restService.get(educGraduationApiConstants.getSchoolYearEndStudents(), List.class, accessToken); + return jsonTransformer.convertValue(response, new TypeReference>(){}); + } + + public List getStudentsForSchoolYearEndReport(List schools) { + var response = restService.post(educGraduationApiConstants.getSchoolYearEndStudents(), schools, List.class); + return jsonTransformer.convertValue(response, new TypeReference>(){}); + } + + public List getStudentsForSchoolNonGradYearEndReport() { + var response = restService.get(educGraduationApiConstants.getStudentNonGradReportData(), List.class); + List result = jsonTransformer.convertValue(response, new TypeReference>(){}); filterCredentialsNonGradYearEndReport(result); return result; } - public List getStudentsForSchoolNonGradYearEndReport(String mincode, String accessToken) { - List result = webClient.get().uri(String.format(educGraduationApiConstants.getStudentNonGradReportDataMincode(), mincode)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + public List getStudentsForSchoolNonGradYearEndReport(String mincode) { + var response = restService.get(String.format(educGraduationApiConstants.getStudentNonGradReportDataMincode(), mincode), List.class); + List result = jsonTransformer.convertValue(response, new TypeReference>(){}); filterCredentialsNonGradYearEndReport(result); return result; } - public List getStudentsForSchoolReport(String accessToken) { - return webClient.get().uri(educGraduationApiConstants.getSchoolStudents()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + public List getStudentsForSchoolReport() { + var response = restService.get(educGraduationApiConstants.getSchoolStudents(), List.class); + return jsonTransformer.convertValue(response, new TypeReference>(){}); } - public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord gradResponse, boolean xml, String accessToken, ExceptionMessage exception) { + public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord gradResponse, boolean xml, ExceptionMessage exception) { try { - School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, accessToken, exception); + School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, exception); School schoolOfRecord = getSchoolData(graduationDataStatus.getSchool()); //--> Revert code back to school of record GRAD2-2758 /** @@ -164,10 +128,10 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. String mincode = schoolAtGrad.getMincode(); traxSchool = schoolService.getTraxSchoolDetails(mincode, accessToken, exception); } **/ - SchoolTrax traxSchool = schoolService.getTraxSchoolDetails(schoolOfRecord.getMincode(), accessToken, exception); + SchoolTrax traxSchool = schoolService.getTraxSchoolDetails(schoolOfRecord.getMincode(), exception); //<-- GraduationStatus graduationStatus = getGraduationStatus(graduationDataStatus, schoolAtGrad, schoolOfRecord); - GraduationData graduationData = getGraduationData(graduationDataStatus, gradResponse, accessToken); + GraduationData graduationData = getGraduationData(graduationDataStatus, gradResponse); graduationStatus.setProgramCompletionDate(EducGraduationApiUtils.getSimpleDateFormat(graduationData.getGraduationDate())); graduationStatus.setSchoolOfRecord(gradResponse.getSchoolOfRecord()); //Grad2-2182 ReportData data = new ReportData(); @@ -175,11 +139,11 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. data.setStudent(getStudentData(graduationDataStatus.getGradStudent(), gradResponse)); //Grad2-2182 data.setGradMessage(graduationStatus.getGraduationMessage()); data.setGraduationStatus(graduationStatus); - data.setGradProgram(getGradProgram(graduationDataStatus, accessToken)); + data.setGradProgram(getGradProgram(graduationDataStatus)); data.setGraduationData(graduationData); data.setLogo(StringUtils.startsWith(data.getSchool().getMincode(), "098") ? "YU" : "BC"); - data.setTranscript(getTranscriptData(graduationDataStatus, gradResponse, xml, accessToken, exception)); - data.setNonGradReasons(isGraduated(gradResponse.getProgramCompletionDate(), graduationDataStatus.getGradStatus().getProgram()) ? new ArrayList<>() : getNonGradReasons(data.getGradProgram().getCode().getCode(), graduationDataStatus.getNonGradReasons(), xml, accessToken, true)); + data.setTranscript(getTranscriptData(graduationDataStatus, gradResponse, xml, exception)); + data.setNonGradReasons(isGraduated(gradResponse.getProgramCompletionDate(), graduationDataStatus.getGradStatus().getProgram()) ? new ArrayList<>() : getNonGradReasons(data.getGradProgram().getCode().getCode(), graduationDataStatus.getNonGradReasons(), xml, true)); data.setIssueDate(EducGraduationApiUtils.formatIssueDateForReportJasper(new java.sql.Date(System.currentTimeMillis()).toString())); if(traxSchool != null && !"N".equalsIgnoreCase(traxSchool.getCertificateEligibility())) { if ("SCCP".equalsIgnoreCase(data.getGradProgram().getCode().getCode())) { @@ -205,7 +169,7 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. return errorData; } - public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, boolean xml, String accessToken, ExceptionMessage exception) { + public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, boolean xml, ExceptionMessage exception) { try { String studentID = graduationDataStatus.getGradStudent().getStudentID(); if (studentID == null) { @@ -214,8 +178,8 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. "Student ID can't be NULL"); } - GraduationStudentRecord graduationStudentRecord = getGradStatusFromGradStudentApi(studentID, accessToken); - return prepareTranscriptData(graduationDataStatus, graduationStudentRecord, xml, accessToken, exception); + GraduationStudentRecord graduationStudentRecord = getGradStatusFromGradStudentApi(studentID); + return prepareTranscriptData(graduationDataStatus, graduationStudentRecord, xml, exception); } catch (Exception e) { exception.setExceptionName("PREPARE REPORT DATA FROM GRADUATION STATUS"); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -225,11 +189,11 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. return errorData; } - public ReportData prepareTranscriptData(String pen, boolean xml, String accessToken, ExceptionMessage exception) { + public ReportData prepareTranscriptData(String pen, boolean xml, ExceptionMessage exception) { try { - GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen, accessToken); + GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen); ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationData = (ca.bc.gov.educ.api.graduation.model.dto.GraduationData) jsonTransformer.unmarshall(graduationStudentRecord.getStudentGradData(), ca.bc.gov.educ.api.graduation.model.dto.GraduationData.class); - return prepareTranscriptData(graduationData, graduationStudentRecord, xml, accessToken, exception); + return prepareTranscriptData(graduationData, graduationStudentRecord, xml, exception); } catch (Exception e) { exception.setExceptionName("PREPARE TRANSCRIPT REPORT DATA FROM PEN"); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -240,13 +204,9 @@ public ReportData prepareTranscriptData(String pen, boolean xml, String accessTo } @Generated - private GradSearchStudent getStudentByPenFromStudentApi(String pen, String accessToken) { - List stuDataList = webClient.get().uri(String.format(educGraduationApiConstants.getPenStudentApiByPenUrl(), pen)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(new ParameterizedTypeReference>() { - }).block(); + private GradSearchStudent getStudentByPenFromStudentApi(String pen) { + var response = restService.get(String.format(educGraduationApiConstants.getPenStudentApiByPenUrl(), pen), List.class); + List stuDataList = jsonTransformer.convertValue(response, new TypeReference>(){}); if (stuDataList != null && !stuDataList.isEmpty()) { return stuDataList.get(0); } @@ -255,12 +215,8 @@ private GradSearchStudent getStudentByPenFromStudentApi(String pen, String acces } @Generated - private GraduationStudentRecord getGradStatusFromGradStudentApi(String studentID, String accessToken) { - GraduationStudentRecord graduationStudentRecord = webClient.get().uri(String.format(educGraduationApiConstants.getReadGradStudentRecord(), studentID)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationStudentRecord.class).block(); + private GraduationStudentRecord getGradStatusFromGradStudentApi(String studentID) { + GraduationStudentRecord graduationStudentRecord = restService.get(String.format(educGraduationApiConstants.getReadGradStudentRecord(), studentID), GraduationStudentRecord.class); if (graduationStudentRecord != null) { return graduationStudentRecord; } @@ -269,14 +225,12 @@ private GraduationStudentRecord getGradStatusFromGradStudentApi(String studentID } @Generated - private List getNonGradReasons(String gradProgramCode, List nonGradReasons, boolean xml, String accessToken, boolean applyFilters) { + private List getNonGradReasons(String gradProgramCode, List nonGradReasons, boolean xml, boolean applyFilters) { List nList = new ArrayList<>(); if (nonGradReasons != null) { Map traxReqCodes = new HashMap<>(); - if (xml && StringUtils.isNotBlank(accessToken)) { - List programReqCodes = getAllProgramRequirementCodeList(accessToken); - populateTraxReqCodesMap(programReqCodes, traxReqCodes); - } + List programReqCodes = getAllProgramRequirementCodeList(); + populateTraxReqCodesMap(programReqCodes, traxReqCodes); nonGradReasons.removeIf(a -> applyFilters && "505".equalsIgnoreCase(a.getTranscriptRule()) && (StringUtils.isNotBlank(gradProgramCode) && gradProgramCode.contains("1950"))); nonGradReasons.removeIf(a -> ("506".equalsIgnoreCase(a.getTranscriptRule()) || "506".equalsIgnoreCase(a.getRule())) && (StringUtils.isNotBlank(gradProgramCode) && gradProgramCode.contains("1950"))); for (ca.bc.gov.educ.api.graduation.model.dto.GradRequirement gR : nonGradReasons) { @@ -298,17 +252,17 @@ private void populateTraxReqCodesMap(List programReqCode } @Generated - private Transcript getTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord gradResponse, boolean xml, String accessToken, ExceptionMessage exception) { + private Transcript getTranscriptData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord gradResponse, boolean xml, ExceptionMessage exception) { Transcript transcriptData = new Transcript(); transcriptData.setInterim(xml ? "true" : "false"); - ProgramCertificateTranscript pcObj = getTranscript(gradResponse, graduationDataStatus, accessToken, exception); + ProgramCertificateTranscript pcObj = getTranscript(gradResponse, graduationDataStatus, exception); if (pcObj != null) { Code code = new Code(); code.setCode(pcObj.getTranscriptTypeCode()); transcriptData.setTranscriptTypeCode(code); } transcriptData.setIssueDate(LocalDate.now()); - transcriptData.setResults(getTranscriptResults(graduationDataStatus, xml, accessToken)); + transcriptData.setResults(getTranscriptResults(graduationDataStatus, xml)); return transcriptData; } @@ -472,7 +426,7 @@ private String getSchoolPercent(Double bestSchoolPercent, String program, String } @Generated - private void createAssessmentListForTranscript(List studentAssessmentList, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List tList, boolean xml, String accessToken) { + private void createAssessmentListForTranscript(List studentAssessmentList, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List tList, boolean xml) { Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("PST"), Locale.CANADA); String today = EducGraduationApiUtils.formatDate(cal.getTime(), EducGraduationApiConstants.DEFAULT_DATE_FORMAT); List processList = removeDuplicatedAssessmentsForTranscript(studentAssessmentList, xml); @@ -524,7 +478,7 @@ private void createAssessmentListForTranscript(List studentAs mrk.setInterimLetterGrade(""); mrk.setInterimPercent(""); mrk.setSchoolPercent(""); - mrk.setFinalPercent(getAssessmentFinalPercentTranscript(sc, accessToken)); + mrk.setFinalPercent(getAssessmentFinalPercentTranscript(sc)); result.setMark(mrk); result.setRequirement(sc.getGradReqMet()); result.setRequirementName(sc.getGradReqMetDetail()); @@ -548,7 +502,7 @@ public List removeDuplicatedAssessmentsForTranscript(List getTranscriptResults(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, boolean xml, String accessToken) { + private List getTranscriptResults(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, boolean xml) { List tList = new ArrayList<>(); String program = graduationDataStatus.getGradStatus().getProgram(); List studentCourseList = graduationDataStatus.getStudentCourses().getStudentCourseList(); @@ -578,7 +532,7 @@ private List getTranscriptResults(ca.bc.gov.educ.api.graduatio studentAssessmentList.sort(Comparator.comparing(StudentAssessment::getAssessmentCode)); } - createAssessmentListForTranscript(studentAssessmentList, graduationDataStatus, tList, xml, accessToken); + createAssessmentListForTranscript(studentAssessmentList, graduationDataStatus, tList, xml); return tList; } @@ -611,10 +565,10 @@ private String getFinalPercent(String finalCompletedPercentage, String sDate, St } } - private String getAssessmentFinalPercentAchievement(StudentAssessment sA, String accessToken) { + private String getAssessmentFinalPercentAchievement(StudentAssessment sA) { String finalPercent = getValue(sA.getProficiencyScore()); if (sA.getSpecialCase() != null && StringUtils.isNotBlank(sA.getSpecialCase().trim())) { - finalPercent = getSpecialCase(sA, accessToken); + finalPercent = getSpecialCase(sA); } if (sA.getExceededWriteFlag() != null && StringUtils.isNotBlank(sA.getExceededWriteFlag().trim()) && sA.getExceededWriteFlag().compareTo("Y") == 0) { @@ -624,13 +578,9 @@ private String getAssessmentFinalPercentAchievement(StudentAssessment sA, String } @Generated - private String getSpecialCase(StudentAssessment sA, String accessToken) { + private String getSpecialCase(StudentAssessment sA) { String finalPercent; - SpecialCase spC = webClient.get().uri(String.format(educGraduationApiConstants.getSpecialCase(), sA.getSpecialCase())) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(SpecialCase.class).block(); + SpecialCase spC = restService.get(String.format(educGraduationApiConstants.getSpecialCase(), sA.getSpecialCase()), SpecialCase.class); finalPercent = spC != null ? spC.getLabel() : ""; if(sA.getExceededWriteFlag() != null && StringUtils.isNotBlank(sA.getExceededWriteFlag().trim()) && sA.getExceededWriteFlag().compareTo("Y")==0) { @@ -640,13 +590,13 @@ private String getSpecialCase(StudentAssessment sA, String accessToken) { } @Generated - private String getAssessmentFinalPercentTranscript(StudentAssessment sA, String accessToken) { + private String getAssessmentFinalPercentTranscript(StudentAssessment sA) { String finalPercent = getValue(sA.getProficiencyScore()); if ((sA.getAssessmentCode().equalsIgnoreCase("LTE10") || sA.getAssessmentCode().equalsIgnoreCase("LTP10")) && (sA.getSpecialCase() == null || StringUtils.isBlank(sA.getSpecialCase().trim())) && StringUtils.isNotBlank(finalPercent)) { finalPercent = "RM"; } if (sA.getSpecialCase() != null && StringUtils.isNotBlank(sA.getSpecialCase().trim()) && !sA.getSpecialCase().equalsIgnoreCase("X") && !sA.getSpecialCase().equalsIgnoreCase("Q")) { - finalPercent = getSpecialCase(sA, accessToken); + finalPercent = getSpecialCase(sA); } return finalPercent; } @@ -668,7 +618,7 @@ private String getValue(Double value) { @Generated private ca.bc.gov.educ.api.graduation.model.report.GraduationData getGraduationData( - ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord graduationStudentRecord, String accessToken) { + ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, GraduationStudentRecord graduationStudentRecord) { GraduationData data = new GraduationData(); data.setDogwoodFlag(graduationDataStatus.isDualDogwood()); if (graduationDataStatus.isGraduated()) { @@ -685,7 +635,7 @@ private ca.bc.gov.educ.api.graduation.model.report.GraduationData getGraduationD data.setGraduationDate(EducGraduationApiUtils.formatIssueDateForReportJasperLocalDate(EducGraduationApiUtils.parsingNFormating(graduationDataStatus.getGradStatus().getProgramCompletionDate()))); } } - List optionalPrograms = optionalProgramService.getStudentOptionalPrograms(graduationStudentRecord.getStudentID(), accessToken); + List optionalPrograms = optionalProgramService.getStudentOptionalPrograms(graduationStudentRecord.getStudentID()); if(optionalPrograms != null) { for (StudentOptionalProgram op : optionalPrograms) { switch(op.getOptionalProgramCode()) { @@ -719,15 +669,11 @@ private void setGraduationDataSpecialPrograms(GraduationData data, GraduationStu } } - private GradProgram getGradProgram(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken) { + private GradProgram getGradProgram(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus) { GradProgram gPgm = new GradProgram(); Code code = new Code(); if (graduationDataStatus.getGradStatus().getProgram() != null) { - GraduationProgramCode gradProgram = webClient.get().uri(String.format(educGraduationApiConstants.getProgramNameEndpoint(), graduationDataStatus.getGradStatus().getProgram())) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).retrieve().bodyToMono(GraduationProgramCode.class).block(); + GraduationProgramCode gradProgram = restService.get(String.format(educGraduationApiConstants.getProgramNameEndpoint(), graduationDataStatus.getGradStatus().getProgram()), GraduationProgramCode.class); if (gradProgram != null) { code.setDescription(gradProgram.getProgramName()); code.setName(gradProgram.getProgramName()); @@ -739,13 +685,15 @@ private GradProgram getGradProgram(ca.bc.gov.educ.api.graduation.model.dto.Gradu return gPgm; } - private List getAllProgramRequirementCodeList(String accessToken) { - final ParameterizedTypeReference> responseType = new ParameterizedTypeReference<>() { - }; - return this.webClient.get() - .uri(educGraduationApiConstants.getProgramRequirementsEndpoint()) - .headers(h -> h.setBearerAuth(accessToken)) - .retrieve().bodyToMono(responseType).block(); + private List getAllProgramRequirementCodeList() { +// final ParameterizedTypeReference> responseType = new ParameterizedTypeReference<>() { +// }; +// return this.webClient.get() +// .uri(educGraduationApiConstants.getProgramRequirementsEndpoint()) +// .headers(h -> h.setBearerAuth(accessToken)) +// .retrieve().bodyToMono(responseType).block(); + var response = this.restService.get(educGraduationApiConstants.getProgramRequirementsEndpoint(), List.class); + return jsonTransformer.convertValue(response, new TypeReference>(){}); } private Student getStudentData(GradSearchStudent gradStudent, GraduationStudentRecord gradResponse) { @@ -767,9 +715,9 @@ private Student getStudentData(GradSearchStudent gradStudent, GraduationStudentR return std; } - private School getSchoolAtGradData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken, ExceptionMessage exception) { + private School getSchoolAtGradData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ExceptionMessage exception) { if (graduationDataStatus.getGradStatus() != null && !StringUtils.isBlank(graduationDataStatus.getGradStatus().getSchoolAtGrad())) { - SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(graduationDataStatus.getGradStatus().getSchoolAtGrad(), accessToken, exception); + SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(graduationDataStatus.getGradStatus().getSchoolAtGrad(), exception); if (schoolDetails != null) { return getSchoolData(schoolDetails); } @@ -864,7 +812,7 @@ private Student getStudentDataAchvReport(GradSearchStudent studentObj, List sCList = graduationDataStatus.getStudentCourses().getStudentCourseList(); List studentExamList = sCList .stream() @@ -880,7 +828,7 @@ private void getStudentCoursesAssessmentsNExams(ReportData data, ca.bc.gov.educ. data.setStudentCourses(processStudentCourses(sCourseList, studentCourseList)); Assessment achv = new Assessment(); achv.setIssueDate(LocalDate.now()); - achv.setResults(getAssessmentResults(studentAssessmentList, graduationDataStatus.getGradProgram(), accessToken)); + achv.setResults(getAssessmentResults(studentAssessmentList, graduationDataStatus.getGradProgram())); data.setAssessment(achv); data.setStudentExams(processStudentExams(sExamList, studentExamList)); } @@ -947,7 +895,7 @@ private List processStudentCourses(List sC return sCourseList; } - private List getAssessmentResults(List studentAssessmentList, GraduationProgramCode graduationProgramCode, String accessToken) { + private List getAssessmentResults(List studentAssessmentList, GraduationProgramCode graduationProgramCode) { List tList = new ArrayList<>(); for (StudentAssessment sA : studentAssessmentList) { AssessmentResult result = new AssessmentResult(); @@ -955,7 +903,7 @@ private List getAssessmentResults(List stud result.setAssessmentName(sA.getAssessmentName()); result.setGradReqMet(sA.getGradReqMet()); result.setSessionDate(sA.getSessionDate() != null ? sA.getSessionDate() : ""); - result.setProficiencyScore(getAssessmentFinalPercentAchievement(sA, accessToken)); + result.setProficiencyScore(getAssessmentFinalPercentAchievement(sA)); result.setSpecialCase(sA.getSpecialCase()); result.setExceededWriteFlag(sA.getExceededWriteFlag()); result.setProjected(sA.isProjected()); @@ -969,9 +917,9 @@ private List getAssessmentResults(List stud return tList; } - public void saveStudentTranscriptReportJasper(ReportData sample, String accessToken, UUID studentID, ExceptionMessage exception, boolean isGraduated, boolean overwrite) { + public void saveStudentTranscriptReportJasper(ReportData sample, UUID studentID, ExceptionMessage exception, boolean isGraduated, boolean overwrite) { - String encodedPdfReportTranscript = generateStudentTranscriptReportJasper(sample, accessToken, exception); + String encodedPdfReportTranscript = generateStudentTranscriptReportJasper(sample, exception); if(StringUtils.isNotBlank(encodedPdfReportTranscript)) { GradStudentTranscripts requestObj = new GradStudentTranscripts(); requestObj.setTranscript(encodedPdfReportTranscript); @@ -983,11 +931,7 @@ public void saveStudentTranscriptReportJasper(ReportData sample, String accessTo requestObj.setDocumentStatusCode(DOCUMENT_STATUS_COMPLETED); try { - webClient.post().uri(String.format(educGraduationApiConstants.getUpdateGradStudentTranscript(), isGraduated)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(requestObj)).retrieve().bodyToMono(GradStudentReports.class).block(); + restService.post(String.format(educGraduationApiConstants.getUpdateGradStudentTranscript(), isGraduated), requestObj, GradStudentReports.class); } catch (Exception e) { if (exception.getExceptionName() == null) { exception.setExceptionName(GRAD_GRADUATION_REPORT_API_DOWN); @@ -998,8 +942,7 @@ public void saveStudentTranscriptReportJasper(ReportData sample, String accessTo } @Generated - private String generateStudentTranscriptReportJasper(ReportData sample, - String accessToken, ExceptionMessage exception) { + private String generateStudentTranscriptReportJasper(ReportData sample, ExceptionMessage exception) { ReportOptions options = new ReportOptions(); options.setReportFile("transcript"); options.setReportName("Transcript Report.pdf"); @@ -1007,20 +950,21 @@ private String generateStudentTranscriptReportJasper(ReportData sample, reportParams.setOptions(options); reportParams.setData(sample); try { - byte[] bytes = webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - } - ).body(BodyInserters.fromValue(reportParams)) - .retrieve() - .onStatus(HttpStatusCode::is5xxServerError, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) - .onStatus( - HttpStatus.NO_CONTENT::equals, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) - ) - .bodyToMono(byte[].class).block(); +// byte[] bytes = webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) +// .headers(h -> { +// h.setBearerAuth(accessToken); +// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); +// } +// ).body(BodyInserters.fromValue(reportParams)) +// .retrieve() +// .onStatus(HttpStatusCode::is5xxServerError, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) +// .onStatus( +// HttpStatus.NO_CONTENT::equals, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) +// ) +// .bodyToMono(byte[].class).block(); + byte[] bytes = restService.post(educGraduationApiConstants.getTranscriptReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytes); } catch (ServiceException ex) { exception.setExceptionName(GRAD_REPORT_API_DOWN); @@ -1039,11 +983,11 @@ private String getEncodedStringFromBytes(byte[] bytes) { return new String(encoded, StandardCharsets.US_ASCII); } - public ReportData prepareCertificateData(String pen, String accessToken, ExceptionMessage exception) { + public ReportData prepareCertificateData(String pen, ExceptionMessage exception) { try { - GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen, accessToken); + GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen); ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationData = (ca.bc.gov.educ.api.graduation.model.dto.GraduationData) jsonTransformer.unmarshall(graduationStudentRecord.getStudentGradData(), ca.bc.gov.educ.api.graduation.model.dto.GraduationData.class); - return prepareCertificateData(graduationStudentRecord, graduationData, accessToken); + return prepareCertificateData(graduationStudentRecord, graduationData); } catch (Exception e) { exception.setExceptionName("PREPARE CERTIFICATE REPORT DATA FROM PEN"); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -1053,7 +997,7 @@ public ReportData prepareCertificateData(String pen, String accessToken, Excepti return errorData; } - public ReportData prepareCertificateData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken, ExceptionMessage exception) { + public ReportData prepareCertificateData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ExceptionMessage exception) { try { String studentID = graduationDataStatus.getGradStudent().getStudentID(); if (studentID == null) { @@ -1062,8 +1006,8 @@ public ReportData prepareCertificateData(ca.bc.gov.educ.api.graduation.model.dto "Student ID can't be NULL"); } - GraduationStudentRecord graduationStudentRecord = getGradStatusFromGradStudentApi(studentID, accessToken); - return prepareCertificateData(graduationStudentRecord, graduationDataStatus, accessToken); + GraduationStudentRecord graduationStudentRecord = getGradStatusFromGradStudentApi(studentID); + return prepareCertificateData(graduationStudentRecord, graduationDataStatus); } catch (Exception e) { exception.setExceptionName("PREPARE REPORT DATA FROM GRADUATION STATUS"); exception.setExceptionDetails(e.getCause() == null ? e.getLocalizedMessage() : e.getCause().getLocalizedMessage()); @@ -1074,23 +1018,23 @@ public ReportData prepareCertificateData(ca.bc.gov.educ.api.graduation.model.dto } public ReportData prepareCertificateData(GraduationStudentRecord gradResponse, - ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken) { + ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus) { ExceptionMessage exceptionMessage = new ExceptionMessage(); - ProgramCertificateTranscript certType = getTranscript(gradResponse, graduationDataStatus, accessToken, exceptionMessage); + ProgramCertificateTranscript certType = getTranscript(gradResponse, graduationDataStatus, exceptionMessage); if (StringUtils.trimToNull(exceptionMessage.getExceptionName()) != null) { ReportData errorData = new ReportData(); errorData.getParameters().put(exceptionMessage.getExceptionName(), exceptionMessage.getExceptionDetails()); return errorData; } - return prepareCertificateData(gradResponse, graduationDataStatus, certType, accessToken); + return prepareCertificateData(gradResponse, graduationDataStatus, certType); } public ReportData prepareCertificateData(GraduationStudentRecord gradResponse, - ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ProgramCertificateTranscript certType, String accessToken) { + ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ProgramCertificateTranscript certType) { ReportData data = new ReportData(); - GraduationData graduationData = getGraduationData(graduationDataStatus, gradResponse, accessToken); + GraduationData graduationData = getGraduationData(graduationDataStatus, gradResponse); School certificateSchool; - School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, accessToken, new ExceptionMessage()); + School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, new ExceptionMessage()); if(schoolAtGrad != null) { //schoolAtGrad certificateSchool = schoolAtGrad; @@ -1100,7 +1044,7 @@ public ReportData prepareCertificateData(GraduationStudentRecord gradResponse, } data.setSchool(certificateSchool); data.setStudent(getStudentData(graduationDataStatus.getGradStudent(), gradResponse)); //Grad2-2182 - data.setGradProgram(getGradProgram(graduationDataStatus, accessToken)); + data.setGradProgram(getGradProgram(graduationDataStatus)); data.setGraduationData(graduationData); data.setUpdateDate(EducGraduationApiUtils.formatDateForReportJasper(gradResponse.getUpdateDate().toString())); data.setCertificate(getCertificateData(gradResponse, certType)); @@ -1113,10 +1057,10 @@ public ReportData prepareCertificateData(GraduationStudentRecord gradResponse, return data; } - public void saveStudentCertificateReportJasper(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, String accessToken, + public void saveStudentCertificateReportJasper(GraduationStudentRecord gradResponse, ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, ProgramCertificateTranscript certType, boolean isOverwrite) { - ReportData certData = prepareCertificateData(gradResponse, graduationDataStatus, certType, accessToken); - String encodedPdfReportCertificate = generateStudentCertificateReportJasper(certData, accessToken); + ReportData certData = prepareCertificateData(gradResponse, graduationDataStatus, certType); + String encodedPdfReportCertificate = generateStudentCertificateReportJasper(certData); if(StringUtils.isNotBlank(encodedPdfReportCertificate)) { GradStudentCertificates requestObj = new GradStudentCertificates(); requestObj.setPen(gradResponse.getPen()); @@ -1125,11 +1069,7 @@ public void saveStudentCertificateReportJasper(GraduationStudentRecord gradRespo requestObj.setGradCertificateTypeCode(certType.getCertificateTypeCode()); requestObj.setDocumentStatusCode(DOCUMENT_STATUS_COMPLETED); requestObj.setOverwrite(isOverwrite); - webClient.post().uri(educGraduationApiConstants.getUpdateGradStudentCertificate()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(requestObj)).retrieve().bodyToMono(GradStudentCertificates.class).block(); + restService.post(educGraduationApiConstants.getUpdateGradStudentCertificate(), requestObj, GradStudentCertificates.class); } } @@ -1151,7 +1091,7 @@ private Certificate getCertificateData(GraduationStudentRecord gradResponse, Pro return cert; } - private String generateStudentCertificateReportJasper(ReportData sample, String accessToken) { + private String generateStudentCertificateReportJasper(ReportData sample) { ReportOptions options = new ReportOptions(); options.setReportFile("certificate"); options.setReportName("Certificate.pdf"); @@ -1159,18 +1099,19 @@ private String generateStudentCertificateReportJasper(ReportData sample, String reportParams.setOptions(options); reportParams.setData(sample); try { - byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getCertificateReport()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(reportParams)).retrieve() - .onStatus(HttpStatusCode::is5xxServerError, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) - .onStatus( - HttpStatus.NO_CONTENT::equals, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) - ) - .bodyToMono(byte[].class).block(); +// byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getCertificateReport()) +// .headers(h -> { +// h.setBearerAuth(accessToken); +// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); +// }).body(BodyInserters.fromValue(reportParams)).retrieve() +// .onStatus(HttpStatusCode::is5xxServerError, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) +// .onStatus( +// HttpStatus.NO_CONTENT::equals, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) +// ) +// .bodyToMono(byte[].class).block(); + byte[] bytesSAR = restService.post(educGraduationApiConstants.getCertificateReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytesSAR); } catch (ServiceException ex) { boolean noContent = HttpStatus.NO_CONTENT.value() == ex.getStatusCode(); @@ -1181,7 +1122,7 @@ private String generateStudentCertificateReportJasper(ReportData sample, String } } - private String generateStudentAchievementReportJasper(ReportData data, String accessToken) { + private String generateStudentAchievementReportJasper(ReportData data) { ReportOptions options = new ReportOptions(); options.setReportFile("achievement"); options.setReportName("Student Achievement Report.pdf"); @@ -1189,18 +1130,19 @@ private String generateStudentAchievementReportJasper(ReportData data, String ac reportParams.setOptions(options); reportParams.setData(data); try { - byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getAchievementReport()) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(reportParams)).retrieve() - .onStatus(HttpStatusCode::is5xxServerError, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) - .onStatus( - HttpStatus.NO_CONTENT::equals, - response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) - ) - .bodyToMono(byte[].class).block(); +// byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getAchievementReport()) +// .headers(h -> { +// h.setBearerAuth(accessToken); +// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); +// }).body(BodyInserters.fromValue(reportParams)).retrieve() +// .onStatus(HttpStatusCode::is5xxServerError, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) +// .onStatus( +// HttpStatus.NO_CONTENT::equals, +// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) +// ) +// .bodyToMono(byte[].class).block(); + byte[] bytesSAR = restService.post(educGraduationApiConstants.getAchievementReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytesSAR); } catch (ServiceException ex) { boolean noContent = HttpStatus.NO_CONTENT.value() == ex.getStatusCode(); @@ -1211,18 +1153,18 @@ private String generateStudentAchievementReportJasper(ReportData data, String ac } } - public ReportData prepareAchievementReportData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List optionalProgramList, String accessToken, ExceptionMessage exception) { + public ReportData prepareAchievementReportData(ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationDataStatus, List optionalProgramList, ExceptionMessage exception) { try { - School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, accessToken, exception); + School schoolAtGrad = getSchoolAtGradData(graduationDataStatus, exception); School schoolOfRecord = getSchoolData(graduationDataStatus.getSchool()); ReportData data = new ReportData(); data.setSchool(schoolOfRecord); data.setStudent(getStudentDataAchvReport(graduationDataStatus.getGradStudent(), optionalProgramList)); data.setOrgCode(StringUtils.startsWith(data.getSchool().getMincode(), "098") ? "YU" : "BC"); data.setGraduationStatus(getGraduationStatus(graduationDataStatus, schoolAtGrad, schoolOfRecord)); - data.setGradProgram(getGradProgram(graduationDataStatus, accessToken)); - getStudentCoursesAssessmentsNExams(data, graduationDataStatus, accessToken); - data.setNonGradReasons(isGraduated(graduationDataStatus.getGradStatus().getProgramCompletionDate(), graduationDataStatus.getGradStatus().getProgram()) ? new ArrayList<>() : getNonGradReasons(data.getGradProgram().getCode().getCode(), graduationDataStatus.getNonGradReasons(), false, null, true)); + data.setGradProgram(getGradProgram(graduationDataStatus)); + getStudentCoursesAssessmentsNExams(data, graduationDataStatus); + data.setNonGradReasons(isGraduated(graduationDataStatus.getGradStatus().getProgramCompletionDate(), graduationDataStatus.getGradStatus().getProgram()) ? new ArrayList<>() : getNonGradReasons(data.getGradProgram().getCode().getCode(), graduationDataStatus.getNonGradReasons(), false, true)); data.setOptionalPrograms(getOptionalProgramAchvReport(data.getGradProgram().getCode().getCode(), optionalProgramList)); data.setIssueDate(EducGraduationApiUtils.formatIssueDateForReportJasper(new java.sql.Date(System.currentTimeMillis()).toString())); return data; @@ -1235,10 +1177,10 @@ public ReportData prepareAchievementReportData(ca.bc.gov.educ.api.graduation.mod } } - public Pair getGraduationStudentRecordAndGraduationData(String pen, String accessToken) { + public Pair getGraduationStudentRecordAndGraduationData(String pen) { String graduationDataJson = "{}"; try { - GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen, accessToken); + GraduationStudentRecord graduationStudentRecord = getGraduationStudentRecordByPen(pen); graduationDataJson = graduationStudentRecord.getStudentGradData(); ca.bc.gov.educ.api.graduation.model.dto.GraduationData graduationData = (ca.bc.gov.educ.api.graduation.model.dto.GraduationData) jsonTransformer.unmarshall(graduationDataJson, ca.bc.gov.educ.api.graduation.model.dto.GraduationData.class); return Pair.of(graduationStudentRecord, graduationData); @@ -1248,9 +1190,9 @@ public Pair getOptionalProgramAchvReport(String gradProgramCod GradAlgorithmOptionalStudentProgram existingData = (GradAlgorithmOptionalStudentProgram)jsonTransformer.unmarshall(sPO.getStudentOptionalProgramData(), GradAlgorithmOptionalStudentProgram.class); if (existingData != null && existingData.getOptionalNonGradReasons() != null) { - op.setNonGradReasons(getNonGradReasons(gradProgramCode, existingData.getOptionalNonGradReasons(), false, null, false)); + op.setNonGradReasons(getNonGradReasons(gradProgramCode, existingData.getOptionalNonGradReasons(), false, false)); } op.setHasRequirementMet(" Check with School"); if (existingData != null && existingData.getOptionalRequirementsMet() != null) { @@ -1316,8 +1258,8 @@ private List getRequirementsMetAchvReport(String gradProgramCod return grList; } - public ExceptionMessage saveStudentAchivementReportJasper(String pen, ReportData sample, String accessToken, UUID studentID, ExceptionMessage exception, boolean isGraduated) { - String encodedPdfReportTranscript = generateStudentAchievementReportJasper(sample, accessToken); + public ExceptionMessage saveStudentAchivementReportJasper(String pen, ReportData sample, UUID studentID, ExceptionMessage exception, boolean isGraduated) { + String encodedPdfReportTranscript = generateStudentAchievementReportJasper(sample); if(StringUtils.isNotBlank(encodedPdfReportTranscript)) { GradStudentReports requestObj = new GradStudentReports(); requestObj.setPen(pen); @@ -1327,12 +1269,7 @@ public ExceptionMessage saveStudentAchivementReportJasper(String pen, ReportData requestObj.setDocumentStatusCode("IP"); if (isGraduated) requestObj.setDocumentStatusCode(DOCUMENT_STATUS_COMPLETED); - - webClient.post().uri(String.format(educGraduationApiConstants.getUpdateGradStudentReport(), isGraduated)) - .headers(h -> { - h.setBearerAuth(accessToken); - h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); - }).body(BodyInserters.fromValue(requestObj)).retrieve().bodyToMono(GradStudentReports.class).block(); + restService.post(String.format(educGraduationApiConstants.getUpdateGradStudentReport(), isGraduated), requestObj, GradStudentReports.class); } return exception; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolReportsService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolReportsService.java index 1914cf5f..e4f18436 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolReportsService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolReportsService.java @@ -85,7 +85,7 @@ public byte[] getSchoolDistrictReports(String accessToken, List reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + List reportGradStudentDataList = reportService.getStudentsForSchoolReport(); return getSchoolDistrictReports(accessToken, reportGradStudentDataList, slrt, drt, srt); } @@ -97,7 +97,7 @@ public byte[] getSchoolYearEndReports(String accessToken) { } public byte[] getSchoolReports(String accessToken) { - List reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + List reportGradStudentDataList = reportService.getStudentsForSchoolReport(); List pdfs = new ArrayList<>(); createAndStoreSchoolReports(DISTREP_SC, reportGradStudentDataList, accessToken, pdfs); return mergeDocuments(pdfs); @@ -118,7 +118,7 @@ public byte[] getDistrictYearEndNonGradReports(String accessToken) { } public byte[] getDistrictReports(String accessToken) { - List reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + List reportGradStudentDataList = reportService.getStudentsForSchoolReport(); List pdfs = new ArrayList<>(); createAndStoreDistrictReports(DISTREP_SD, reportGradStudentDataList, accessToken, pdfs); return mergeDocuments(pdfs); @@ -154,7 +154,7 @@ private Integer createAndStoreReports(List reportGradStud @Generated public Integer createAndStoreSchoolDistrictYearEndReports(String accessToken, String slrt, String drt, String srt, List schools) { logger.debug("***** Get Students for School Year End Reports Starts *****"); - List reportGradStudentDataList = reportService.getStudentsForSchoolYearEndReport(accessToken, schools); + List reportGradStudentDataList = reportService.getStudentsForSchoolYearEndReport(schools); logger.debug("***** {} Students Retrieved *****", reportGradStudentDataList.size()); if(schools != null && !schools.isEmpty()) { boolean isDistrictSchool = schools.get(0).length() == 3; @@ -190,7 +190,7 @@ public Integer createAndStoreSchoolDistrictReports(String accessToken, List reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + List reportGradStudentDataList = reportService.getStudentsForSchoolReport(); return createAndStoreSchoolDistrictReports(accessToken, reportGradStudentDataList, slrt, drt, srt); } @@ -201,7 +201,7 @@ public Integer createAndStoreDistrictReports(String reportType, String accessTok } else if(NONGRADDISTREP_SD.equalsIgnoreCase(reportType)) { reportGradStudentDataList = reportService.getStudentsForSchoolNonGradYearEndReport(accessToken); } else{ - reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + reportGradStudentDataList = reportService.getStudentsForSchoolReport(); } return createAndStoreDistrictReports(reportType, reportGradStudentDataList, accessToken, null); } @@ -211,7 +211,7 @@ public Integer createAndStoreSchoolReports(String reportType, String accessToken if(DISTREP_YE_SC.equalsIgnoreCase(reportType)) { reportGradStudentDataList = reportService.getStudentsForSchoolYearEndReport(accessToken); } else { - reportGradStudentDataList = reportService.getStudentsForSchoolReport(accessToken); + reportGradStudentDataList = reportService.getStudentsForSchoolReport(); } return createAndStoreSchoolReports(reportType, reportGradStudentDataList, accessToken, null); } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolService.java index eeb1a6f7..d504bfb3 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/SchoolService.java @@ -21,23 +21,19 @@ public SchoolService(EducGraduationApiConstants educGraduationApiConstants, REST this.tokenUtils = tokenUtils; } - public SchoolTrax getTraxSchoolDetails(String mincode, String accessToken, ExceptionMessage message) { - return this.restService.get(String.format(educGraduationApiConstants.getSchoolDetails(),mincode, accessToken), + public SchoolTrax getTraxSchoolDetails(String mincode, ExceptionMessage message) { + return this.restService.get(String.format(educGraduationApiConstants.getSchoolDetails(),mincode), SchoolTrax.class); } public SchoolTrax getTraxSchoolDetails(String mincode) { - String accessToken = tokenUtils.getAccessToken(); - return this.restService.get(String.format(educGraduationApiConstants.getSchoolDetails(),mincode, accessToken), - SchoolTrax.class, - accessToken); + return this.restService.get(String.format(educGraduationApiConstants.getSchoolDetails(),mincode), + SchoolTrax.class); } public DistrictTrax getTraxDistrictDetails(String districtCode) { - String accessToken = tokenUtils.getAccessToken(); - return this.restService.get(String.format(educGraduationApiConstants.getDistrictDetails(), districtCode, accessToken), - DistrictTrax.class, - accessToken); + return this.restService.get(String.format(educGraduationApiConstants.getDistrictDetails(), districtCode), + DistrictTrax.class); } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/JsonTransformer.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/JsonTransformer.java index 0c13eb8e..cb7f2e44 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/JsonTransformer.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/JsonTransformer.java @@ -9,6 +9,7 @@ import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; @Component public class JsonTransformer implements Transformer { diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java index f33cc8b9..7864095c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java @@ -67,7 +67,7 @@ public void checkAndSetAccessToken(ProcessorData processorData) { LOGGER.debug("=========> Getting the new Access Token after 2 minutes <==========="); ResponseObj responseObj = getTokenResponseObject(); if (responseObj != null) { - processorData.setAccessToken(responseObj.getAccess_token()); +// processorData.setAccessToken(responseObj.getAccess_token()); processorData.setStartTime(currentTime); } } @@ -77,7 +77,7 @@ public void setAccessToken(ProcessorData processorData) { long startTime = System.currentTimeMillis(); ResponseObj responseObj = getTokenResponseObject(); if (responseObj != null) { - processorData.setAccessToken(responseObj.getAccess_token()); +// processorData.setAccessToken(responseObj.getAccess_token()); processorData.setStartTime(startTime); } } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotControllerTest.java index bcdadb89..f0890bac 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/EdwSnapshotControllerTest.java @@ -54,8 +54,8 @@ public void testSnapshotGraduationStatus() { snapshotResponse.setGraduatedDate("202306"); snapshotResponse.setGpa(BigDecimal.valueOf(3.0)); - Mockito.when(edwSnapshotService.processSnapshot(snapshotRequest,"accessToken")).thenReturn(snapshotResponse); - edwSnapshotController.snapshotGraduationStatus(snapshotRequest, "accessToken"); - Mockito.verify(edwSnapshotService).processSnapshot(snapshotRequest,"accessToken"); + Mockito.when(edwSnapshotService.processSnapshot(snapshotRequest)).thenReturn(snapshotResponse); + edwSnapshotController.snapshotGraduationStatus(snapshotRequest); + Mockito.verify(edwSnapshotService).processSnapshot(snapshotRequest); } } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java index 5a1c54a4..bee21e08 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java @@ -76,42 +76,42 @@ void testGraduateStudentNew() { AlgorithmResponse alRes = new AlgorithmResponse(); alRes.setGraduationStudentRecord(gradResponse); alRes.setStudentOptionalProgram(list); - Mockito.when(graduationService.graduateStudent(studentID,null,"accessToken",projectedType)).thenReturn(alRes); - graduationController.graduateStudentNew(studentID,projectedType,null, "accessToken"); - Mockito.verify(graduationService).graduateStudent(studentID,null,"accessToken",projectedType); + Mockito.when(graduationService.graduateStudent(studentID,null,projectedType)).thenReturn(alRes); + graduationController.graduateStudentNew(studentID,projectedType,null); + Mockito.verify(graduationService).graduateStudent(studentID,null,projectedType); } @Test void testReportDataByPen() { ReportData data = new ReportData(); data.setGradProgram(new GradProgram()); - Mockito.when(graduationService.prepareReportData("12312312312","XML","accessToken")).thenReturn(data); - graduationController.reportDataByPen("12312312312","XML","accessToken"); - Mockito.verify(graduationService).prepareReportData("12312312312","XML","accessToken"); + Mockito.when(graduationService.prepareReportData("12312312312","XML")).thenReturn(data); + graduationController.reportDataByPen("12312312312","XML"); + Mockito.verify(graduationService).prepareReportData("12312312312","XML"); } @Test void testReportTranscriptByPen() { byte[] bytesSAR = "Any String you want".getBytes(); - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null,"accessToken")).thenReturn(bytesSAR); - graduationController.reportTranscriptByPen("12312312312","Interim",null,"accessToken"); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null,"accessToken"); + Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null)).thenReturn(bytesSAR); + graduationController.reportTranscriptByPen("12312312312","Interim",null); + Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } @Test void testReportTranscriptByPen_empty() { byte[] bytesSAR = new byte[0]; - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim",null,"accessToken")).thenReturn(bytesSAR); - graduationController.reportTranscriptByPen("12312312312","Interim",null,"accessToken"); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null,"accessToken"); + Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim",null)).thenReturn(bytesSAR); + graduationController.reportTranscriptByPen("12312312312","Interim",null); + Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } @Test void testReportTranscriptByPen_null() { byte[] bytesSAR = null; - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim",null,"accessToken")).thenReturn(bytesSAR); - graduationController.reportTranscriptByPen("12312312312","Interim",null,"accessToken"); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null,"accessToken"); + Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim",null)).thenReturn(bytesSAR); + graduationController.reportTranscriptByPen("12312312312","Interim",null); + Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } @Test @@ -124,16 +124,16 @@ void testReportDataFromGraduation() { ReportData data = new ReportData(); data.setGradProgram(new GradProgram()); - Mockito.when(graduationService.prepareReportData(graduationData,"XML","accessToken")).thenReturn(data); - graduationController.reportDataFromGraduation(graduationData,"XML","accessToken"); - Mockito.verify(graduationService).prepareReportData(graduationData,"XML","accessToken"); + Mockito.when(graduationService.prepareReportData(graduationData,"XML")).thenReturn(data); + graduationController.reportDataFromGraduation(graduationData,"XML"); + Mockito.verify(graduationService).prepareReportData(graduationData,"XML"); } @Test void testCreateAndStoreSchoolReports() { - Mockito.when(graduationService.createAndStoreSchoolReports(List.of("12321312"),"NONGRAD","accessToken")).thenReturn(1); + Mockito.when(graduationService.createAndStoreSchoolReports(List.of("12321312"),"NONGRAD")).thenReturn(1); graduationController.createAndStoreSchoolReports(List.of("12321312"),"accessToken","NONGRAD"); - Mockito.verify(graduationService).createAndStoreSchoolReports(List.of("12321312"),"NONGRAD","accessToken"); + Mockito.verify(graduationService).createAndStoreSchoolReports(List.of("12321312"),"NONGRAD"); } @Test @@ -238,7 +238,7 @@ void testCreateAndStoreDistrictSchoolYearEndNonGradReports() { List reportGradStudentData = new ArrayList<>(); ReportGradStudentData data = new ReportGradStudentData(); reportGradStudentData.add(data); - Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport("accessToken")).thenReturn(reportGradStudentData); + Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport()).thenReturn(reportGradStudentData); Mockito.when(schoolReportsService.createAndStoreSchoolDistrictReports("accessToken", reportGradStudentData, SchoolReportsService.ADDRESS_LABEL_SCHL, null, DISTREP_SC)).thenReturn(1); graduationController.createAndStoreSchoolDistrictYearEndNonGradReports("accessToken", ADDRESS_LABEL_SCHL, null, DISTREP_SC); Mockito.verify(schoolReportsService).createAndStoreSchoolDistrictReports("accessToken", reportGradStudentData, ADDRESS_LABEL_SCHL, null, DISTREP_SC); @@ -250,7 +250,7 @@ void testCreateAndStoreDistrictSchoolYearEndNonGradReportsWithSchools() { ReportGradStudentData data = new ReportGradStudentData(); data.setMincode("1234567"); reportGradStudentData.add(data); - Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport(data.getMincode(),"accessToken")).thenReturn(reportGradStudentData); + Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport(data.getMincode())).thenReturn(reportGradStudentData); Mockito.when(schoolReportsService.createAndStoreSchoolDistrictReports("accessToken", reportGradStudentData, SchoolReportsService.ADDRESS_LABEL_SCHL, null, DISTREP_SC)).thenReturn(1); graduationController.createAndStoreSchoolDistrictYearEndNonGradReports("accessToken", ADDRESS_LABEL_SCHL, null, DISTREP_SC, List.of(data.getMincode())); Mockito.verify(schoolReportsService).createAndStoreSchoolDistrictReports("accessToken", reportGradStudentData, ADDRESS_LABEL_SCHL, null, DISTREP_SC); @@ -261,7 +261,7 @@ void testGetDistrictSchoolYearEndNonGradPdfReports() { List reportGradStudentData = new ArrayList<>(); ReportGradStudentData data = new ReportGradStudentData(); reportGradStudentData.add(data); - Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport("accessToken")).thenReturn(reportGradStudentData); + Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport()).thenReturn(reportGradStudentData); Mockito.when(schoolReportsService.getSchoolDistrictReports("accessToken", reportGradStudentData, ADDRESS_LABEL_SCHL, null, DISTREP_SC)).thenReturn(new byte[0]); graduationController.getSchoolDistrictYearEndNonGradReports("accessToken", ADDRESS_LABEL_SCHL, null, DISTREP_SC); Mockito.verify(schoolReportsService).getSchoolDistrictReports("accessToken", reportGradStudentData, ADDRESS_LABEL_SCHL, null, DISTREP_SC); @@ -343,56 +343,56 @@ void testCreateAndStoreDistrictPdfReports() { @Test void testGetSchoolReports() throws Exception { byte[] bytesSAR1 = readBinaryFile("data/sample.pdf"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","GRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"GRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADPRJ"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADPRJ"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ"); } @Test void testGetSchoolReportsEmpty() throws Exception { byte[] bytesSAR1 = new byte[0]; - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","GRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"GRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken")).thenReturn(bytesSAR1); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADPRJ"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ")).thenReturn(bytesSAR1); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADPRJ"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ"); } @Test void testGetSchoolReportsNull() { - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG","accessToken")).thenReturn(null); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","GRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"GRADREG")).thenReturn(null); + graduationController.getSchoolReports(List.of("12321312"),"GRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"GRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken")).thenReturn(null); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADREG"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADREG")).thenReturn(null); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADREG"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADREG"); - Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken")).thenReturn(null); - graduationController.getSchoolReports(List.of("12321312"),"accessToken","NONGRADPRJ"); - Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ","accessToken"); + Mockito.when(graduationService.getSchoolReports(List.of("12321312"),"NONGRADPRJ")).thenReturn(null); + graduationController.getSchoolReports(List.of("12321312"),"NONGRADPRJ"); + Mockito.verify(graduationService).getSchoolReports(List.of("12321312"),"NONGRADPRJ"); } @Test void testCreateAndStoreStudentCertificate() { - Mockito.when(graduationService.createAndStoreStudentCertificates("123456789", true, "accessToken")).thenReturn(1); - graduationController.createAndStoreStudentCertificate("123456789", "Y", "accessToken"); - Mockito.verify(graduationService).createAndStoreStudentCertificates("123456789", true, "accessToken"); + Mockito.when(graduationService.createAndStoreStudentCertificates("123456789", true)).thenReturn(1); + graduationController.createAndStoreStudentCertificate("123456789", "Y"); + Mockito.verify(graduationService).createAndStoreStudentCertificates("123456789", true); } private byte[] readBinaryFile(String path) throws Exception { diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotServiceTest.java index 4c5b135f..97c27f02 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/EdwSnapshotServiceTest.java @@ -15,7 +15,6 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.reactive.function.client.WebClient; -import java.util.Arrays; import java.util.List; import java.util.UUID; @@ -80,7 +79,7 @@ public void testProcessSnapshotForGradStudent() { snapshotRequest.setGraduatedDate("202306"); snapshotRequest.setSchoolOfRecord("12345678"); - var result = edwSnapshotService.processSnapshot(snapshotRequest, "123"); + var result = edwSnapshotService.processSnapshot(snapshotRequest); assertNotNull(result); assertThat(result.getPen()).isEqualTo(snapshotRequest.getPen()); assertThat(result.getGraduationFlag()).isEqualTo("Y"); @@ -108,12 +107,12 @@ public void testProcessSnapshotForNonGradStudent() { penStudent.setPen(snapshotRequest.getPen()); penStudent.setStudentID(snapshotRequest.getStudentID().toString()); - when(gradStatusService.getGradStatus(eq(snapshotRequest.getStudentID().toString()), eq("123"), any())).thenReturn(gradResponse); - when(gradAlgorithmService.runHypotheticalGraduatedAlgorithm(snapshotRequest.getStudentID(), gradResponse.getProgram(), snapshotRequest.getGradYear().toString(), "123")).thenReturn(graduationData); + when(gradStatusService.getGradStatus(eq(snapshotRequest.getStudentID().toString()), any())).thenReturn(gradResponse); + when(gradAlgorithmService.runHypotheticalGraduatedAlgorithm(snapshotRequest.getStudentID(), gradResponse.getProgram(), snapshotRequest.getGradYear().toString())).thenReturn(graduationData); - when(restService.get(String.format(constants.getPenStudentApiByPenUrl(), snapshotRequest.getPen()), List.class, "123")).thenReturn(List.of(penStudent)); + when(restService.get(String.format(constants.getPenStudentApiByPenUrl(), snapshotRequest.getPen()), List.class)).thenReturn(List.of(penStudent)); - var result = edwSnapshotService.processSnapshot(snapshotRequest, "123"); + var result = edwSnapshotService.processSnapshot(snapshotRequest); assertNotNull(result); assertThat(result.getPen()).isEqualTo(snapshotRequest.getPen()); assertThat(result.getGraduationFlag()).isEqualTo("N"); @@ -149,11 +148,11 @@ public void testProcessSnapshotForHypotheticalGradStudent() { penStudent.setPen(snapshotRequest.getPen()); penStudent.setStudentID(snapshotRequest.getStudentID().toString()); - when(restService.get(String.format(constants.getPenStudentApiByPenUrl(), snapshotRequest.getPen()), List.class, "123")).thenReturn(List.of(penStudent)); - when(gradStatusService.getGradStatus(eq(snapshotRequest.getStudentID().toString()), eq("123"), any())).thenReturn(gradResponse); - when(gradAlgorithmService.runHypotheticalGraduatedAlgorithm(snapshotRequest.getStudentID(), gradResponse.getProgram(), snapshotRequest.getGradYear().toString(), "123")).thenReturn(graduationData); + when(restService.get(String.format(constants.getPenStudentApiByPenUrl(), snapshotRequest.getPen()), List.class)).thenReturn(List.of(penStudent)); + when(gradStatusService.getGradStatus(eq(snapshotRequest.getStudentID().toString()), any())).thenReturn(gradResponse); + when(gradAlgorithmService.runHypotheticalGraduatedAlgorithm(snapshotRequest.getStudentID(), gradResponse.getProgram(), snapshotRequest.getGradYear().toString())).thenReturn(graduationData); - var result = edwSnapshotService.processSnapshot(snapshotRequest, "123"); + var result = edwSnapshotService.processSnapshot(snapshotRequest); assertNotNull(result); assertThat(result.getPen()).isEqualTo(snapshotRequest.getPen()); assertThat(result.getGraduationFlag()).isEqualTo("Y"); diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmServiceTest.java index 48be388b..64cbdc71 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradAlgorithmServiceTest.java @@ -3,20 +3,16 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNotNull; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.openMocks; import java.util.UUID; -import java.util.function.Consumer; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.mock.mockito.MockBean; @@ -25,14 +21,13 @@ import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.reactive.function.client.WebClient; import ca.bc.gov.educ.api.graduation.model.dto.ExceptionMessage; import ca.bc.gov.educ.api.graduation.model.dto.GradAlgorithmGraduationStudentRecord; import ca.bc.gov.educ.api.graduation.model.dto.GraduationData; import ca.bc.gov.educ.api.graduation.util.EducGraduationApiConstants; import ca.bc.gov.educ.api.graduation.util.GradValidation; -import reactor.core.publisher.Mono; +import org.springframework.web.reactive.function.client.WebClient; @RunWith(SpringRunner.class) @@ -49,9 +44,11 @@ public class GradAlgorithmServiceTest { @Autowired private ExceptionMessage exception; - + + @MockBean + RESTService restService; + @MockBean - @Qualifier("graduationClient") WebClient webClient; @TestConfiguration @@ -69,19 +66,6 @@ public ClientRegistration findByRegistrationId(String registrationId) { @Autowired private EducGraduationApiConstants constants; - - @Mock - private WebClient.RequestHeadersSpec requestHeadersMock; - @Mock - private WebClient.RequestHeadersUriSpec requestHeadersUriMock; - @Mock - private WebClient.RequestBodySpec requestBodyMock; - @Mock - private WebClient.RequestBodyUriSpec requestBodyUriMock; - @Mock - private WebClient.ResponseSpec responseMock; - @Mock - private Mono monoResponseGraduationData; @Before public void setUp() { @@ -97,10 +81,9 @@ public void tearDown() { public void testRunGradAlgorithm_whenAPIisDown_throwsException() { UUID studentID = new UUID(1, 1); String programCode="2018-EN"; - String accessToken = "accessToken"; - when(this.webClient.get()).thenThrow(new RuntimeException("Test - API is down")); - GraduationData res = gradAlgorithmService.runGradAlgorithm(studentID, programCode,accessToken,exception); + when(this.restService.get(String.format(constants.getGradAlgorithmEndpoint(),studentID,programCode), GraduationData.class)).thenThrow(new RuntimeException("Test - API is down")); + GraduationData res = gradAlgorithmService.runGradAlgorithm(studentID, programCode,exception); assertNull(res); assertNotNull(exception); @@ -112,8 +95,7 @@ public void testRunGradAlgorithm() { String pen = "12312123123"; UUID studentID = new UUID(1, 1); String programCode="2018-EN"; - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -129,14 +111,9 @@ public void testRunGradAlgorithm() { graduationDataStatus.setGraduated(false); graduationDataStatus.setStudentCourses(null); - - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGradAlgorithmEndpoint(), studentID,programCode))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationData.class)).thenReturn(Mono.just(graduationDataStatus)); + when(this.restService.get(String.format(constants.getGradAlgorithmEndpoint(),studentID,programCode), GraduationData.class)).thenReturn(graduationDataStatus); - GraduationData res = gradAlgorithmService.runGradAlgorithm(studentID, programCode,accessToken,exception); + GraduationData res = gradAlgorithmService.runGradAlgorithm(studentID, programCode,exception); assertNotNull(res); } @@ -146,8 +123,7 @@ public void testRunProjectedGradAlgorithm() { String pen = "12312123123"; UUID studentID = new UUID(1, 1); String programCode="2018-EN"; - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -164,14 +140,9 @@ public void testRunProjectedGradAlgorithm() { graduationDataStatus.setGraduated(false); graduationDataStatus.setStudentCourses(null); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGradProjectedAlgorithmEndpoint(), studentID,programCode,true))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationData.class)).thenReturn(monoResponseGraduationData); - when(this.monoResponseGraduationData.block()).thenReturn(graduationDataStatus); - - GraduationData res = gradAlgorithmService.runProjectedAlgorithm(studentID, programCode,accessToken); + when(this.restService.get(String.format(constants.getGradProjectedAlgorithmEndpoint(),studentID,programCode, true), GraduationData.class)).thenReturn(graduationDataStatus); + + GraduationData res = gradAlgorithmService.runProjectedAlgorithm(studentID, programCode); assertNotNull(res); } @@ -198,14 +169,9 @@ public void testRunHypotheticalGradAlgorithm() { graduationDataStatus.setGraduated(false); graduationDataStatus.setStudentCourses(null); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGradHypotheticalAlgorithmEndpoint(), studentID, programCode, "2023"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationData.class)).thenReturn(monoResponseGraduationData); - when(this.monoResponseGraduationData.block()).thenReturn(graduationDataStatus); + when(this.restService.get(String.format(constants.getGradHypotheticalAlgorithmEndpoint(),studentID,programCode, "2023"), GraduationData.class)).thenReturn(graduationDataStatus); - GraduationData res = gradAlgorithmService.runHypotheticalGraduatedAlgorithm(studentID, programCode, "2023", accessToken); + GraduationData res = gradAlgorithmService.runHypotheticalGraduatedAlgorithm(studentID, programCode, "2023"); assertNotNull(res); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradStatusServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradStatusServiceTest.java index eb0374da..64cecf5e 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradStatusServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GradStatusServiceTest.java @@ -7,21 +7,16 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.core.ParameterizedTypeReference; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.reactive.function.BodyInserter; import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.function.Consumer; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.*; @@ -49,28 +44,15 @@ public class GradStatusServiceTest { @Autowired GradValidation validation; - - @MockBean - WebClient webClient; @MockBean RESTService restService; + @MockBean + WebClient webClient; + @Autowired private EducGraduationApiConstants constants; - - @Mock - private WebClient.RequestHeadersSpec requestHeadersMock; - @Mock - private WebClient.RequestHeadersUriSpec requestHeadersUriMock; - @Mock - private WebClient.RequestBodySpec requestBodyMock; - @Mock - private WebClient.RequestBodyUriSpec requestBodyUriMock; - @Mock - private WebClient.ResponseSpec responseMock; - @Mock - private Mono monoResponse; @Before public void setUp() { @@ -85,22 +67,17 @@ public void tearDown() { @Test public void testGetGradStatus_whenAPIisDown_throwsException() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; exception = new ExceptionMessage(); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),studentID))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); - GraduationStudentRecord res = gradStatusService.getGradStatus(studentID, accessToken,exception); + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),studentID), GraduationStudentRecord.class)).thenThrow(new RuntimeException("Test - API is down")); + + GraduationStudentRecord res = gradStatusService.getGradStatus(studentID,exception); assertNull(res); } @Test public void testGetGradStatus() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); gradResponse.setProgram("2018-EN"); @@ -108,14 +85,10 @@ public void testGetGradStatus() { gradResponse.setSchoolOfRecord("06011033"); gradResponse.setStudentGrade("11"); gradResponse.setStudentStatus("D"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(), studentID))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(monoResponse); - when(this.monoResponse.block()).thenReturn(gradResponse); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(), studentID), GraduationStudentRecord.class)).thenReturn(gradResponse); - GraduationStudentRecord res = gradStatusService.getGradStatus(studentID, accessToken,exception); + GraduationStudentRecord res = gradStatusService.getGradStatus(studentID, exception); assertNotNull(res); assertEquals(res.getPen(), gradResponse.getPen()); @@ -174,17 +147,16 @@ public void testSaveStudentGradStatus_whenAPIisDown_throwsException() { gradResponse.setSchoolOfRecord("06011033"); gradResponse.setStudentGrade("11"); gradResponse.setStudentStatus("D"); + + when(this.restService.post(String.format(constants.getUpdateGradStatus(),studentID), gradResponse, GraduationStudentRecord.class)).thenThrow(new RuntimeException("Test - API is down")); - when(this.webClient.post()).thenThrow(new RuntimeException("Test - API is down")); - - GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID, null,accessToken,gradResponse,exception); + GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID, null,gradResponse,exception); assertNotNull(res); } @Test public void testSaveStudentGradStatus() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); gradResponse.setProgram("2018-EN"); @@ -193,15 +165,9 @@ public void testSaveStudentGradStatus() { gradResponse.setStudentGrade("11"); gradResponse.setStudentStatus("D"); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStatus(), studentID))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(gradResponse)); + when(this.restService.post(String.format(constants.getUpdateGradStatus(), studentID, null), gradResponse, GraduationStudentRecord.class)).thenReturn(gradResponse); - GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception); + GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception); assertNotNull(res); assertEquals(res.getPen(), gradResponse.getPen()); } @@ -210,7 +176,6 @@ public void testSaveStudentGradStatus() { public void testSaveStudentGradStatuswithBatch() { String studentID = new UUID(1, 1).toString(); Long batchId= 4546L; - String accessToken = "accessToken"; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); gradResponse.setProgram("2018-EN"); @@ -219,20 +184,11 @@ public void testSaveStudentGradStatuswithBatch() { gradResponse.setStudentGrade("11"); gradResponse.setStudentStatus("D"); - String url = constants.getUpdateGradStatus(); - if(batchId != null) { - url = url + "?batchId=%s"; - } + String url = constants.getUpdateGradStatus() + "?batchId=%s"; - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(url, studentID,batchId))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(gradResponse)); + when(this.restService.post(String.format(url, studentID,batchId), gradResponse, GraduationStudentRecord.class)).thenReturn(gradResponse); - GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID,batchId, accessToken,gradResponse,exception); + GraduationStudentRecord res = gradStatusService.saveStudentGradStatus(studentID,batchId,gradResponse,exception); assertNotNull(res); assertEquals(res.getPen(), gradResponse.getPen()); } @@ -271,7 +227,6 @@ public void testProcessProjectedResults() { @Test public void testSaveProjectedGradStatus() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); gradResponse.setProgram("2018-EN"); @@ -281,15 +236,9 @@ public void testSaveProjectedGradStatus() { gradResponse.setStudentStatus("D"); ProjectedRunClob projectedRunClob = ProjectedRunClob.builder().graduated(true).nonGradReasons(new ArrayList<>()).build(); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getSaveStudentRecordProjectedRun(), studentID))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(gradResponse)); + when(this.restService.post(String.format(constants.getSaveStudentRecordProjectedRun(), studentID), projectedRunClob, GraduationStudentRecord.class)).thenReturn(gradResponse); - GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,null, accessToken,exception); + GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,null, exception); assertNotNull(res); assertEquals(res.getPen(), gradResponse.getPen()); } @@ -297,7 +246,6 @@ public void testSaveProjectedGradStatus() { @Test public void testSaveProjectedGradStatus_withbatch() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; Long batchId = 45343L; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); @@ -308,20 +256,11 @@ public void testSaveProjectedGradStatus_withbatch() { gradResponse.setStudentStatus("D"); ProjectedRunClob projectedRunClob = ProjectedRunClob.builder().graduated(true).nonGradReasons(new ArrayList<>()).build(); - String url = constants.getSaveStudentRecordProjectedRun(); - if(batchId != null) { - url = url + "?batchId=%s"; - } + String url = constants.getSaveStudentRecordProjectedRun() + "?batchId=%s";; - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(url, studentID,batchId))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(gradResponse)); + when(this.restService.post(String.format(url, studentID, batchId), projectedRunClob, GraduationStudentRecord.class)).thenReturn(gradResponse); - GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,batchId, accessToken,exception); + GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,batchId,exception); assertNotNull(res); assertEquals(res.getPen(), gradResponse.getPen()); } @@ -329,7 +268,6 @@ public void testSaveProjectedGradStatus_withbatch() { @Test public void testSaveProjectedGradStatus_witherror() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); gradResponse.setProgram("2018-EN"); @@ -340,15 +278,9 @@ public void testSaveProjectedGradStatus_witherror() { ExceptionMessage exception = new ExceptionMessage(); ProjectedRunClob projectedRunClob = ProjectedRunClob.builder().graduated(true).nonGradReasons(new ArrayList<>()).build(); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getSaveStudentRecordProjectedRun(), studentID))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); + when(this.restService.post(String.format(constants.getSaveStudentRecordProjectedRun(), studentID), projectedRunClob, GraduationStudentRecord.class)).thenThrow(new RuntimeException("Unexpected Error!")); - GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,null, accessToken,exception); + GraduationStudentRecord res = gradStatusService.saveStudentRecordProjectedRun(projectedRunClob,studentID,null,exception); assertNull(res); } @@ -357,26 +289,21 @@ public void testRestoreStudentGradStatus() { String studentID = new UUID(1, 1).toString(); boolean isGraduated = false; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getUpdateGradStatusAlgoError(), studentID,isGraduated))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(boolean.class)).thenReturn(Mono.just(false)); + when(this.restService.get(String.format(constants.getUpdateGradStatusAlgoError(),studentID,isGraduated), Boolean.class)).thenReturn(false); - gradStatusService.restoreStudentGradStatus(studentID, "accessToken",isGraduated); + gradStatusService.restoreStudentGradStatus(studentID, isGraduated); assertThat(isGraduated).isFalse(); } @Test public void testGetStudentsbyMincode() { String mincode = "12312311"; - final ParameterizedTypeReference> studentResponseType = new ParameterizedTypeReference<>() { - }; + GraduationStudentRecord gsr = new GraduationStudentRecord(); gsr.setLegalLastName("qweqw"); when(this.restService.get(any(String.class), any())).thenReturn(List.of(gsr)); - List res = gradStatusService.getStudentListByMinCode(mincode,"accessToken"); + List res = gradStatusService.getStudentListByMinCode(mincode); assertThat(res).isNotEmpty().hasSize(1); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java index 0d846529..6e496681 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java @@ -165,14 +165,14 @@ public void testGraduateStudent() { Student std = new Student(); std.setFirstName("Sreepad"); data.setStudent(std); - Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, accessToken, exception)).thenReturn(gradResponse); - Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list,accessToken, exception)).thenReturn(data); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, exception)).thenReturn(gradResponse); + Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list, exception)).thenReturn(data); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram())).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.processProjectedResults(gradResponse,graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken)).thenReturn(list); + Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID)).thenReturn(list); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -183,7 +183,7 @@ public void testGraduateStudent_when_gradResponse_has_exception() { String accessToken="accessToken"; ExceptionMessage exception = new ExceptionMessage(); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken, exception)).thenCallRealMethod(); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenCallRealMethod(); when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(), studentID))).thenReturn(this.requestHeadersMock); @@ -191,7 +191,7 @@ public void testGraduateStudent_when_gradResponse_has_exception() { when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenThrow(new RuntimeException("Unknown Exception")); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); assertNotNull(response.getException()); } @@ -250,14 +250,14 @@ public void testGraduateStudent_excep_1() { Student std = new Student(); std.setFirstName("Sreepad"); data.setStudent(std); - Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, accessToken, exception)).thenReturn(gradResponse); - Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list,accessToken, exception)).thenReturn(data); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, exception)).thenReturn(gradResponse); + Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list, exception)).thenReturn(data); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram())).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.processProjectedResults(gradResponse,graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken)).thenReturn(list); + Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID)).thenReturn(list); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -314,14 +314,14 @@ public void testGraduateStudent_excep_2() { Student std = new Student(); std.setFirstName("Sreepad"); data.setStudent(std); - Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, accessToken, exception)).thenReturn(gradResponse); - Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list,accessToken, exception)).thenReturn(data); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, exception)).thenReturn(gradResponse); + Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list, exception)).thenReturn(data); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram())).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.processProjectedResults(gradResponse,graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken)).thenReturn(list); - Mockito.when(reportService.saveStudentAchivementReportJasper("123090109",data,accessToken,UUID.fromString(studentID),exception,false)).thenReturn(eM2); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID)).thenReturn(list); + Mockito.when(reportService.saveStudentAchivementReportJasper("123090109",data,UUID.fromString(studentID),exception,false)).thenReturn(eM2); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -376,16 +376,16 @@ public void testGraduateStudent_error() { Student std = new Student(); std.setFirstName("Sreepad"); data.setStudent(std); - Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, accessToken, exception)).thenReturn(gradResponse); - Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list,accessToken, exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, exception)).thenReturn(gradResponse); + Mockito.when(reportService.prepareAchievementReportData(graduationDataStatus, list, exception)).thenReturn(data); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram())).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.processProjectedResults(gradResponse,graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken)).thenReturn(list); + Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID)).thenReturn(list); try { - graduationService.graduateStudent(studentID,null,accessToken,projectedType); + graduationService.graduateStudent(studentID,null,projectedType); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); assertEquals(0, errors.size()); @@ -429,10 +429,10 @@ public void testGraduateStudent_error2() { Student std = new Student(); std.setFirstName("Sreepad"); data.setStudent(std); - Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, accessToken, exception)).thenReturn(gradResponse); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.saveStudentRecordProjectedRun(projectedRunClob, studentID, null, exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); try { - graduationService.graduateStudent(studentID,null,accessToken,projectedType); + graduationService.graduateStudent(studentID,null,projectedType); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); assertEquals(0, errors.size()); @@ -483,11 +483,11 @@ public void testGraduateStudent_withProjectedTypeFM() { List list = new ArrayList<>(); list.add(spgm); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken)).thenReturn(graduationDataStatus); - Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken)).thenReturn(list); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runProjectedAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram())).thenReturn(graduationDataStatus); + Mockito.when(optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID)).thenReturn(list); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -552,14 +552,14 @@ public void testGraduateStudent_withProjectedTypeGS() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -626,20 +626,20 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check() { ReportData data = new ReportData(); data.setGradMessage("ABC"); data.setException(excep2); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); graduationDataStatus.setException(exception); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); - ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).accessToken("accessToken").exception(exception).build(); + ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).exception(exception).build(); eM2.setExceptionName("RERE"); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -706,20 +706,20 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check_2() { schoolObj.setIndependentDesignation("2"); ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); graduationDataStatus.setException(exception); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); - ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).accessToken("accessToken").exception(exception).build(); + ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).exception(exception).build(); eM2.setExceptionName("RERE"); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -785,22 +785,22 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check_3() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).accessToken("accessToken").exception(exception).build(); + ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).exception(exception).build(); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); graduationDataStatus.setException(exception); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); Mockito.when(algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,gradResponse,gradResponse,list,exception,data, pData, projectedType)).thenReturn(excep2); doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); eM2.setExceptionName("RERE"); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -867,15 +867,15 @@ public void testGraduateStudent_withProjectedTypeGS_excep() { schoolObj.setIndependentDesignation("2"); ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); graduationDataStatus.setException(exception); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -936,9 +936,9 @@ public void testGraduateStudent_withProjectedTypeGS_programcompletionDate_notnul data.setGradMessage("ABC"); doNothing().when(this.tokenUtils).setAccessToken(any()); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1013,16 +1013,16 @@ public void testGraduateStudent_withProjectedTypeGS_Graduated() { pc.setCertificateTypeCode("E"); certificateList.add(pc); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,accessToken,exception)).thenReturn(certificateList); - doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,accessToken,pc,false); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,exception)).thenReturn(certificateList); + doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,pc,false); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1081,14 +1081,14 @@ public void testGraduateStudent_withProjectedTypeFMR_programCompletionDate_null( ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1158,14 +1158,14 @@ public void testGraduateStudent_withProjectedTypeFMR() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1238,14 +1238,14 @@ public void testGraduateStudent_withProjectedTypeFMR_excep1() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1316,16 +1316,16 @@ public void testGraduateStudent_withProjectedTypeFMR_excep3() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).accessToken("accessToken").exception(exception).build(); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + ProcessorData pData = ProcessorData.builder().gradResponse(gradResponse).studentID(studentID).exception(exception).build(); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); Mockito.when(algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,gradResponse,gradResponse,list,exception,data, pData, "FMR")).thenReturn(em2); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1398,14 +1398,14 @@ public void testGraduateStudent_withProjectedTypeFMR_excep2() { ReportData data = new ReportData(); data.setGradMessage("ABC"); data.setException(em2); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1472,9 +1472,9 @@ public void testGraduateStudent_withProjectedTypeFMR_programcompletionDate_notnu data.setGradMessage("ABC"); doNothing().when(this.tokenUtils).setAccessToken(any()); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); try { - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } catch (GradBusinessRuleException e) { List errors = validation.getErrors(); @@ -1544,14 +1544,14 @@ public void testGraduateStudent_withProjectedTypeFMR_programCompletionDate_notnu ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1622,16 +1622,16 @@ public void testGraduateStudent_withProjectedTypeFMR_Graduated() { pc.setCertificateTypeCode("E"); certificateList.add(pc); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,accessToken,exception)).thenReturn(certificateList); - doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,accessToken,pc,false); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,exception)).thenReturn(certificateList); + doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,pc,false); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); doNothing().when(this.tokenUtils).setAccessToken(any()); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1716,13 +1716,13 @@ public void testGraduateStudent_withProjectedTypeGS_withexception() { ReportData data = new ReportData(); data.setGradMessage("ABC"); doNothing().when(this.tokenUtils).setAccessToken(any()); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); - Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception)).thenReturn(data); - Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null, accessToken,gradResponse,exception)).thenReturn(gradResponse); - Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,accessToken,new ArrayList<>())).thenReturn(list); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); + Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); + Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1791,9 +1791,9 @@ public void testGraduateStudent_withProjectedTypeFMR_withexception2() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(gradStatusService.getGradStatus(studentID, accessToken,exception)).thenReturn(gradResponse); - Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), accessToken,exception)).thenReturn(graduationDataStatus); - AlgorithmResponse response = graduationService.graduateStudent(studentID,null,accessToken,projectedType); + Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); + Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); + AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1868,7 +1868,7 @@ public void testcreateReportNCert() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(reportService.getCertificateList(gradResponse, graduationDataStatus, list, null, exception)).thenReturn(pList); + Mockito.when(reportService.getCertificateList(gradResponse, graduationDataStatus, list, exception)).thenReturn(pList); algorithmSupports.createStudentCertificateTranscriptReports(graduationDataStatus,gradResponse,gradResponse,list,exception,data,pData, "GS"); assertNotNull(data); @@ -1949,7 +1949,7 @@ public void testcreateReportNCert2() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - Mockito.when(reportService.getCertificateList(gradResponse, graduationDataStatus, list, null, exception)).thenReturn(pList); + Mockito.when(reportService.getCertificateList(gradResponse, graduationDataStatus, list, exception)).thenReturn(pList); algorithmSupports.createStudentCertificateTranscriptReports(graduationDataStatus,gradResponse,gradResponse,list,exception,data,pData, "GS"); assertNotNull(data); @@ -2037,13 +2037,13 @@ public void testCreateAndStoreSchoolReports() { when(this.restService.get(any(), any())).thenReturn(1); - Mockito.when(gradStatusService.getStudentListByMinCode(mincode, "accessToken")).thenReturn(sList); - Mockito.when(schoolService.getTraxSchoolDetails(mincode, "accessToken", exception)).thenReturn(sTrax); - int numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"REGALG","accessToken"); + Mockito.when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); + Mockito.when(schoolService.getTraxSchoolDetails(mincode, exception)).thenReturn(sTrax); + int numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"REGALG"); assertEquals(2,numberOfRecord); - Mockito.when(gradStatusService.getStudentListByMinCode(mincode, "accessToken")).thenReturn(List.of()); - numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"REGALG","accessToken"); + Mockito.when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(List.of()); + numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"REGALG"); assertEquals(0,numberOfRecord); } @@ -2086,7 +2086,7 @@ public void testCreateAndStoreStudentCertificates() { e.getMessage(); } - when(reportService.getGraduationStudentRecordAndGraduationData(pen, "accessToken")).thenReturn(Pair.of(gsr, graduationData)); + when(reportService.getGraduationStudentRecordAndGraduationData(pen)).thenReturn(Pair.of(gsr, graduationData)); when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); when(this.tokenUtils.checkAndGetAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); @@ -2105,9 +2105,9 @@ public void testCreateAndStoreStudentCertificates() { studentOptionalProgram2.setGraduated(true); ExceptionMessage exception = new ExceptionMessage(); - Mockito.when(reportService.getCertificateList(gsr, graduationData, Arrays.asList(studentOptionalProgram1, studentOptionalProgram2), "accessToken", exception)).thenReturn(pList); + Mockito.when(reportService.getCertificateList(gsr, graduationData, Arrays.asList(studentOptionalProgram1, studentOptionalProgram2), exception)).thenReturn(pList); - var result = graduationService.createAndStoreStudentCertificates(pen, true, "accessToken"); // isOverwrite = true -> regenerate(delete and create certs) + var result = graduationService.createAndStoreStudentCertificates(pen, true); // isOverwrite = true -> regenerate(delete and create certs) assertNotNull(result); assertEquals(Integer.valueOf(1), result); @@ -2192,15 +2192,15 @@ public void testGetSchoolReports() { when(this.restService.post(any(String.class), any(), any(), any())).thenReturn(bytesSAR1); when(this.restService.post(any(String.class), any(), any())).thenReturn(bytesSAR1); - when(gradStatusService.getStudentListByMinCode(mincode, "accessToken")).thenReturn(sList); - when(schoolService.getTraxSchoolDetails(mincode, "accessToken", exception)).thenReturn(sTrax); + when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); + when(schoolService.getTraxSchoolDetails(mincode, exception)).thenReturn(sTrax); when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG","accessToken"); + byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG"); assertNotNull(result); - result = graduationService.getSchoolReports(uniqueList,"NONGRADREG","accessToken"); + result = graduationService.getSchoolReports(uniqueList,"NONGRADREG"); assertNotNull(result); - result = graduationService.getSchoolReports(uniqueList,"NONGRADPRJ","accessToken"); + result = graduationService.getSchoolReports(uniqueList,"NONGRADPRJ"); assertNotNull(result); } @@ -2213,7 +2213,7 @@ public void testGetSchoolReportsException() { when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG","accessToken"); + byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG"); assertNotNull(result); assertEquals(0, result.length); } @@ -2268,9 +2268,9 @@ public void testCreateAndStoreSchoolReports_TVR() { when(this.restService.get(any(), any())).thenReturn(1); - Mockito.when(gradStatusService.getStudentListByMinCode(mincode, "accessToken")).thenReturn(sList); - Mockito.when(schoolService.getTraxSchoolDetails(mincode, "accessToken", exception)).thenReturn(sTrax); - int numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"TVRRUN","accessToken"); + Mockito.when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); + Mockito.when(schoolService.getTraxSchoolDetails(mincode, exception)).thenReturn(sTrax); + int numberOfRecord = graduationService.createAndStoreSchoolReports(uniqueList,"TVRRUN"); assertEquals(1,numberOfRecord); } @@ -2280,20 +2280,20 @@ public void testPrepareReportData() { final String accessToken = "accessToken"; String type = "XML"; - testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),type); type = "TRAN"; - testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),type); type = "CERT"; - testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),type); type = "ACHV"; - testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple(pen,type.equalsIgnoreCase("XML"),type); } - private void testPrepateReportDataMultiple(String pen,boolean xml,String accessToken,String type) { + private void testPrepateReportDataMultiple(String pen,boolean xml,String type) { ReportData data = new ReportData(); ca.bc.gov.educ.api.graduation.model.report.GradProgram prg = new ca.bc.gov.educ.api.graduation.model.report.GradProgram(); Code code = new Code(); @@ -2308,12 +2308,12 @@ private void testPrepateReportDataMultiple(String pen,boolean xml,String accessT data.setParameters(new HashMap<>()); if(!type.equalsIgnoreCase("CERT") && !type.equalsIgnoreCase("ACHV")) { - Mockito.when(reportService.prepareTranscriptData(pen, xml, accessToken, new ExceptionMessage())).thenReturn(data); + Mockito.when(reportService.prepareTranscriptData(pen, xml, new ExceptionMessage())).thenReturn(data); } if(type.equalsIgnoreCase("CERT")) { - Mockito.when(reportService.prepareCertificateData(pen,accessToken, new ExceptionMessage())).thenReturn(data); + Mockito.when(reportService.prepareCertificateData(pen, new ExceptionMessage())).thenReturn(data); } - ReportData res = graduationService.prepareReportData(pen,type,accessToken); + ReportData res = graduationService.prepareReportData(pen,type); assertNotNull(res); } @@ -2323,19 +2323,19 @@ public void testPrepareReportData_2() { final String accessToken = "accessToken"; String type = "XML"; - testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),type); type = "CERT"; - testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),type); type = "ACHV"; - testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),type); type = "TRAN"; - testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),accessToken,type); + testPrepateReportDataMultiple_2(pen,type.equalsIgnoreCase("XML"),type); } - private void testPrepateReportDataMultiple_2(String pen,boolean xml,String accessToken,String type) { + private void testPrepateReportDataMultiple_2(String pen,boolean xml,String type) { ReportData data = new ReportData(); ca.bc.gov.educ.api.graduation.model.report.GradProgram prg = new ca.bc.gov.educ.api.graduation.model.report.GradProgram(); Code code = new Code(); @@ -2356,12 +2356,12 @@ private void testPrepateReportDataMultiple_2(String pen,boolean xml,String acces graduationData.setGraduated(true); if(!type.equalsIgnoreCase("CERT") && !type.equalsIgnoreCase("ACHV")) { - Mockito.when(reportService.prepareTranscriptData(graduationData, xml, accessToken, new ExceptionMessage())).thenReturn(data); + Mockito.when(reportService.prepareTranscriptData(graduationData, xml, new ExceptionMessage())).thenReturn(data); } if(type.equalsIgnoreCase("CERT")) { - Mockito.when(reportService.prepareCertificateData(graduationData,accessToken, new ExceptionMessage())).thenReturn(data); + Mockito.when(reportService.prepareCertificateData(graduationData, new ExceptionMessage())).thenReturn(data); } - ReportData res = graduationService.prepareReportData(graduationData,type,accessToken); + ReportData res = graduationService.prepareReportData(graduationData,type); assertNotNull(res); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/OptionalProgramServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/OptionalProgramServiceTest.java index 39a02465..fb52c2cb 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/OptionalProgramServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/OptionalProgramServiceTest.java @@ -1,22 +1,19 @@ package ca.bc.gov.educ.api.graduation.service; import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.openMocks; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.function.Consumer; +import ca.bc.gov.educ.api.graduation.util.TokenUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.mock.mockito.MockBean; @@ -25,16 +22,13 @@ import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.reactive.function.BodyInserter; -import org.springframework.web.reactive.function.client.WebClient; import ca.bc.gov.educ.api.graduation.model.dto.GradAlgorithmGraduationStudentRecord; import ca.bc.gov.educ.api.graduation.model.dto.GradAlgorithmOptionalStudentProgram; import ca.bc.gov.educ.api.graduation.model.dto.StudentOptionalProgram; import ca.bc.gov.educ.api.graduation.model.dto.GraduationData; -import ca.bc.gov.educ.api.graduation.model.dto.GraduationStatus; import ca.bc.gov.educ.api.graduation.util.EducGraduationApiConstants; import ca.bc.gov.educ.api.graduation.util.GradValidation; -import reactor.core.publisher.Mono; +import org.springframework.web.reactive.function.client.WebClient; @RunWith(SpringRunner.class) @@ -49,7 +43,12 @@ public class OptionalProgramServiceTest { GradValidation validation; @MockBean - @Qualifier("graduationClient") + RESTService restService; + + @MockBean + TokenUtils tokenUtils; + + @MockBean WebClient webClient; @TestConfiguration @@ -67,23 +66,7 @@ public ClientRegistration findByRegistrationId(String registrationId) { @Autowired private EducGraduationApiConstants constants; - - @Mock - private WebClient.RequestHeadersSpec requestHeadersMock; - @Mock - private WebClient.RequestHeadersUriSpec requestHeadersUriMock; - @Mock - private WebClient.RequestBodySpec requestBodyMock; - @Mock - private WebClient.RequestBodyUriSpec requestBodyUriMock; - @Mock - private WebClient.ResponseSpec responseMock; - @Mock - private Mono monoResponse; - - @Mock - private Mono monoResponseGradStudentOptionalProgram; - + @Before public void setUp() { openMocks(this); @@ -97,8 +80,7 @@ public void tearDown() { @Test public void testSaveAndLogOptionalPrograms() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -128,33 +110,34 @@ public void testSaveAndLogOptionalPrograms() { spgm.setOptionalProgramName("International Bacculaurette"); spgm.setStudentID(UUID.fromString(studentID)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); - when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getSaveOptionalProgramGradStatus())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(Mono.just(spgm)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); +// when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); + + when(this.restService.get(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)), StudentOptionalProgram.class)).thenReturn(spgm); + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getSaveOptionalProgramGradStatus())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(Mono.just(spgm)); + + when(this.restService.post(constants.getSaveOptionalProgramGradStatus(), graduationDataStatus, StudentOptionalProgram.class)).thenReturn(spgm); List spList; - spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, accessToken, new ArrayList<>()); + spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, new ArrayList<>()); assertEquals(1,spList.size()); - - - } + } @Test public void testSaveAndLogOptionalProgramsDualDogwood_nooptionalProgram() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -184,34 +167,36 @@ public void testSaveAndLogOptionalProgramsDualDogwood_nooptionalProgram() { spgm.setOptionalProgramName("International Bacculaurette"); spgm.setStudentID(UUID.fromString(studentID)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); - when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getSaveOptionalProgramGradStatus())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(Mono.just(spgm)); - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); +// when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); + + when(this.restService.get(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)), StudentOptionalProgram.class)).thenReturn(spgm); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getSaveOptionalProgramGradStatus())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(Mono.just(spgm)); + + when(this.restService.post(constants.getSaveOptionalProgramGradStatus(), graduationDataStatus, StudentOptionalProgram.class)).thenReturn(spgm); + List spList; - spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, accessToken, new ArrayList<>()); + spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, new ArrayList<>()); assertEquals(1,spList.size()); - - } @Test public void testSaveAndLogOptionalProgramsDualDogwood() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -241,27 +226,25 @@ public void testSaveAndLogOptionalProgramsDualDogwood() { spgm.setOptionalProgramName("International Bacculaurette"); spgm.setStudentID(UUID.fromString(studentID)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); - when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(null); - - - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); +// when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(null); + + when(this.restService.get(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)), StudentOptionalProgram.class)).thenReturn(null); + + List spList; - spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, accessToken, new ArrayList<>()); + spList = optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus, studentID, new ArrayList<>()); assertEquals(1,spList.size()); - - } @Test public void testProjectedOptionalPrograms() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -292,28 +275,24 @@ public void testProjectedOptionalPrograms() { spgm.setProgramCode("2018-EN"); spgm.setStudentID(UUID.fromString(studentID)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); - when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); - - - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); +// when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(spgm); + + when(this.restService.get(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)), StudentOptionalProgram.class)).thenReturn(spgm); + List spList; - spList = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken); + spList = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID); assertEquals(1,spList.size()); - - - } @Test public void testProjectedOptionalPrograms_nooptionalProgram() { String studentID = new UUID(1, 1).toString(); - String accessToken = "accessToken"; - + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); gradAlgorithmGraduationStatus.setProgram("2018-EN"); @@ -344,21 +323,18 @@ public void testProjectedOptionalPrograms_nooptionalProgram() { spgm.setProgramCode("2018-EN"); spgm.setStudentID(UUID.fromString(studentID)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); - when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(null); - - - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(StudentOptionalProgram.class)).thenReturn(monoResponseGradStudentOptionalProgram); +// when(this.monoResponseGradStudentOptionalProgram.block()).thenReturn(null); + + when(this.restService.get(String.format(constants.getGetOptionalProgramDetails(), studentID,new UUID(1, 1)), StudentOptionalProgram.class)).thenReturn(null); + List spList; - spList = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID, accessToken); + spList = optionalProgramService.projectedOptionalPrograms(graduationDataStatus, studentID); assertEquals(1,spList.size()); - - - } } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/ReportServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/ReportServiceTest.java index 2a49ee0e..317822c3 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/ReportServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/ReportServiceTest.java @@ -6,10 +6,7 @@ import ca.bc.gov.educ.api.graduation.model.report.ReportData; import ca.bc.gov.educ.api.graduation.model.report.Transcript; import ca.bc.gov.educ.api.graduation.model.report.TranscriptResult; -import ca.bc.gov.educ.api.graduation.util.EducGraduationApiConstants; -import ca.bc.gov.educ.api.graduation.util.GradValidation; -import ca.bc.gov.educ.api.graduation.util.JsonTransformer; -import ca.bc.gov.educ.api.graduation.util.StudentAssessmentDuplicatesWrapper; +import ca.bc.gov.educ.api.graduation.util.*; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.SneakyThrows; @@ -19,7 +16,6 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; @@ -28,9 +24,7 @@ import org.springframework.integration.config.EnableIntegration; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.reactive.function.BodyInserter; import org.springframework.web.reactive.function.client.WebClient; -import reactor.core.publisher.Mono; import java.io.BufferedReader; import java.io.File; @@ -42,12 +36,12 @@ import java.util.List; import java.util.Objects; import java.util.UUID; -import java.util.function.Consumer; import java.util.stream.Collectors; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.*; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.openMocks; @@ -74,30 +68,19 @@ public class ReportServiceTest { @Autowired GradValidation validation; - + @MockBean - WebClient webClient; + TokenUtils tokenUtils; @MockBean RESTService restService; + @MockBean + WebClient webClient; + @Autowired private EducGraduationApiConstants constants; - @Mock - private WebClient.RequestHeadersSpec requestHeadersMock; - - @Mock - private WebClient.RequestHeadersUriSpec requestHeadersUriMock; - @Mock - private WebClient.RequestBodySpec requestBodyMock; - @Mock - private WebClient.RequestBodyUriSpec requestBodyUriMock; - @Mock - private WebClient.ResponseSpec responseMock; - @Mock - private Mono monoResponse; - @Before public void setUp() { openMocks(this); @@ -111,14 +94,16 @@ public void tearDown() { @Test public void testGetStudentsForSchoolYearEndReport() { List gradStudentDataList = createStudentSchoolYearEndData("json/studentSchoolYearEndResponse.json"); - ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { +// }; + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getSchoolYearEndStudents())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getSchoolYearEndStudents())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); + when(this.restService.get(constants.getSchoolYearEndStudents(), List.class, "accessToken")).thenReturn(gradStudentDataList); var result = reportService.getStudentsForSchoolYearEndReport("accessToken"); assertNotNull(result); @@ -127,18 +112,20 @@ public void testGetStudentsForSchoolYearEndReport() { @Test public void testGetStudentsForSchoolYearEndReportWithSchools() { List gradStudentDataList = createStudentSchoolYearEndData("json/studentSchoolYearEndResponse.json"); - ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { - }; - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getSchoolYearEndStudents()))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); - - var result = reportService.getStudentsForSchoolYearEndReport("accessToken", List.of("00502001")); +// ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { +// }; +// +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(String.format(constants.getSchoolYearEndStudents()))).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); + + when(this.restService.post(constants.getSchoolYearEndStudents(), List.of("00502001"), List.class)).thenReturn(gradStudentDataList); + + var result = reportService.getStudentsForSchoolYearEndReport(List.of("00502001")); assertNotNull(result); } @@ -148,29 +135,33 @@ public void testGetStudentsForSchoolYearEndNonGradReport() { ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { }; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getStudentNonGradReportData())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getStudentNonGradReportData())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); - var result = reportService.getStudentsForSchoolNonGradYearEndReport("accessToken"); + when(this.restService.get(constants.getStudentNonGradReportData(), List.class)).thenReturn(gradStudentDataList); + + var result = reportService.getStudentsForSchoolNonGradYearEndReport(); assertNotNull(result); } @Test public void testGetStudentsForSchoolYearEndNonGradReportWithMincode() { List gradStudentDataList = createStudentSchoolYearEndData("json/studentSchoolYearEndResponse.json"); - ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { +// }; + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentNonGradReportDataMincode(), "02396738"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentNonGradReportDataMincode(), "02396738"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); + when(this.restService.get(String.format(constants.getStudentNonGradReportDataMincode(), "02396738"), List.class)).thenReturn(gradStudentDataList); - var result = reportService.getStudentsForSchoolNonGradYearEndReport("02396738", "accessToken"); + var result = reportService.getStudentsForSchoolNonGradYearEndReport("02396738"); assertNotNull(result); } @@ -179,14 +170,16 @@ public void testGetStudentsForSchoolReport() { List gradStudentDataList = createStudentSchoolYearEndData("json/studentSchoolYearEndResponse.json"); ParameterizedTypeReference> reportGradStudentDataType = new ParameterizedTypeReference<>() { }; +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getSchoolStudents())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getSchoolStudents())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(reportGradStudentDataType)).thenReturn(Mono.just(gradStudentDataList)); + when(this.restService.get(constants.getSchoolStudents(), List.class)).thenReturn(gradStudentDataList); - var result = reportService.getStudentsForSchoolReport("accessToken"); + var result = reportService.getStudentsForSchoolReport(); assertNotNull(result); } @@ -257,40 +250,50 @@ public void testSaveStudentCertificateReport() { studentOptionalProgram.setOptionalProgramName("Advanced Placement"); studentOptionalProgram.setStudentID(studentID); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), studentID))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), studentID))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); + + when(this.restService.get(String.format(constants.getStudentOptionalPrograms(), studentID), List.class)).thenReturn(List.of(studentOptionalProgram)); + GraduationProgramCode gP = new GraduationProgramCode(); gP.setProgramCode("2018-EN"); gP.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertificateReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentCertificate(),pen))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GradStudentCertificates.class)).thenReturn(Mono.just(rep)); - - reportService.saveStudentCertificateReportJasper(gradResponse, graduationDataStatus, accessToken,pc,false); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertificateReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); + + when(this.restService.get(constants.getCertificateReport(), byte[].class)).thenReturn(bytesSAR); + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentCertificate(),pen))).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GradStudentCertificates.class)).thenReturn(Mono.just(rep)); + + when(this.restService.post(eq(String.format(constants.getUpdateGradStudentCertificate(),pen)), any(), eq(GradStudentCertificates.class))).thenReturn(rep); + + reportService.saveStudentCertificateReportJasper(gradResponse, graduationDataStatus, pc,false); assertThat(exception.getExceptionName()).isNull(); } @@ -316,30 +319,36 @@ public void testSaveStudentTranscriptReport() { commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentTranscript(),isGraduated))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GradStudentReports.class)).thenReturn(Mono.just(rep)); - - reportService.saveStudentTranscriptReportJasper(data, accessToken, UUID.fromString(studentID),exception,isGraduated, false); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); + + when(this.restService.post(eq(constants.getTranscriptReport()), any(), eq(byte[].class))).thenReturn(bytesSAR); + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentTranscript(),isGraduated))).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GradStudentReports.class)).thenReturn(Mono.just(rep)); + + when(this.restService.post(eq(String.format(constants.getUpdateGradStudentTranscript(),isGraduated)), any(), eq(GradStudentReports.class))).thenReturn(rep); + + reportService.saveStudentTranscriptReportJasper(data, UUID.fromString(studentID),exception,isGraduated, false); assertThat(exception.getExceptionName()).isNull(); } @@ -389,15 +398,16 @@ public void testGetCertificateList_whenAPIisDown_throwsException() { comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); - when(this.webClient.post()).thenThrow(new RuntimeException("Test - API is down")); + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenThrow(new RuntimeException("Test - API is down")); - var results = reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + var results = reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertNotNull(results); assertThat(results).isEmpty(); assertNotNull(exception); @@ -456,21 +466,25 @@ public void testGetCertificateList() { comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); - - List listCC =reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); + + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); + + List listCC =reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -512,14 +526,16 @@ public void testGetCertificateList_PFProgram() { pc.setSchoolCategoryCode(" "); clist.add(pc); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); - +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); + + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); + StudentOptionalProgram spgm = new StudentOptionalProgram(); spgm.setPen("123090109"); spgm.setOptionalProgramCode("DD"); @@ -534,13 +550,15 @@ public void testGetCertificateList_PFProgram() { comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); - List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); + + List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -590,11 +608,13 @@ public void testGetCertificateList_PFProgram_nodogwood() { comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); List clist= new ArrayList(); ProgramCertificateTranscript pc = new ProgramCertificateTranscript(); @@ -602,15 +622,17 @@ public void testGetCertificateList_PFProgram_nodogwood() { pc.setSchoolCategoryCode(" "); clist.add(pc); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); - List listCC= reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); + + List listCC= reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -632,11 +654,14 @@ public void testGetCertificateList_emptyOptionalProgram() { comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); + GradAlgorithmGraduationStudentRecord gradAlgorithmGraduationStatus = new GradAlgorithmGraduationStudentRecord(); gradAlgorithmGraduationStatus.setPen("123090109"); @@ -664,16 +689,18 @@ public void testGetCertificateList_emptyOptionalProgram() { pc.setSchoolCategoryCode(" "); clist.add(pc); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); - +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); + + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); + List list = new ArrayList(); - List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -715,24 +742,29 @@ public void testGetCertificateList_FrenchImmersion() { pc.setSchoolCategoryCode(" "); clist.add(pc); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); + + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); + CommonSchool comSchObj = new CommonSchool(); comSchObj.setDistNo("123"); comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); StudentOptionalProgram spgm = new StudentOptionalProgram(); spgm.setPen("123090109"); @@ -743,7 +775,7 @@ public void testGetCertificateList_FrenchImmersion() { spgm.setOptionalProgramCompletionDate("2020-09-01"); List list = new ArrayList(); list.add(spgm); - List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -795,26 +827,30 @@ public void testGetCertificateList_FrenchImmersion_nullProgramCompletionDate() { pc.setSchoolCategoryCode("02"); clist.add(pc); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getCertList())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(new ParameterizedTypeReference>(){})).thenReturn(Mono.just(clist)); + + when(this.restService.post(eq(constants.getCertList()), any(), eq(List.class))).thenReturn(clist); CommonSchool comSchObj = new CommonSchool(); comSchObj.setDistNo("123"); comSchObj.setSchlNo("1123"); comSchObj.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(comSchObj)); - List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,accessToken,exception); + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(comSchObj); + + List listCC = reportService.getCertificateList(gradResponse, graduationDataStatus, list,exception); assertThat(listCC).hasSize(1); } @@ -885,27 +921,34 @@ public void testPrepareReportData() { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); GraduationStudentRecord gradResponse = new GraduationStudentRecord(); gradResponse.setPen("123090109"); @@ -922,7 +965,7 @@ public void testPrepareReportData() { cDto.setName("French Immersion"); optionalProgram.add(cDto); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1062,28 +1105,35 @@ public void testPrepareReportData_nullProgramData() { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + List optionalProgram = new ArrayList(); CodeDTO cDto = new CodeDTO(); cDto.setCode("FI"); @@ -1099,7 +1149,7 @@ public void testPrepareReportData_nullProgramData() { gradResponse.setStudentStatus("D"); gradResponse.setUpdateDate(LocalDateTime.now()); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1154,27 +1204,35 @@ public void testPrepareReportData_exams_notnull(String program,String accessToke sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("06011033"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + List optionalProgram = new ArrayList(); CodeDTO cDto = new CodeDTO(); @@ -1190,7 +1248,7 @@ public void testPrepareReportData_exams_notnull(String program,String accessToke gradResponse.setStudentGrade("11"); gradResponse.setStudentStatus("D"); gradResponse.setUpdateDate(LocalDateTime.now()); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1255,31 +1313,39 @@ public void testPrepareReportData_Desig_3() { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); GraduationProgramCode gP = new GraduationProgramCode(); gP.setProgramCode("2018-EN"); gP.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + List optionalProgram = new ArrayList(); CodeDTO cDto = new CodeDTO(); @@ -1296,7 +1362,7 @@ public void testPrepareReportData_Desig_3() { gradResponse.setStudentStatus("D"); gradResponse.setUpdateDate(LocalDateTime.now()); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1366,27 +1432,35 @@ public void testPrepareReportData_Desig_4() { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); - - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + List optionalProgram = new ArrayList(); CodeDTO cDto = new CodeDTO(); @@ -1403,7 +1477,7 @@ public void testPrepareReportData_Desig_4() { gradResponse.setStudentStatus("D"); gradResponse.setUpdateDate(LocalDateTime.now()); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1462,12 +1536,15 @@ public void testPrepareReportData_Desig_2() { gP.setProgramCode("2018-EN"); gP.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); - +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gP)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradAlgorithmGraduationStatus.getProgram()), GraduationProgramCode.class)).thenReturn(gP); + + List optionalProgram = new ArrayList(); CodeDTO cDto = new CodeDTO(); cDto.setCode("FI"); @@ -1483,7 +1560,7 @@ public void testPrepareReportData_Desig_2() { gradResponse.setStudentStatus("D"); gradResponse.setUpdateDate(LocalDateTime.now()); - ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,accessToken,exception); + ReportData dta = reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception); assertThat(dta).isNotNull(); } @@ -1547,30 +1624,38 @@ public void testSaveStudentAchievementReport() throws Exception { commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "06011033"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getAchievementReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentReport(),isGraduated))).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GradStudentReports.class)).thenReturn(Mono.just(rep)); - - reportService.saveStudentAchivementReportJasper(pen, data, accessToken, UUID.fromString(studentID), exception, isGraduated); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "06011033"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"06011033"), CommonSchool.class)).thenReturn(commSch); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getAchievementReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); + + when(this.restService.post(eq(constants.getAchievementReport()), any(), eq(byte[].class))).thenReturn(bytesSAR); + +// +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(String.format(constants.getUpdateGradStudentReport(),isGraduated))).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GradStudentReports.class)).thenReturn(Mono.just(rep)); + + when(this.restService.post(eq(String.format(constants.getUpdateGradStudentReport(),isGraduated)), any(), eq(GradStudentReports.class))).thenReturn(rep); + + reportService.saveStudentAchivementReportJasper(pen, data, UUID.fromString(studentID), exception, isGraduated); assertThat(exception.getExceptionName()).isNull(); } @@ -1583,11 +1668,41 @@ public void testStudentAchievementReport() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + + List programRequirementCodes = new ArrayList<>(); + + ProgramRequirementCode programRequirementCode = new ProgramRequirementCode(); + programRequirementCode.setProReqCode("105"); + programRequirementCode.setTraxReqChar("h"); + + programRequirementCodes.add(programRequirementCode); + + programRequirementCode = new ProgramRequirementCode(); + programRequirementCode.setProReqCode("109"); + programRequirementCode.setTraxReqChar("I"); + + programRequirementCodes.add(programRequirementCode); + + programRequirementCode = new ProgramRequirementCode(); + programRequirementCode.setProReqCode("113"); + programRequirementCode.setTraxReqChar("n"); + + programRequirementCodes.add(programRequirementCode); + + programRequirementCode = new ProgramRequirementCode(); + programRequirementCode.setProReqCode("117"); + programRequirementCode.setTraxReqChar("i"); + + programRequirementCodes.add(programRequirementCode); + + when(this.restService.get(constants.getProgramRequirementsEndpoint(), List.class)).thenReturn(programRequirementCodes); SpecialCase spc = new SpecialCase(); spc.setLabel("dfsdgs"); @@ -1595,13 +1710,16 @@ public void testStudentAchievementReport() throws Exception { spc.setSpCase("A"); spc.setPassFlag("Y"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(spc)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(spc)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(spc); - ReportData data = reportService.prepareAchievementReportData(gradStatus,optionalProgram,null, exception); + + ReportData data = reportService.prepareAchievementReportData(gradStatus,optionalProgram, exception); assertNotNull(data); assertNotNull(data.getStudentExams()); assertNotNull(data.getStudentCourses()); @@ -1638,21 +1756,27 @@ public void testGetTranscript() throws Exception { graduationStudentRecord.setStudentID(UUID.fromString(gradSearchStudent.getStudentID())); graduationStudentRecord.setUpdateDate(LocalDateTime.now()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); - - var result = reportService.getTranscript(graduationStudentRecord, gradStatus, "accessToken", new ExceptionMessage()); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); + + + var result = reportService.getTranscript(graduationStudentRecord, gradStatus, new ExceptionMessage()); assertNotNull(result); } @@ -1676,15 +1800,19 @@ public void testGetTranscriptException() throws Exception { graduationStudentRecord.setStudentID(UUID.fromString(gradSearchStudent.getStudentID())); graduationStudentRecord.setUpdateDate(LocalDateTime.now()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenThrow(new RuntimeException()); ExceptionMessage message = new ExceptionMessage(); - var result = reportService.getTranscript(graduationStudentRecord, gradStatus, "accessToken", message); + var result = reportService.getTranscript(graduationStudentRecord, gradStatus, message); assertNull(result); assertEquals("GRAD-GRADUATION-REPORT-API IS DOWN", message.getExceptionName()); } @@ -1701,11 +1829,13 @@ public void testReportDataByPen() throws Exception { final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { }; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); StudentCareerProgram studentCareerProgram1 = new StudentCareerProgram(); studentCareerProgram1.setCareerProgramCode("XH"); @@ -1741,27 +1871,35 @@ public void testReportDataByPen() throws Exception { } } - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradProgram.getProgramCode()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradProgram.getProgramCode()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradProgram.getProgramCode()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -1777,41 +1915,52 @@ public void testReportDataByPen() throws Exception { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); SchoolTrax schtrax = new SchoolTrax(); schtrax.setMinCode("00502001"); schtrax.setSchoolName("ROBERT DDGELL"); schtrax.setAddress1("My Address"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolDetails(),schtrax.getMinCode()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SchoolTrax.class)).thenReturn(Mono.just(schtrax)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolDetails(),schtrax.getMinCode()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SchoolTrax.class)).thenReturn(Mono.just(schtrax)); + + when(this.restService.get(String.format(constants.getSchoolDetails(),schtrax.getMinCode()), SchoolTrax.class)).thenReturn(schtrax); DistrictTrax disttrax = new DistrictTrax(); disttrax.setDistrictNumber("005"); disttrax.setDistrictName("My District"); disttrax.setAddress1("My Address"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getDistrictDetails(),schtrax.getMinCode()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(DistrictTrax.class)).thenReturn(Mono.just(disttrax)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getDistrictDetails(),schtrax.getMinCode()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(DistrictTrax.class)).thenReturn(Mono.just(disttrax)); + + when(this.restService.get(String.format(constants.getDistrictDetails(),schtrax.getMinCode()), DistrictTrax.class)).thenReturn(disttrax); + List programRequirementCodes = new ArrayList<>(); @@ -1839,36 +1988,41 @@ public void testReportDataByPen() throws Exception { programRequirementCodes.add(programRequirementCode); - ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { +// }; +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); + when(this.restService.get(constants.getProgramRequirementsEndpoint(), List.class)).thenReturn(programRequirementCodes); - ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { +// }; StudentOptionalProgram studentOptionalProgram = new StudentOptionalProgram(); studentOptionalProgram.setOptionalProgramCode("DD"); studentOptionalProgram.setOptionalProgramName("Advanced Placement"); studentOptionalProgram.setStudentID(graduationStudentRecord.getStudentID()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); - ReportData transcriptData = reportService.prepareTranscriptData(pen, true, "accessToken", exception); + when(this.restService.get(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()), List.class)).thenReturn(List.of(studentOptionalProgram)); + + + ReportData transcriptData = reportService.prepareTranscriptData(pen, true, exception); assertNotNull(transcriptData); assertNotNull(transcriptData.getStudent()); assertNotNull(transcriptData.getTranscript()); assertEquals("1950", transcriptData.getGradProgram().getCode().getCode()); - transcriptData = reportService.prepareTranscriptData(pen, false, "accessToken", exception); + transcriptData = reportService.prepareTranscriptData(pen, false, exception); assertNotNull(transcriptData); assertNotNull(transcriptData.getStudent()); assertNotNull(transcriptData.getTranscript()); @@ -1879,7 +2033,7 @@ public void testReportDataByPen() throws Exception { assertFalse(result.getRequirementName(), StringUtils.contains(result.getRequirementName(), "3 - met, 4 - met again")); } - ReportData certificateData = reportService.prepareCertificateData(pen, "accessToken", exception); + ReportData certificateData = reportService.prepareCertificateData(pen, exception); assertNotNull(certificateData); assertNotNull(certificateData.getStudent()); assertNotNull(certificateData.getCertificate()); @@ -1895,14 +2049,17 @@ public void testReportDataByPen_witherrors3() throws Exception { gradSearchStudent.setPen(pen); gradSearchStudent.setStudentID(gradStatus.getGradStudent().getStudentID()); - final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { - }; +// final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { +// }; + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); GraduationStudentRecord graduationStudentRecord = new GraduationStudentRecord(); graduationStudentRecord.setPen(pen); @@ -1918,22 +2075,28 @@ public void testReportDataByPen_witherrors3() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); - ReportData transcriptData = reportService.prepareTranscriptData(pen, true, "accessToken", exception); + + ReportData transcriptData = reportService.prepareTranscriptData(pen, true, exception); assertNull(transcriptData.getTranscript()); - ReportData certificateData = reportService.prepareCertificateData(pen, "accessToken", exception); + ReportData certificateData = reportService.prepareCertificateData(pen, exception); assertNull(certificateData.getCertificate()); } @@ -1947,14 +2110,17 @@ public void testReportDataByPen_witherrors2() throws Exception { gradSearchStudent.setPen(pen); gradSearchStudent.setStudentID(gradStatus.getGradStudent().getStudentID()); - final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { - }; +// final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { +// }; + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); GraduationStudentRecord graduationStudentRecord = new GraduationStudentRecord(); graduationStudentRecord.setPen(pen); @@ -1970,22 +2136,28 @@ public void testReportDataByPen_witherrors2() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), Exception.class)).thenReturn(new Exception()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); - ReportData transcriptData = reportService.prepareTranscriptData(pen, true, "accessToken", exception); + ReportData transcriptData = reportService.prepareTranscriptData(pen, true, exception); assertNull(transcriptData.getTranscript()); - ReportData certificateData = reportService.prepareCertificateData(pen, "accessToken", exception); + ReportData certificateData = reportService.prepareCertificateData(pen, exception); assertNull(certificateData.getCertificate()); } @@ -1999,16 +2171,19 @@ public void testReportDataByPen_withErrors() throws Exception { gradSearchStudent.setPen(pen); gradSearchStudent.setStudentID(gradStatus.getGradStudent().getStudentID()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); - ReportData transcriptData = reportService.prepareTranscriptData(pen, true, "accessToken", exception); + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), Exception.class)).thenReturn(new Exception()); + + + ReportData transcriptData = reportService.prepareTranscriptData(pen, true, exception); assertNull(transcriptData.getTranscript()); - ReportData certificateData = reportService.prepareCertificateData(pen, "accessToken", exception); + ReportData certificateData = reportService.prepareCertificateData(pen, exception); assertNull(certificateData.getGraduationData()); } @@ -2025,11 +2200,14 @@ public void testTranscriptReportByPen() throws Exception { final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { }; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); + GraduationStudentRecord graduationStudentRecord = new GraduationStudentRecord(); graduationStudentRecord.setPen(pen); @@ -2043,27 +2221,36 @@ public void testTranscriptReportByPen() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2075,23 +2262,29 @@ public void testTranscriptReportByPen() throws Exception { req.setProgramCode(gradProgram.getProgramCode()); req.setSchoolCategoryCode(commSch.getSchoolCategoryCode()); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); + SpecialCase sp = new SpecialCase(); sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); + List programRequirementCodes = new ArrayList<>(); @@ -2119,46 +2312,54 @@ public void testTranscriptReportByPen() throws Exception { programRequirementCodes.add(programRequirementCode); - ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { +// }; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); - ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { - }; + when(this.restService.get(constants.getProgramRequirementsEndpoint(), List.class)).thenReturn(programRequirementCodes); + + +// ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { +// }; StudentOptionalProgram studentOptionalProgram = new StudentOptionalProgram(); studentOptionalProgram.setOptionalProgramCode("FI"); studentOptionalProgram.setOptionalProgramName("Advanced Placement"); studentOptionalProgram.setStudentID(graduationStudentRecord.getStudentID()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); - ReportData transcriptData = reportService.prepareTranscriptData(pen, true, "accessToken", exception); + when(this.restService.get(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()), List.class)).thenReturn(List.of(studentOptionalProgram)); + + ReportData transcriptData = reportService.prepareTranscriptData(pen, true, exception); assertNotNull(transcriptData); assertNotNull(transcriptData.getStudent()); assertNotNull(transcriptData.getTranscript()); byte[] bytesSAR = RandomUtils.nextBytes(20); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(bytesSAR)); + + when(this.restService.post(eq(constants.getTranscriptReport()), any(), eq(byte[].class))).thenReturn(bytesSAR); - byte[] result = graduationService.prepareTranscriptReport(pen, "Interim", "true", "accessToken"); + + byte[] result = graduationService.prepareTranscriptReport(pen, "Interim", "true"); assertNotNull(result); assertNotEquals(0, result.length); @@ -2170,16 +2371,19 @@ public void testTranscriptReportByPenEmpty() throws Exception { assertNotNull(gradStatus); String pen = gradStatus.getGradStudent().getPen(); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenThrow(new ServiceException("NO_CONTENT", 204)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenThrow(new ServiceException("NO_CONTENT", 204)); + + when(this.restService.post(eq(constants.getTranscriptReport()), any(), eq(byte[].class))).thenThrow(new ServiceException("NO_CONTENT", 204)); - byte[] result = graduationService.prepareTranscriptReport(pen, "Interim", "true", "accessToken"); + + byte[] result = graduationService.prepareTranscriptReport(pen, "Interim", "true"); assertNotNull(result); assertEquals(0, result.length); @@ -2190,16 +2394,19 @@ public void testTranscriptReportByPenException() throws Exception { GraduationData gradStatus = createGraduationData("json/gradstatus.json"); String pen = gradStatus.getGradStudent().getPen(); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(byte[].class)).thenThrow(new ServiceException("INTERNAL_SERVER_ERROR", 500)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscriptReport())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.onStatus(any(), any())).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(byte[].class)).thenThrow(new ServiceException("INTERNAL_SERVER_ERROR", 500)); + + when(this.restService.post(eq(constants.getTranscriptReport()), any(), eq(byte[].class))).thenThrow(new ServiceException("INTERNAL_SERVER_ERROR", 500)); - graduationService.prepareTranscriptReport(pen, "Interim", "true", "accessToken"); + + graduationService.prepareTranscriptReport(pen, "Interim", "true"); } @@ -2223,27 +2430,36 @@ public void testReportDataByGraduationData() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2255,19 +2471,25 @@ public void testReportDataByGraduationData() throws Exception { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); List programRequirementCodes = new ArrayList<>(); @@ -2295,30 +2517,36 @@ public void testReportDataByGraduationData() throws Exception { programRequirementCodes.add(programRequirementCode); - ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { - }; +// ParameterizedTypeReference> programRequirementCodeResponseType = new ParameterizedTypeReference<>() { +// }; +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(constants.getProgramRequirementsEndpoint())).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(programRequirementCodeResponseType)).thenReturn(Mono.just(programRequirementCodes)); + when(this.restService.get(constants.getProgramRequirementsEndpoint(), List.class)).thenReturn(programRequirementCodes); - ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { - }; + +// ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { +// }; StudentOptionalProgram studentOptionalProgram = new StudentOptionalProgram(); studentOptionalProgram.setOptionalProgramCode("CP"); studentOptionalProgram.setOptionalProgramName("Advanced Placement"); studentOptionalProgram.setStudentID(graduationStudentRecord.getStudentID()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); + + when(this.restService.get(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()), List.class)).thenReturn(List.of(studentOptionalProgram)); + - ReportData data = reportService.prepareTranscriptData(gradStatus, true, "accessToken", exception); + ReportData data = reportService.prepareTranscriptData(gradStatus, true, exception); assertNotNull(data); assertNotNull(data.getStudent()); assertNotNull(data.getTranscript()); @@ -2337,27 +2565,36 @@ public void testReportDataByGraduationData_GSRNULL() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(null); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()), GraduationStudentRecord.class)).thenReturn(null); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(null); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2365,15 +2602,18 @@ public void testReportDataByGraduationData_GSRNULL() throws Exception { programCertificateTranscript.setSchoolCategoryCode("02"); programCertificateTranscript.setCertificateTypeCode("E"); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); - ReportData data = reportService.prepareTranscriptData(gradStatus, true, "accessToken", exception); + + ReportData data = reportService.prepareTranscriptData(gradStatus, true, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getTranscript()); @@ -2400,22 +2640,28 @@ public void testGetGraduationStudentRecordAndGraduationData() throws Exception { gradSearchStudent.setPen(pen); gradSearchStudent.setStudentID(gradStatus.getGradStudent().getStudentID()); - final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { - }; +// final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { +// }; + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); - var result = reportService.getGraduationStudentRecordAndGraduationData(pen, "123"); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); + + + var result = reportService.getGraduationStudentRecordAndGraduationData(pen); assertNotNull(result); assertNotNull(result.getLeft()); assertNotNull(result.getRight()); @@ -2435,19 +2681,25 @@ public void testGetGraduationStudentRecordAndGraduationData_Exception() throws E final ParameterizedTypeReference> gradSearchStudentResponseType = new ParameterizedTypeReference<>() { }; - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getPenStudentApiByPenUrl(),pen))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(gradSearchStudentResponseType)).thenReturn(Mono.just(List.of(gradSearchStudent))); + + when(this.restService.get(String.format(constants.getPenStudentApiByPenUrl(),pen), List.class)).thenReturn(List.of(gradSearchStudent)); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),studentID))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn((null)); - var result = reportService.getGraduationStudentRecordAndGraduationData(pen, "123"); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),studentID))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn((null)); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),studentID), GraduationStudentRecord.class)).thenReturn(null); + + + var result = reportService.getGraduationStudentRecordAndGraduationData(pen); assertNull(result); } @@ -2457,7 +2709,7 @@ public void testReportDataByGraduationData_StudentNull() throws Exception { assertNotNull(gradStatus); gradStatus.getGradStudent().setStudentID(null); - ReportData data = reportService.prepareTranscriptData(gradStatus, true, "accessToken", exception); + ReportData data = reportService.prepareTranscriptData(gradStatus, true, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getTranscript()); @@ -2484,27 +2736,36 @@ public void testReportDataByGraduationData_EXCEPTION() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), Exception.class)).thenReturn(new Exception()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2512,15 +2773,18 @@ public void testReportDataByGraduationData_EXCEPTION() throws Exception { programCertificateTranscript.setSchoolCategoryCode("02"); programCertificateTranscript.setCertificateTypeCode("E"); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); + - ReportData data = reportService.prepareTranscriptData(gradStatus, true, "accessToken", exception); + ReportData data = reportService.prepareTranscriptData(gradStatus, true, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getTranscript()); @@ -2547,17 +2811,23 @@ public void testPrepareCertificateData() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()), GraduationStudentRecord.class)).thenReturn(graduationStudentRecord); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(Mono.just(graduationStudentRecord)); ParameterizedTypeReference> optionalProgramsResponseType = new ParameterizedTypeReference<>() { }; @@ -2567,21 +2837,27 @@ public void testPrepareCertificateData() throws Exception { studentOptionalProgram.setOptionalProgramName("Advanced Placement"); studentOptionalProgram.setStudentID(graduationStudentRecord.getStudentID()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(optionalProgramsResponseType)).thenReturn(Mono.just(List.of(studentOptionalProgram))); + + when(this.restService.get(String.format(constants.getStudentOptionalPrograms(), graduationStudentRecord.getStudentID()), List.class)).thenReturn(List.of(studentOptionalProgram)); + CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2593,21 +2869,26 @@ public void testPrepareCertificateData() throws Exception { sp.setSpCase("A"); sp.setLabel("AEG"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); - - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); - - ReportData data = reportService.prepareCertificateData(gradStatus, "accessToken", exception); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSpecialCase(),"A"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(SpecialCase.class)).thenReturn(Mono.just(sp)); + + when(this.restService.get(String.format(constants.getSpecialCase(),"A"), SpecialCase.class)).thenReturn(sp); + + +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); + + ReportData data = reportService.prepareCertificateData(gradStatus, exception); assertNotNull(data); assertNotNull(data.getStudent()); assertNotNull(data.getCertificate()); @@ -2626,27 +2907,36 @@ public void testPrepareCertificateData_GSRNULL() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + +// +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(null); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()), GraduationStudentRecord.class)).thenReturn(null); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationStudentRecord.class)).thenReturn(null); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2654,15 +2944,18 @@ public void testPrepareCertificateData_GSRNULL() throws Exception { programCertificateTranscript.setSchoolCategoryCode("02"); programCertificateTranscript.setCertificateTypeCode("E"); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); - ReportData data = reportService.prepareCertificateData(gradStatus, "accessToken", exception); + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); + + + ReportData data = reportService.prepareCertificateData(gradStatus, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getCertificate()); @@ -2675,7 +2968,7 @@ public void testPrepareCertificateData_StudentNull() throws Exception { assertNotNull(gradStatus); gradStatus.getGradStudent().setStudentID(null); - ReportData data = reportService.prepareCertificateData(gradStatus, "accessToken", exception); + ReportData data = reportService.prepareCertificateData(gradStatus, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getCertificate()); @@ -2702,27 +2995,36 @@ public void testPrepareCertificateData_EXCEPTION() throws Exception { gradProgram.setProgramCode("2018-EN"); gradProgram.setProgramName("2018 Graduation Program"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(GraduationProgramCode.class)).thenReturn(Mono.just(gradProgram)); + + when(this.restService.get(String.format(constants.getProgramNameEndpoint(),gradStatus.getGradStudent().getProgram()), GraduationProgramCode.class)).thenReturn(gradProgram); + + +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); + + when(this.restService.get(String.format(constants.getReadGradStudentRecord(),gradStatus.getGradStudent().getStudentID()), Exception.class)).thenReturn(new Exception()); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getReadGradStudentRecord(),graduationStudentRecord.getStudentID().toString()))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(Exception.class)).thenReturn(Mono.just(new Exception())); CommonSchool commSch = new CommonSchool(); commSch.setSchlNo("09323027"); commSch.setSchoolCategoryCode("02"); - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(), "09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.just(commSch)); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(commSch); + ProgramCertificateTranscript programCertificateTranscript = new ProgramCertificateTranscript(); programCertificateTranscript.setPcId(UUID.randomUUID()); @@ -2730,15 +3032,18 @@ public void testPrepareCertificateData_EXCEPTION() throws Exception { programCertificateTranscript.setSchoolCategoryCode("02"); programCertificateTranscript.setCertificateTypeCode("E"); - when(this.webClient.post()).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); - when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); - when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); +// when(this.webClient.post()).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.uri(constants.getTranscript())).thenReturn(this.requestBodyUriMock); +// when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.contentType(any())).thenReturn(this.requestBodyMock); +// when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(ProgramCertificateTranscript.class)).thenReturn(Mono.just(programCertificateTranscript)); + + when(this.restService.post(eq(constants.getTranscript()), any(), eq(ProgramCertificateTranscript.class))).thenReturn(programCertificateTranscript); - ReportData data = reportService.prepareCertificateData(gradStatus,"accessToken", exception); + + ReportData data = reportService.prepareCertificateData(gradStatus, exception); assertNotNull(data); assertNull(data.getStudent()); assertNull(data.getCertificate()); @@ -2842,11 +3147,13 @@ public void testGetSchoolCategoryCode() { @Test public void testGetSchoolCategoryCodeNull() { - when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); - when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); - when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); - when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.empty()); +// when(this.webClient.get()).thenReturn(this.requestHeadersUriMock); +// when(this.requestHeadersUriMock.uri(String.format(constants.getSchoolCategoryCode(),"09323027"))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.headers(any(Consumer.class))).thenReturn(this.requestHeadersMock); +// when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); +// when(this.responseMock.bodyToMono(CommonSchool.class)).thenReturn(Mono.empty()); + + when(this.restService.get(String.format(constants.getSchoolCategoryCode(),"09323027"), CommonSchool.class)).thenReturn(null); var result = reportService.getSchoolCategoryCode("09323027"); assertThat(result).isNull(); diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchooReportsServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchooReportsServiceTest.java index 90985b8f..2c669b0a 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchooReportsServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchooReportsServiceTest.java @@ -96,7 +96,7 @@ public void testSchoolReports() { List gradStudentDataList = createStudentSchoolData("json/studentSchoolYearEndResponse.json"); Mockito.when(reportService.getStudentsForSchoolYearEndReport("accessToken")).thenReturn(gradStudentDataList); Mockito.when(reportService.getStudentsForSchoolNonGradYearEndReport("accessToken")).thenReturn(gradStudentDataList); - Mockito.when(reportService.getStudentsForSchoolReport("accessToken")).thenReturn(gradStudentDataList); + Mockito.when(reportService.getStudentsForSchoolReport()).thenReturn(gradStudentDataList); byte[] bytesSAR1 = readBinaryFile("data/sample.pdf"); diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchoolServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchoolServiceTest.java index 82bc04a5..9126489b 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchoolServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/SchoolServiceTest.java @@ -77,7 +77,7 @@ public void testGetSchoolDetails() { schtrax.setMinCode(mincode); schtrax.setAddress1("1231"); when(this.restService.get(any(String.class), any())).thenReturn(schtrax); - SchoolTrax res = schoolService.getTraxSchoolDetails(mincode, accessToken, new ExceptionMessage()); + SchoolTrax res = schoolService.getTraxSchoolDetails(mincode, new ExceptionMessage()); assertNotNull(res); assertEquals(res.getMinCode(),mincode); } @@ -89,7 +89,7 @@ public void testGetSchoolDetailsNoToken() { schtrax.setMinCode(mincode); schtrax.setAddress1("1231"); mockTokenResponseObject(); - when(this.restService.get(any(String.class), any(), any())).thenReturn(schtrax); + when(this.restService.get(any(String.class), any())).thenReturn(schtrax); SchoolTrax res = schoolService.getTraxSchoolDetails(mincode); assertNotNull(res); assertEquals(res.getMinCode(),mincode); @@ -102,7 +102,7 @@ public void testGetDistrictDetailsNoToken() { schtrax.setDistrictNumber(mincode); schtrax.setAddress1("1231"); mockTokenResponseObject(); - when(this.restService.get(any(String.class), any(), any())).thenReturn(schtrax); + when(this.restService.get(any(String.class), any())).thenReturn(schtrax); DistrictTrax res = schoolService.getTraxDistrictDetails(mincode); assertNotNull(res); assertEquals(res.getDistrictNumber(),mincode); From 5d1a34305e5c5ecea3babc3d2aa5a52936776f62 Mon Sep 17 00:00:00 2001 From: Jinil Sung Date: Wed, 11 Sep 2024 14:55:37 -0700 Subject: [PATCH 04/16] GRAD2-2929: clean up comments. GRAD2-2929: clean up comments. --- .../educ/api/graduation/service/GraduationService.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java index 20a1cfe4..558630ab 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java @@ -206,16 +206,7 @@ private boolean isGraduated(GraduationStudentRecord graduationStudentRecord, Gra public byte[] getSchoolReports(List uniqueSchoolList, String type) { byte[] result = new byte[0]; -// Pair res = Pair.of(accessToken, System.currentTimeMillis()); -// int i = 0; for (String usl : uniqueSchoolList) { -// if (i == 0) { -// res = getAccessToken(accessToken); -// } else { -// res = checkAndGetAccessToken(res); -// } -// accessToken = res.getLeft(); - try { List stdList = gradStatusService.getStudentListByMinCode(usl); SchoolTrax schoolDetails = schoolService.getTraxSchoolDetails(usl, new ExceptionMessage()); From 91d1e2915fb2ceb1692966fc8a7e5fb9abc66a23 Mon Sep 17 00:00:00 2001 From: "chris.ditcher" Date: Thu, 12 Sep 2024 11:27:07 -0700 Subject: [PATCH 05/16] Increased header size --- api/src/main/resources/application.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api/src/main/resources/application.yaml b/api/src/main/resources/application.yaml index 9a0e0583..c4862069 100644 --- a/api/src/main/resources/application.yaml +++ b/api/src/main/resources/application.yaml @@ -61,6 +61,7 @@ server: worker: 128 io: 16 #port: ${HTTP_PORT} + max-http-request-header-size: 20000 authorization: user: ${GRAD_CLIENT_NAME} From 3c3bc810d99c5c9ab47e6a8e061949fa1e848a10 Mon Sep 17 00:00:00 2001 From: Jinil Sung Date: Thu, 12 Sep 2024 12:12:20 -0700 Subject: [PATCH 06/16] GARD2-2929: task is complete. GARD2-2929: task is complete. --- .../graduation/model/dto/ProcessorData.java | 1 - .../graduation/process/AlgorithmSupport.java | 2 - .../process/GraduateStudentProcess.java | 3 -- .../graduation/service/GraduationService.java | 23 +--------- .../api/graduation/service/ReportService.java | 46 +------------------ .../educ/api/graduation/util/TokenUtils.java | 23 ---------- .../service/GraduationServiceTest.java | 24 ---------- 7 files changed, 2 insertions(+), 120 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java index 1f9ad5af..95f0b166 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/ProcessorData.java @@ -13,7 +13,6 @@ public class ProcessorData { private GraduationStudentRecord gradResponse; private AlgorithmResponse algorithmResponse; -// private String accessToken; private String studentID; private Long batchId; private ExceptionMessage exception; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java index eb3eceb9..991d1b77 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/AlgorithmSupport.java @@ -47,7 +47,6 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData try { if (graduationDataStatus.isGraduated() && graduationStatusResponse.getProgramCompletionDate() != null && graduationDataStatus.getSchool() != null && graduationDataStatus.getSchool().getCertificateEligibility().equalsIgnoreCase("Y")) { List certificateList = reportService.getCertificateList(gradResponse, graduationDataStatus, projectedOptionalGradResponse, exception); - tokenUtils.checkAndSetAccessToken(processorData); for (ProgramCertificateTranscript certType : certificateList) { if("FMR".equalsIgnoreCase(processName)) { boolean createCertificate = false; @@ -83,7 +82,6 @@ public ExceptionMessage createStudentCertificateTranscriptReports(GraduationData if ((graduationDataStatus.getStudentCourses().getStudentCourseList() == null || graduationDataStatus.getStudentCourses().getStudentCourseList().isEmpty()) && (graduationDataStatus.getStudentAssessments().getStudentAssessmentList() == null || graduationDataStatus.getStudentAssessments().getStudentAssessmentList().isEmpty())) { logger.debug("**** No Transcript Generated: ****"); } else if (graduationDataStatus.getSchool() != null && graduationDataStatus.getSchool().getTranscriptEligibility().equalsIgnoreCase("Y")) { - tokenUtils.checkAndSetAccessToken(processorData); reportService.saveStudentTranscriptReportJasper(data, graduationStatusResponse.getStudentID(), exception, graduationDataStatus.isGraduated(), "FMR".equalsIgnoreCase(processName)); if(data.getTranscript() != null && data.getTranscript().getTranscriptTypeCode() != null) { String transcriptTypeCode = ObjectUtils.defaultIfNull(data.getTranscript().getTranscriptTypeCode().getCode(), ""); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java index 33d125c0..b8ce26b3 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/process/GraduateStudentProcess.java @@ -25,7 +25,6 @@ public class GraduateStudentProcess extends BaseProcess { public ProcessorData fire(ProcessorData processorData) { long startTime = System.currentTimeMillis(); logger.debug("************* TIME START ************ {}",startTime); - tokenUtils.setAccessToken(processorData); ExceptionMessage exception = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); GraduationStudentRecord gradResponse = processorData.getGradResponse(); @@ -51,13 +50,11 @@ public ProcessorData fire(ProcessorData processorData) { return processorData; } logger.debug("**** Saved Grad Status: ****"); - tokenUtils.checkAndSetAccessToken(processorData); ReportData data = reportService.prepareTranscriptData(graduationDataStatus, gradResponse, false, exception); if(checkExceptions(data.getException(),algorithmResponse,processorData)) { return processorData; } logger.debug("**** Prepared Data for Reports: ****"); - tokenUtils.checkAndSetAccessToken(processorData); ExceptionMessage eMsg = algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,graduationStatusResponse,gradResponse,projectedOptionalGradResponse,exception,data,processorData, "GS"); if (checkExceptions(eMsg,algorithmResponse,processorData)) { gradStatusService.restoreStudentGradStatus(processorData.getStudentID(), graduationDataStatus.isGraduated()); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java index 558630ab..30d7d2b1 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java @@ -46,20 +46,18 @@ public class GraduationService { GradStatusService gradStatusService; SchoolService schoolService; ReportService reportService; - TokenUtils tokenUtils; RESTService restService; EducGraduationApiConstants educGraduationApiConstants; SchoolYearDates schoolYearDates; JsonTransformer jsonTransformer; @Autowired - public GraduationService(WebClient webClient, AlgorithmProcessFactory algorithmProcessFactory, GradStatusService gradStatusService, SchoolService schoolService, ReportService reportService, TokenUtils tokenUtils, RESTService restService, EducGraduationApiConstants educGraduationApiConstants, SchoolYearDates schoolYearDates, JsonTransformer jsonTransformer) { + public GraduationService(WebClient webClient, AlgorithmProcessFactory algorithmProcessFactory, GradStatusService gradStatusService, SchoolService schoolService, ReportService reportService, RESTService restService, EducGraduationApiConstants educGraduationApiConstants, SchoolYearDates schoolYearDates, JsonTransformer jsonTransformer) { this.webClient = webClient; this.algorithmProcessFactory = algorithmProcessFactory; this.gradStatusService = gradStatusService; this.schoolService = schoolService; this.reportService = reportService; - this.tokenUtils = tokenUtils; this.restService = restService; this.educGraduationApiConstants = educGraduationApiConstants; this.schoolYearDates = schoolYearDates; @@ -140,17 +138,6 @@ public byte[] prepareTranscriptReport(String pen, String interim, String preview reportParams.setData(reportData); try { -// return webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) -// .headers(h -> { -// h.setBearerAuth(accessToken); -// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); -// } -// ).body(BodyInserters.fromValue(reportParams)).retrieve() -// .onStatus( -// HttpStatus.NO_CONTENT::equals, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException("NO_CONTENT", response.statusCode().value())) -// ) -// .bodyToMono(byte[].class).block(); return restService.post(educGraduationApiConstants.getTranscriptReport(), reportParams, byte[].class); } catch (ServiceException ex) { if(HttpStatus.NO_CONTENT.value() == ex.getStatusCode()) { @@ -523,12 +510,4 @@ private SchoolReports getSchoolReports(String mincode, String encodedPdf, String return requestObj; } - private Pair checkAndGetAccessToken(Pair req) { - return tokenUtils.checkAndGetAccessToken(req); - } - - private Pair getAccessToken(String accessToken) { - return tokenUtils.getAccessToken(accessToken); - } - } \ No newline at end of file diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 93a481d2..13b912d7 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -126,7 +126,7 @@ public ReportData prepareTranscriptData(ca.bc.gov.educ.api.graduation.model.dto. SchoolTrax traxSchool = null; if(schoolAtGrad != null) { String mincode = schoolAtGrad.getMincode(); - traxSchool = schoolService.getTraxSchoolDetails(mincode, accessToken, exception); + traxSchool = schoolService.getTraxSchoolDetails(mincode, exception); } **/ SchoolTrax traxSchool = schoolService.getTraxSchoolDetails(schoolOfRecord.getMincode(), exception); //<-- @@ -686,12 +686,6 @@ private GradProgram getGradProgram(ca.bc.gov.educ.api.graduation.model.dto.Gradu } private List getAllProgramRequirementCodeList() { -// final ParameterizedTypeReference> responseType = new ParameterizedTypeReference<>() { -// }; -// return this.webClient.get() -// .uri(educGraduationApiConstants.getProgramRequirementsEndpoint()) -// .headers(h -> h.setBearerAuth(accessToken)) -// .retrieve().bodyToMono(responseType).block(); var response = this.restService.get(educGraduationApiConstants.getProgramRequirementsEndpoint(), List.class); return jsonTransformer.convertValue(response, new TypeReference>(){}); } @@ -950,20 +944,6 @@ private String generateStudentTranscriptReportJasper(ReportData sample, Exceptio reportParams.setOptions(options); reportParams.setData(sample); try { -// byte[] bytes = webClient.post().uri(educGraduationApiConstants.getTranscriptReport()) -// .headers(h -> { -// h.setBearerAuth(accessToken); -// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); -// } -// ).body(BodyInserters.fromValue(reportParams)) -// .retrieve() -// .onStatus(HttpStatusCode::is5xxServerError, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) -// .onStatus( -// HttpStatus.NO_CONTENT::equals, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) -// ) -// .bodyToMono(byte[].class).block(); byte[] bytes = restService.post(educGraduationApiConstants.getTranscriptReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytes); } catch (ServiceException ex) { @@ -1099,18 +1079,6 @@ private String generateStudentCertificateReportJasper(ReportData sample) { reportParams.setOptions(options); reportParams.setData(sample); try { -// byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getCertificateReport()) -// .headers(h -> { -// h.setBearerAuth(accessToken); -// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); -// }).body(BodyInserters.fromValue(reportParams)).retrieve() -// .onStatus(HttpStatusCode::is5xxServerError, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) -// .onStatus( -// HttpStatus.NO_CONTENT::equals, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) -// ) -// .bodyToMono(byte[].class).block(); byte[] bytesSAR = restService.post(educGraduationApiConstants.getCertificateReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytesSAR); } catch (ServiceException ex) { @@ -1130,18 +1098,6 @@ private String generateStudentAchievementReportJasper(ReportData data) { reportParams.setOptions(options); reportParams.setData(data); try { -// byte[] bytesSAR = webClient.post().uri(educGraduationApiConstants.getAchievementReport()) -// .headers(h -> { -// h.setBearerAuth(accessToken); -// h.set(EducGraduationApiConstants.CORRELATION_ID, ThreadLocalStateUtil.getCorrelationID()); -// }).body(BodyInserters.fromValue(reportParams)).retrieve() -// .onStatus(HttpStatusCode::is5xxServerError, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(INTERNAL_SERVER_ERROR, response.statusCode().value()))) -// .onStatus( -// HttpStatus.NO_CONTENT::equals, -// response -> response.bodyToMono(String.class).thenReturn(new ServiceException(NO_CONTENT, response.statusCode().value())) -// ) -// .bodyToMono(byte[].class).block(); byte[] bytesSAR = restService.post(educGraduationApiConstants.getAchievementReport(), reportParams, byte[].class); return getEncodedStringFromBytes(bytesSAR); } catch (ServiceException ex) { diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java index 7864095c..9fb66bfe 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/TokenUtils.java @@ -59,29 +59,6 @@ public String getAccessToken() { return this.getTokenResponseObject().getAccess_token(); } - public void checkAndSetAccessToken(ProcessorData processorData) { - long currentTime = System.currentTimeMillis(); - long diff = (currentTime - processorData.getStartTime())/1000; - LOGGER.debug("=========> Check Duration: {} sec <===========", diff); - if (diff > 120) { // if the previous step took more than 2 minutes, treat it as a long process, and get the new access token - LOGGER.debug("=========> Getting the new Access Token after 2 minutes <==========="); - ResponseObj responseObj = getTokenResponseObject(); - if (responseObj != null) { -// processorData.setAccessToken(responseObj.getAccess_token()); - processorData.setStartTime(currentTime); - } - } - } - - public void setAccessToken(ProcessorData processorData) { - long startTime = System.currentTimeMillis(); - ResponseObj responseObj = getTokenResponseObject(); - if (responseObj != null) { -// processorData.setAccessToken(responseObj.getAccess_token()); - processorData.setStartTime(startTime); - } - } - public ResponseObj getTokenResponseObject() { if(responseObjCache.isExpired()){ responseObjCache.setResponseObj(getResponseObj()); diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java index 6e496681..a2acf488 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/service/GraduationServiceTest.java @@ -77,9 +77,6 @@ public class GraduationServiceTest { @MockBean private SchoolService schoolService; - @MockBean - private TokenUtils tokenUtils; - @MockBean private ClientRegistrationRepository clientRegistrationRepository; @@ -558,7 +555,6 @@ public void testGraduateStudent_withProjectedTypeGS() { Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -633,7 +629,6 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check() { Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); @@ -713,7 +708,6 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check_2() { Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); @@ -796,7 +790,6 @@ public void testGraduateStudent_withProjectedTypeGS_excep_check_3() { Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); Mockito.when(algorithmSupport.createStudentCertificateTranscriptReports(graduationDataStatus,gradResponse,gradResponse,list,exception,data, pData, projectedType)).thenReturn(excep2); - doNothing().when(this.tokenUtils).setAccessToken(any()); ExceptionMessage eM2 = new ExceptionMessage(); AlgorithmResponse algorithmResponse = new AlgorithmResponse(); eM2.setExceptionName("RERE"); @@ -874,7 +867,6 @@ public void testGraduateStudent_withProjectedTypeGS_excep() { Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -935,7 +927,6 @@ public void testGraduateStudent_withProjectedTypeGS_programcompletionDate_notnul ReportData data = new ReportData(); data.setGradMessage("ABC"); - doNothing().when(this.tokenUtils).setAccessToken(any()); Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); try { AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); @@ -1021,7 +1012,6 @@ public void testGraduateStudent_withProjectedTypeGS_Graduated() { Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,exception)).thenReturn(certificateList); doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,pc,false); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1471,7 +1461,6 @@ public void testGraduateStudent_withProjectedTypeFMR_programcompletionDate_notnu ReportData data = new ReportData(); data.setGradMessage("ABC"); - doNothing().when(this.tokenUtils).setAccessToken(any()); Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); try { AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); @@ -1550,7 +1539,6 @@ public void testGraduateStudent_withProjectedTypeFMR_programCompletionDate_notnu Mockito.when(reportService.prepareTranscriptData(graduationDataStatus,gradResponse,false,exception)).thenReturn(data); Mockito.when(gradStatusService.saveStudentGradStatus(studentID,null,gradResponse,exception)).thenReturn(gradResponse); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1630,7 +1618,6 @@ public void testGraduateStudent_withProjectedTypeFMR_Graduated() { Mockito.when(reportService.getCertificateList(gradResponse,graduationDataStatus,list,exception)).thenReturn(certificateList); doNothing().when(reportService).saveStudentCertificateReportJasper(gradResponse,graduationDataStatus,pc,false); Mockito.when(optionalProgramService.saveAndLogOptionalPrograms(graduationDataStatus,studentID,new ArrayList<>())).thenReturn(list); - doNothing().when(this.tokenUtils).setAccessToken(any()); AlgorithmResponse response = graduationService.graduateStudent(studentID,null,projectedType); assertNotNull(response); } @@ -1715,7 +1702,6 @@ public void testGraduateStudent_withProjectedTypeGS_withexception() { ReportData data = new ReportData(); data.setGradMessage("ABC"); - doNothing().when(this.tokenUtils).setAccessToken(any()); Mockito.when(gradStatusService.getGradStatus(studentID, exception)).thenReturn(gradResponse); Mockito.when(gradAlgorithmService.runGradAlgorithm(gradResponse.getStudentID(), gradResponse.getProgram(), exception)).thenReturn(graduationDataStatus); Mockito.when(gradStatusService.prepareGraduationStatusObj(graduationDataStatus)).thenReturn(gradResponse); @@ -2032,9 +2018,6 @@ public void testCreateAndStoreSchoolReports() { when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); when(this.responseMock.bodyToMono(SchoolReports.class)).thenReturn(Mono.just(new SchoolReports())); - when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - when(this.tokenUtils.checkAndGetAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - when(this.restService.get(any(), any())).thenReturn(1); Mockito.when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); @@ -2087,8 +2070,6 @@ public void testCreateAndStoreStudentCertificates() { } when(reportService.getGraduationStudentRecordAndGraduationData(pen)).thenReturn(Pair.of(gsr, graduationData)); - when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - when(this.tokenUtils.checkAndGetAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); List pList = new ArrayList<>(); ProgramCertificateTranscript pcr = new ProgramCertificateTranscript(); @@ -2194,7 +2175,6 @@ public void testGetSchoolReports() { when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); when(schoolService.getTraxSchoolDetails(mincode, exception)).thenReturn(sTrax); - when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG"); assertNotNull(result); @@ -2211,8 +2191,6 @@ public void testGetSchoolReportsException() { List uniqueList = new ArrayList<>(); uniqueList.add(mincode); - when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - byte[] result = graduationService.getSchoolReports(uniqueList,"GRADREG"); assertNotNull(result); assertEquals(0, result.length); @@ -2264,8 +2242,6 @@ public void testCreateAndStoreSchoolReports_TVR() { when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); when(this.responseMock.bodyToMono(SchoolReports.class)).thenReturn(Mono.just(new SchoolReports())); - when(this.tokenUtils.getAccessToken(any())).thenReturn(Pair.of("accessToken", System.currentTimeMillis())); - when(this.restService.get(any(), any())).thenReturn(1); Mockito.when(gradStatusService.getStudentListByMinCode(mincode)).thenReturn(sList); From 7b700341d948ae670d5e1dae5f7de4fbc3f81435 Mon Sep 17 00:00:00 2001 From: arybakov Date: Tue, 17 Sep 2024 15:52:14 -0600 Subject: [PATCH 07/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue --- .../model/report/TranscriptResult.java | 7 ++++++- .../api/graduation/service/ReportService.java | 21 +++++++++++++------ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index 4eb73b18..11ef8734 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -1,6 +1,7 @@ package ca.bc.gov.educ.api.graduation.model.report; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import org.apache.commons.lang3.math.NumberUtils; import java.util.Objects; @@ -63,7 +64,11 @@ public void setUsedForGrad(String value) { } public Double getCompletedPercentage() { - return this.mark != null? this.mark.getCompletedCoursePercentage() : null; + return this.mark != null ? this.mark.getCompletedCoursePercentage() : null; + } + + public Double getInterimPercentage() { + return this.mark != null && NumberUtils.isDigits(this.mark.getInterimPercent()) ? NumberUtils.createDouble(this.mark.getInterimPercent()) : 0d; } @Override diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 1c7bebf7..ca18cae8 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -341,7 +341,7 @@ private void createCourseListForTranscript(List studentCourseList } result.setUsedForGrad(sc.getCreditsUsedForGrad() != null ? sc.getCreditsUsedForGrad().toString() : ""); result.setEquivalency(sc.getSpecialCase() != null && sc.getSpecialCase().compareTo("C") == 0 ? "C" : equivOrChallenge); - addIntoTranscriptList(result, tList); + addIntoTranscriptList(result, tList, xml); } } } @@ -366,18 +366,27 @@ private boolean isValidCutOffCourse(List studentCourseList, Stude } @Generated - private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList) { + private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList, boolean xml) { List dups = tList.stream().filter(tr -> tr.getCourse().isDuplicate(transcriptResult.getCourse()) && !tr.getCourse().equals(transcriptResult.getCourse()) - ).sorted(Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed()).toList(); + ).sorted( + Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed() + .thenComparing(TranscriptResult::getInterimPercentage, Comparator.nullsLast(Double::compareTo)).reversed() + ).toList(); // Handling duplicates if (!dups.isEmpty()) { - TranscriptResult tr = dups.get(0); + TranscriptResult duplicatedTranscriptResult = dups.get(0); // GRAD2-2394: only if a course taken previously was not used for grad(= requirementMet is blank), then the highest course will be taken - if (StringUtils.isBlank(tr.getRequirement()) && tr.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { + if (StringUtils.isBlank(duplicatedTranscriptResult.getRequirement()) && duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { // replace - tList.remove(tr); + tList.remove(duplicatedTranscriptResult); + tList.add(transcriptResult); + return; + } + if (xml && (duplicatedTranscriptResult.getInterimPercentage() < transcriptResult.getInterimPercentage())) { + // replace + tList.remove(duplicatedTranscriptResult); tList.add(transcriptResult); return; } From 510d6a22760dfd346cf8f050faed94cabedd516f Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 18 Sep 2024 16:38:47 -0600 Subject: [PATCH 08/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue --- .../controller/GraduationController.java | 15 ++++++++++++++- .../model/report/TranscriptResult.java | 11 +++++++++++ .../graduation/service/GraduationService.java | 2 +- .../api/graduation/service/ReportService.java | 16 ++++++++++++++-- .../util/EducGraduationApiConstants.java | 1 + .../graduation/util/EducGraduationApiUtils.java | 8 +++++++- .../controller/GraduationControllerTest.java | 8 ++++++++ 7 files changed, 56 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 7584dbfd..ee405325 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -82,7 +82,7 @@ public ResponseEntity reportDataByPen(@PathVariable @NotNull String @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_REPORT) @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) + @Operation(summary = "Get Transcript encoded binary from graduation by student pen", description = "Get Transcript encoded binary from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @@ -97,6 +97,19 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin return handleBinaryResponse(encoded, String.format("%sTranscript%sReport.pdfencoded", pen, interim), MediaType.TEXT_PLAIN); } + @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_PDF_REPORT) + @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) + @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) + @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) + public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, + @RequestParam(required = false) String interim, + @RequestParam(required = false) String preview, + @RequestHeader(name="Authorization") String accessToken) { + LOGGER.debug("Report Data By Student Pen: {}", pen); + byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview, accessToken.replace(BEARER, "")); + return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); + } + @PostMapping(EducGraduationApiConstants.GRADUATE_REPORT_DATA) @PreAuthorize(PermissionsContants.GRADUATE_DATA) @Operation(summary = "Adapt graduation data for reporting", description = "Adapt graduation data for reporting", tags = { "Graduation Data" }) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index 11ef8734..d14846c0 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -1,8 +1,12 @@ package ca.bc.gov.educ.api.graduation.model.report; +import ca.bc.gov.educ.api.graduation.util.EducGraduationApiUtils; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; +import java.util.Date; import java.util.Objects; public class TranscriptResult { @@ -63,14 +67,21 @@ public void setUsedForGrad(String value) { this.usedForGrad = value; } + @JsonIgnore public Double getCompletedPercentage() { return this.mark != null ? this.mark.getCompletedCoursePercentage() : null; } + @JsonIgnore public Double getInterimPercentage() { return this.mark != null && NumberUtils.isDigits(this.mark.getInterimPercent()) ? NumberUtils.createDouble(this.mark.getInterimPercent()) : 0d; } + @JsonIgnore + public Date getSessionDate() { + return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingTraxDate(this.course.getSessionDate()) : null; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java index b2471da1..6283fc25 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java @@ -134,7 +134,7 @@ public byte[] prepareTranscriptReport(String pen, String interim, String preview ReportOptions options = new ReportOptions(); options.setReportFile("transcript"); - options.setReportName("Transcript Report.pdf"); + options.setReportName(String.format("%sTranscript%sReport.pdf", pen, interim)); options.setPreview(isPreview); ReportRequest reportParams = new ReportRequest(); reportParams.setOptions(options); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index ca18cae8..8ad20434 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -371,7 +371,7 @@ private void addIntoTranscriptList(TranscriptResult transcriptResult, List Date: Thu, 19 Sep 2024 13:59:25 -0600 Subject: [PATCH 09/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue --- .../model/report/TranscriptResult.java | 2 +- .../graduation/service/GraduationService.java | 2 +- .../api/graduation/service/ReportService.java | 17 +++-------------- .../graduation/util/EducGraduationApiUtils.java | 15 +++++++++------ 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index d14846c0..b5da80e6 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -79,7 +79,7 @@ public Double getInterimPercentage() { @JsonIgnore public Date getSessionDate() { - return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingTraxDate(this.course.getSessionDate()) : null; + return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingCourseTraxDate(this.course.getSessionDate()) : null; } @Override diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java index 6283fc25..b2471da1 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/GraduationService.java @@ -134,7 +134,7 @@ public byte[] prepareTranscriptReport(String pen, String interim, String preview ReportOptions options = new ReportOptions(); options.setReportFile("transcript"); - options.setReportName(String.format("%sTranscript%sReport.pdf", pen, interim)); + options.setReportName("Transcript Report.pdf"); options.setPreview(isPreview); ReportRequest reportParams = new ReportRequest(); reportParams.setOptions(options); diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 8ad20434..89bc3aa7 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -371,7 +371,6 @@ private void addIntoTranscriptList(TranscriptResult transcriptResult, List 49) { // replace tList.remove(duplicatedTranscriptResult); tList.add(transcriptResult); return; } - } tList.add(transcriptResult); } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java index a67dabcf..ec36ae68 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java @@ -158,16 +158,19 @@ public static String parsingDateForCertificate(String sessionDate) { } public static Date parsingTraxDate(String sessionDate) { + String actualSessionDate = StringUtils.countMatches(sessionDate, "/") == 2 ? sessionDate : sessionDate + "/01"; + Date temp = EducGraduationApiUtils.parseDate(actualSessionDate, EducGraduationApiConstants.SECONDARY_DATE_FORMAT); + String sDates = EducGraduationApiUtils.formatDate(temp, EducGraduationApiConstants.DEFAULT_DATE_FORMAT); + return toLastDayOfMonth(EducGraduationApiUtils.parseDate(sDates, EducGraduationApiConstants.DEFAULT_DATE_FORMAT)); + } + + public static Date parsingCourseTraxDate(String sessionDate) { int countMatches = StringUtils.countMatches(sessionDate, "/"); - if(countMatches == 0) { + if (countMatches == 0) { StringBuilder sb = new StringBuilder(sessionDate); sessionDate = sb.insert(4, '/').toString(); - countMatches = 1; } - String actualSessionDate = countMatches == 2 ? sessionDate : sessionDate + "/01"; - Date temp = EducGraduationApiUtils.parseDate(actualSessionDate, EducGraduationApiConstants.SECONDARY_DATE_FORMAT); - String sDates = EducGraduationApiUtils.formatDate(temp, EducGraduationApiConstants.DEFAULT_DATE_FORMAT); - return toLastDayOfMonth(EducGraduationApiUtils.parseDate(sDates, EducGraduationApiConstants.DEFAULT_DATE_FORMAT)); + return parsingTraxDate(sessionDate); } public static LocalDate parsingTraxDateLocalDate(String sessionDate) { From fd215e7d69e55675b8f85561982b006a4fea85be Mon Sep 17 00:00:00 2001 From: arybakov Date: Thu, 19 Sep 2024 15:40:12 -0600 Subject: [PATCH 10/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue Fix merge issues --- .../api/graduation/controller/GraduationController.java | 5 ++--- .../api/graduation/controller/GraduationControllerTest.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 9a454dba..77ae6eb4 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -100,10 +100,9 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, - @RequestParam(required = false) String preview, - @RequestHeader(name="Authorization") String accessToken) { + @RequestParam(required = false) String preview) { LOGGER.debug("Report Data By Student Pen: {}", pen); - byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview, accessToken.replace(BEARER, "")); + byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java index cc37bb2b..a176a52f 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java @@ -101,9 +101,9 @@ void testReportTranscriptByPen() { @Test void testReportTranscriptPdfByPen() { byte[] bytesSAR = "Any String you want".getBytes(); - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null,"accessToken")).thenReturn(bytesSAR); - graduationController.reportTranscriptPdfByPen("12312312312","Interim",null,"accessToken"); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null,"accessToken"); + Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null)).thenReturn(bytesSAR); + graduationController.reportTranscriptPdfByPen("12312312312","Interim",null); + Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } @Test From 132fb2083da54d38fcfda0e55054d28fb443357b Mon Sep 17 00:00:00 2001 From: arybakov Date: Thu, 19 Sep 2024 15:54:28 -0600 Subject: [PATCH 11/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue Fix merge issues --- .../educ/api/graduation/controller/GraduationController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 77ae6eb4..ff100955 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -85,7 +85,7 @@ public ResponseEntity reportDataByPen(@PathVariable @NotNull String public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { - LOGGER.debug("Report Data By Student Pen: {}", pen); + LOGGER.debug("Report Data By Student Pen"); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); @@ -101,7 +101,7 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { - LOGGER.debug("Report Data By Student Pen: {}", pen); + LOGGER.debug("Report Data By Student Pen"); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); } From 25b9d82132ade37f4b6e0e298391b517d6f0d81a Mon Sep 17 00:00:00 2001 From: arybakov Date: Thu, 19 Sep 2024 15:55:22 -0600 Subject: [PATCH 12/16] GRAD2-2905 P3 - GRAD System - XML In Progress Course selection issue Fix merge issues --- .../educ/api/graduation/controller/GraduationController.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index ff100955..7f74816b 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -74,7 +74,6 @@ public ResponseEntity graduateStudentNew(@PathVariable String @Operation(summary = "Get Report data from graduation by student pen", description = "Get Report data from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type) { - LOGGER.debug("Report Data By Student Pen: {}", pen); return response.GET(gradService.prepareReportData(pen, type)); } @@ -85,7 +84,6 @@ public ResponseEntity reportDataByPen(@PathVariable @NotNull String public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { - LOGGER.debug("Report Data By Student Pen"); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); @@ -101,7 +99,6 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { - LOGGER.debug("Report Data By Student Pen"); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); } From e01bb595e071e166947ebdcd5deae9a80589e015 Mon Sep 17 00:00:00 2001 From: "chris.ditcher" Date: Thu, 26 Sep 2024 14:54:49 -0700 Subject: [PATCH 13/16] Revert "Merge pull request #543 from bcgov/develop/alex-GRAD2-2905" This reverts commit d81b2a94e25b57fd84e284a22dfacc2658fcab9f, reversing changes made to e6f0ea7b5718c52b3807cf4d0a4746630255de1f. --- .../controller/GraduationController.java | 15 +++---------- .../model/report/TranscriptResult.java | 18 +-------------- .../api/graduation/service/ReportService.java | 22 +++++-------------- .../util/EducGraduationApiConstants.java | 1 - .../util/EducGraduationApiUtils.java | 9 -------- .../controller/GraduationControllerTest.java | 8 ------- 6 files changed, 10 insertions(+), 63 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 7f74816b..e9554081 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -74,16 +74,18 @@ public ResponseEntity graduateStudentNew(@PathVariable String @Operation(summary = "Get Report data from graduation by student pen", description = "Get Report data from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type) { + LOGGER.debug("Report Data By Student Pen: {}", pen); return response.GET(gradService.prepareReportData(pen, type)); } @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_REPORT) @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript encoded binary from graduation by student pen", description = "Get Transcript encoded binary from graduation by student pen", tags = { "Graduation Data" }) + @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { + LOGGER.debug("Report Data By Student Pen: {}", pen); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); @@ -92,17 +94,6 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin return handleBinaryResponse(encoded, String.format("%sTranscript%sReport.pdfencoded", pen, interim), MediaType.TEXT_PLAIN); } - @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_PDF_REPORT) - @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) - @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, - @RequestParam(required = false) String interim, - @RequestParam(required = false) String preview) { - byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); - return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); - } - @PostMapping(EducGraduationApiConstants.GRADUATE_REPORT_DATA) @PreAuthorize(PermissionsContants.GRADUATE_DATA) @Operation(summary = "Adapt graduation data for reporting", description = "Adapt graduation data for reporting", tags = { "Graduation Data" }) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index b5da80e6..4eb73b18 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -1,12 +1,7 @@ package ca.bc.gov.educ.api.graduation.model.report; -import ca.bc.gov.educ.api.graduation.util.EducGraduationApiUtils; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; -import java.util.Date; import java.util.Objects; public class TranscriptResult { @@ -67,19 +62,8 @@ public void setUsedForGrad(String value) { this.usedForGrad = value; } - @JsonIgnore public Double getCompletedPercentage() { - return this.mark != null ? this.mark.getCompletedCoursePercentage() : null; - } - - @JsonIgnore - public Double getInterimPercentage() { - return this.mark != null && NumberUtils.isDigits(this.mark.getInterimPercent()) ? NumberUtils.createDouble(this.mark.getInterimPercent()) : 0d; - } - - @JsonIgnore - public Date getSessionDate() { - return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingCourseTraxDate(this.course.getSessionDate()) : null; + return this.mark != null? this.mark.getCompletedCoursePercentage() : null; } @Override diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 7e6237f0..13b912d7 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -295,7 +295,7 @@ private void createCourseListForTranscript(List studentCourseList } result.setUsedForGrad(sc.getCreditsUsedForGrad() != null ? sc.getCreditsUsedForGrad().toString() : ""); result.setEquivalency(sc.getSpecialCase() != null && sc.getSpecialCase().compareTo("C") == 0 ? "C" : equivOrChallenge); - addIntoTranscriptList(result, tList, xml); + addIntoTranscriptList(result, tList); } } } @@ -320,28 +320,18 @@ private boolean isValidCutOffCourse(List studentCourseList, Stude } @Generated - private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList, boolean xml) { + private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList) { List dups = tList.stream().filter(tr -> tr.getCourse().isDuplicate(transcriptResult.getCourse()) && !tr.getCourse().equals(transcriptResult.getCourse()) - ).sorted( - Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed() - ).toList(); + ).sorted(Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed()).toList(); // Handling duplicates if (!dups.isEmpty()) { - TranscriptResult duplicatedTranscriptResult = dups.get(0); + TranscriptResult tr = dups.get(0); // GRAD2-2394: only if a course taken previously was not used for grad(= requirementMet is blank), then the highest course will be taken - if (StringUtils.isBlank(duplicatedTranscriptResult.getRequirement()) && duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { + if (StringUtils.isBlank(tr.getRequirement()) && tr.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { // replace - tList.remove(duplicatedTranscriptResult); - tList.add(transcriptResult); - return; - } - if (xml && - (duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getInterimPercentage()) && - transcriptResult.getInterimPercentage() > 49) { - // replace - tList.remove(duplicatedTranscriptResult); + tList.remove(tr); tList.add(transcriptResult); return; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java index d627e42b..cd95174c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java @@ -22,7 +22,6 @@ public class EducGraduationApiConstants { public static final String GRADUATE_REPORT_DATA_BY_PEN = "/report/data/{pen}"; public static final String GRADUATE_REPORT_DATA = "/report/data"; public static final String GRADUATE_TRANSCRIPT_REPORT = "/report/transcript/{pen}"; - public static final String GRADUATE_TRANSCRIPT_PDF_REPORT = "/report/transcriptpdf/{pen}"; public static final String GRADUATE_CERTIFICATE_REPORT = "/report/certificate/{pen}"; public static final String GRADUATE_ACHIEVEMENT_REPORT = "/report/achievement/{pen}"; public static final String SCHOOL_REPORTS = "/report/school"; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java index ec36ae68..f53baf8c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java @@ -164,15 +164,6 @@ public static Date parsingTraxDate(String sessionDate) { return toLastDayOfMonth(EducGraduationApiUtils.parseDate(sDates, EducGraduationApiConstants.DEFAULT_DATE_FORMAT)); } - public static Date parsingCourseTraxDate(String sessionDate) { - int countMatches = StringUtils.countMatches(sessionDate, "/"); - if (countMatches == 0) { - StringBuilder sb = new StringBuilder(sessionDate); - sessionDate = sb.insert(4, '/').toString(); - } - return parsingTraxDate(sessionDate); - } - public static LocalDate parsingTraxDateLocalDate(String sessionDate) { return DateUtils.toLocalDate(parsingTraxDate(sessionDate)); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java index a176a52f..bee21e08 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java @@ -98,14 +98,6 @@ void testReportTranscriptByPen() { Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } - @Test - void testReportTranscriptPdfByPen() { - byte[] bytesSAR = "Any String you want".getBytes(); - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null)).thenReturn(bytesSAR); - graduationController.reportTranscriptPdfByPen("12312312312","Interim",null); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); - } - @Test void testReportTranscriptByPen_empty() { byte[] bytesSAR = new byte[0]; From 854631655d364bde19fad31d42037b8a3d5569e6 Mon Sep 17 00:00:00 2001 From: "chris.ditcher" Date: Thu, 26 Sep 2024 15:28:04 -0700 Subject: [PATCH 14/16] Revert "Revert "Merge pull request #543 from bcgov/develop/alex-GRAD2-2905"" This reverts commit e01bb595e071e166947ebdcd5deae9a80589e015. --- .../controller/GraduationController.java | 15 ++++++++++--- .../model/report/TranscriptResult.java | 18 ++++++++++++++- .../api/graduation/service/ReportService.java | 22 ++++++++++++++----- .../util/EducGraduationApiConstants.java | 1 + .../util/EducGraduationApiUtils.java | 9 ++++++++ .../controller/GraduationControllerTest.java | 8 +++++++ 6 files changed, 63 insertions(+), 10 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index e9554081..7f74816b 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -74,18 +74,16 @@ public ResponseEntity graduateStudentNew(@PathVariable String @Operation(summary = "Get Report data from graduation by student pen", description = "Get Report data from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type) { - LOGGER.debug("Report Data By Student Pen: {}", pen); return response.GET(gradService.prepareReportData(pen, type)); } @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_REPORT) @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) + @Operation(summary = "Get Transcript encoded binary from graduation by student pen", description = "Get Transcript encoded binary from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { - LOGGER.debug("Report Data By Student Pen: {}", pen); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); @@ -94,6 +92,17 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin return handleBinaryResponse(encoded, String.format("%sTranscript%sReport.pdfencoded", pen, interim), MediaType.TEXT_PLAIN); } + @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_PDF_REPORT) + @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) + @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) + @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) + public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, + @RequestParam(required = false) String interim, + @RequestParam(required = false) String preview) { + byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); + return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); + } + @PostMapping(EducGraduationApiConstants.GRADUATE_REPORT_DATA) @PreAuthorize(PermissionsContants.GRADUATE_DATA) @Operation(summary = "Adapt graduation data for reporting", description = "Adapt graduation data for reporting", tags = { "Graduation Data" }) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index 4eb73b18..b5da80e6 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -1,7 +1,12 @@ package ca.bc.gov.educ.api.graduation.model.report; +import ca.bc.gov.educ.api.graduation.util.EducGraduationApiUtils; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import java.util.Date; import java.util.Objects; public class TranscriptResult { @@ -62,8 +67,19 @@ public void setUsedForGrad(String value) { this.usedForGrad = value; } + @JsonIgnore public Double getCompletedPercentage() { - return this.mark != null? this.mark.getCompletedCoursePercentage() : null; + return this.mark != null ? this.mark.getCompletedCoursePercentage() : null; + } + + @JsonIgnore + public Double getInterimPercentage() { + return this.mark != null && NumberUtils.isDigits(this.mark.getInterimPercent()) ? NumberUtils.createDouble(this.mark.getInterimPercent()) : 0d; + } + + @JsonIgnore + public Date getSessionDate() { + return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingCourseTraxDate(this.course.getSessionDate()) : null; } @Override diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 13b912d7..7e6237f0 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -295,7 +295,7 @@ private void createCourseListForTranscript(List studentCourseList } result.setUsedForGrad(sc.getCreditsUsedForGrad() != null ? sc.getCreditsUsedForGrad().toString() : ""); result.setEquivalency(sc.getSpecialCase() != null && sc.getSpecialCase().compareTo("C") == 0 ? "C" : equivOrChallenge); - addIntoTranscriptList(result, tList); + addIntoTranscriptList(result, tList, xml); } } } @@ -320,18 +320,28 @@ private boolean isValidCutOffCourse(List studentCourseList, Stude } @Generated - private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList) { + private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList, boolean xml) { List dups = tList.stream().filter(tr -> tr.getCourse().isDuplicate(transcriptResult.getCourse()) && !tr.getCourse().equals(transcriptResult.getCourse()) - ).sorted(Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed()).toList(); + ).sorted( + Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed() + ).toList(); // Handling duplicates if (!dups.isEmpty()) { - TranscriptResult tr = dups.get(0); + TranscriptResult duplicatedTranscriptResult = dups.get(0); // GRAD2-2394: only if a course taken previously was not used for grad(= requirementMet is blank), then the highest course will be taken - if (StringUtils.isBlank(tr.getRequirement()) && tr.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { + if (StringUtils.isBlank(duplicatedTranscriptResult.getRequirement()) && duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { // replace - tList.remove(tr); + tList.remove(duplicatedTranscriptResult); + tList.add(transcriptResult); + return; + } + if (xml && + (duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getInterimPercentage()) && + transcriptResult.getInterimPercentage() > 49) { + // replace + tList.remove(duplicatedTranscriptResult); tList.add(transcriptResult); return; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java index cd95174c..d627e42b 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java @@ -22,6 +22,7 @@ public class EducGraduationApiConstants { public static final String GRADUATE_REPORT_DATA_BY_PEN = "/report/data/{pen}"; public static final String GRADUATE_REPORT_DATA = "/report/data"; public static final String GRADUATE_TRANSCRIPT_REPORT = "/report/transcript/{pen}"; + public static final String GRADUATE_TRANSCRIPT_PDF_REPORT = "/report/transcriptpdf/{pen}"; public static final String GRADUATE_CERTIFICATE_REPORT = "/report/certificate/{pen}"; public static final String GRADUATE_ACHIEVEMENT_REPORT = "/report/achievement/{pen}"; public static final String SCHOOL_REPORTS = "/report/school"; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java index f53baf8c..ec36ae68 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java @@ -164,6 +164,15 @@ public static Date parsingTraxDate(String sessionDate) { return toLastDayOfMonth(EducGraduationApiUtils.parseDate(sDates, EducGraduationApiConstants.DEFAULT_DATE_FORMAT)); } + public static Date parsingCourseTraxDate(String sessionDate) { + int countMatches = StringUtils.countMatches(sessionDate, "/"); + if (countMatches == 0) { + StringBuilder sb = new StringBuilder(sessionDate); + sessionDate = sb.insert(4, '/').toString(); + } + return parsingTraxDate(sessionDate); + } + public static LocalDate parsingTraxDateLocalDate(String sessionDate) { return DateUtils.toLocalDate(parsingTraxDate(sessionDate)); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java index bee21e08..a176a52f 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java @@ -98,6 +98,14 @@ void testReportTranscriptByPen() { Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } + @Test + void testReportTranscriptPdfByPen() { + byte[] bytesSAR = "Any String you want".getBytes(); + Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null)).thenReturn(bytesSAR); + graduationController.reportTranscriptPdfByPen("12312312312","Interim",null); + Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); + } + @Test void testReportTranscriptByPen_empty() { byte[] bytesSAR = new byte[0]; From e82fa3cfde4ac0a804cee708e38d9173472e8965 Mon Sep 17 00:00:00 2001 From: githubmamatha <106563495+githubmamatha@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:17:02 -0700 Subject: [PATCH 15/16] 1.23.4 Hotfix (#545) * Update update-configmap.sh * GRAD2-2995: the gender enum type is removed. (#544) GRAD2-2995: the gender enum type is removed. * Update pom.xml --------- Co-authored-by: Chris Ditcher Co-authored-by: Jinil Sung --- api/pom.xml | 2 +- .../model/dto/StudentGenderEnum.java | 19 ------------------- .../api/graduation/service/ReportService.java | 1 - 3 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/StudentGenderEnum.java diff --git a/api/pom.xml b/api/pom.xml index 99e95ebc..0bce7368 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -6,7 +6,7 @@ ca.bc.gov.educ educ-grad-graduation-api - 1.8.61 + 1.8.62 educ-grad-graduation-api Ministry of Education GRAD GRADUATION API diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/StudentGenderEnum.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/StudentGenderEnum.java deleted file mode 100644 index a6b5db14..00000000 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/dto/StudentGenderEnum.java +++ /dev/null @@ -1,19 +0,0 @@ -package ca.bc.gov.educ.api.graduation.model.dto; - -public enum StudentGenderEnum { - - M("Male"), - F("Female"); - - public final String label; - - - StudentGenderEnum(String label) { - this.label = label; - } - - @Override - public String toString() { - return label; - } -} diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 7e6237f0..670336c8 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -788,7 +788,6 @@ private GraduationStatus getGraduationStatus(ca.bc.gov.educ.api.graduation.model private Student getStudentDataAchvReport(GradSearchStudent studentObj, List optionalStudentProgram) { Student studObj = new Student(); - studObj.setGender(StudentGenderEnum.valueOf(studentObj.getGenderCode()).toString()); studObj.setCitizenship(studentObj.getStudentCitizenship()); studObj.setFirstName(studentObj.getLegalFirstName()); studObj.setMiddleName(studentObj.getLegalMiddleNames()); From 47a611f918bd66b250bf7f22c8b493ad1e0b69d8 Mon Sep 17 00:00:00 2001 From: githubmamatha <106563495+githubmamatha@users.noreply.github.com> Date: Thu, 3 Oct 2024 09:13:12 -0700 Subject: [PATCH 16/16] Update pom.xml --- api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/pom.xml b/api/pom.xml index 0bce7368..7559e89b 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -6,7 +6,7 @@ ca.bc.gov.educ educ-grad-graduation-api - 1.8.62 + 1.8.63 educ-grad-graduation-api Ministry of Education GRAD GRADUATION API