diff --git a/build.gradle b/build.gradle index c7a98f1c5..d39da4f95 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ buildscript { ext { - flywayVersion = '11.20.3' - postgresqlVersion = '42.7.10' + flywayVersion = '12.6.1' + postgresqlVersion = '42.7.11' } dependencies { classpath("org.postgresql:postgresql:$postgresqlVersion") // must be compatible with flyway version @@ -15,12 +15,12 @@ plugins { id 'pmd' id 'jacoco' id 'io.spring.dependency-management' version '1.1.7' - id 'org.springframework.boot' version '3.5.11' + id 'org.springframework.boot' version '4.0.6' id 'org.owasp.dependencycheck' version '12.2.0' - id 'com.github.ben-manes.versions' version '0.53.0' - id 'org.sonarqube' version '7.2.3.7755' + id 'com.github.ben-manes.versions' version '0.54.0' + id 'org.sonarqube' version '7.3.0.8198' id 'org.flywaydb.flyway' version "$flywayVersion" - id 'io.freefair.lombok' version '9.2.0' + id 'io.freefair.lombok' version '9.5.0' } group = 'uk.gov.hmcts.dts' @@ -79,7 +79,7 @@ test { ext.getVaultSecret = { String secretName -> new ByteArrayOutputStream().withStream { os -> - exec { + project.exec { commandLine 'az', 'keyvault', 'secret', 'show', '--vault-name', 'fact-aat', '-o', 'tsv', '--query', 'value', '--name', secretName standardOutput = os } @@ -194,36 +194,41 @@ repositories { } def versions = [ - reformLogging : '6.1.9', + reformLogging : '8.0.0', springBoot : springBoot.class.package.implementationVersion, flyway : "$flywayVersion", postgresql : "$postgresqlVersion" ] dependencies { - implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web' + implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webmvc' implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator' implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation' implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa' - implementation group: 'org.springframework.boot', name: 'spring-boot-starter-oauth2-resource-server' - implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign', version: '4.3.1' + implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security-oauth2-resource-server' + implementation group:'org.springframework.boot', name:'spring-boot-flyway' + implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign', version: '5.0.1' implementation group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.4' - implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.8.16' + implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '3.0.3' implementation group: 'com.github.hmcts.java-logging', name: 'logging', version: versions.reformLogging - implementation group: 'com.github.hmcts.java-logging', name: 'logging-appinsights', version: versions.reformLogging implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix', version: '2.2.10.RELEASE' implementation group: 'org.postgresql', name: 'postgresql', version: versions.postgresql implementation group: 'org.flywaydb', name: 'flyway-core', version: versions.flyway - implementation group: 'com.launchdarkly', name: 'launchdarkly-java-server-sdk', version: '7.12.0' + implementation group: 'com.launchdarkly', name: 'launchdarkly-java-server-sdk', version: '7.13.4' implementation group: 'commons-fileupload', name: 'commons-fileupload', version: '1.6.0' - implementation group: 'com.googlecode.owasp-java-html-sanitizer', name: 'owasp-java-html-sanitizer', version: '20240325.1' - implementation group: 'com.google.guava', name: 'guava', version: '33.5.0-jre' + implementation group: 'com.googlecode.owasp-java-html-sanitizer', name: 'owasp-java-html-sanitizer', version: '20260313.1' + implementation group: 'com.google.guava', name: 'guava', version: '33.6.0-jre' implementation 'net.logstash.logback:logstash-logback-encoder:9.0' - implementation group: 'io.github.resilience4j', name: 'resilience4j-spring-boot3', version: '2.3.0' + implementation group: 'io.github.resilience4j', name: 'resilience4j-spring-boot4', version: '2.4.0' + + //testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test' + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-webmvc-test' + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator-test' + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa-test' + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-security-oauth2-resource-server-test' - testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test' testImplementation group: 'com.github.hmcts', name: 'fortify-client', version: '1.4.10' - testImplementation group: 'org.springframework.security', name: 'spring-security-test', version: '7.0.3' + testImplementation group: 'org.springframework.security', name: 'spring-security-test', version: '7.0.5' integrationTestImplementation sourceSets.main.runtimeClasspath integrationTestImplementation sourceSets.test.runtimeClasspath @@ -233,14 +238,15 @@ dependencies { functionalTestImplementation sourceSets.integrationTest.runtimeClasspath - functionalTestImplementation group: 'io.rest-assured', name: 'rest-assured', version: '5.5.7' + functionalTestImplementation group: 'io.rest-assured', name: 'rest-assured', version: '6.0.0' smokeTestImplementation sourceSets.functionalTest.runtimeClasspath runtimeOnly group: 'org.flywaydb', name: 'flyway-database-postgresql', version: versions.flyway } - -mainClassName = 'uk.gov.hmcts.dts.fact.Application' +application { + mainClass = 'uk.gov.hmcts.dts.fact.Application' +} bootJar { getArchiveFileName().set(provider { @@ -287,7 +293,7 @@ task migratePostgresDatabase(type: FlywayMigrateTask) { } task fortifyScan(type: JavaExec) { - main = "uk.gov.hmcts.fortifyclient.FortifyClientMainApp" + mainClass.set("uk.gov.hmcts.fortifyclient.FortifyClientMainApp") classpath += sourceSets.test.runtimeClasspath jvmArgs = ['--add-opens=java.base/java.lang.reflect=ALL-UNNAMED'] } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index de413606b..317a32cf4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/CourtsEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/CourtsEndpointTest.java index 8b3f8945b..be4c78777 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/CourtsEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/CourtsEndpointTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.model.Court; import uk.gov.hmcts.dts.fact.model.CourtReference; import uk.gov.hmcts.dts.fact.model.CourtReferenceWithHistoricalName; @@ -245,7 +245,7 @@ void shouldReturnNotFoundForEmptyCourtTypes() { } @Test - void shouldRetrieveCurrentCourtByHistoricalCourtName() throws JsonProcessingException { + void shouldRetrieveCurrentCourtByHistoricalCourtName() throws JacksonException { final String name = "Edinburgh Employment Tribunal"; // Creating court history @@ -271,7 +271,7 @@ void shouldRetrieveCurrentCourtByHistoricalCourtName() throws JsonProcessingExce } @Test - void shouldReturnNoContentsForNonExistingCourtHistoricalName() throws JsonProcessingException { + void shouldReturnNoContentsForNonExistingCourtHistoricalName() throws JacksonException { // Creating court history Response response1 = createCourtHistory(); @@ -286,15 +286,14 @@ void shouldReturnNoContentsForNonExistingCourtHistoricalName() throws JsonProces cleanUp(); } - private Response createCourtHistory() throws JsonProcessingException { + private Response createCourtHistory() throws JacksonException { final CourtHistory courtHistory = new CourtHistory(null, TEST_SEARCH_COURT_ID, TEST_SEARCH_COURT_NAME, LocalDateTime.parse("2024-02-03T10:15:30"), LocalDateTime.parse("2007-12-03T10:15:30"), "court-name-cy"); - final ObjectMapper mapper = new ObjectMapper(); - - mapper.registerModule(new JavaTimeModule()); - mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); String newCourtHistoryJson = mapper.writeValueAsString(courtHistory); return doPostRequest( diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/SearchEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/SearchEndpointTest.java index d4ab34d35..e1b8cce3c 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/SearchEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/SearchEndpointTest.java @@ -1,12 +1,15 @@ package uk.gov.hmcts.dts.fact; +import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.CourtReferenceWithDistance; import uk.gov.hmcts.dts.fact.model.CourtWithDistance; import uk.gov.hmcts.dts.fact.model.ServiceAreaWithCourtReferencesWithDistance; import uk.gov.hmcts.dts.fact.util.FunctionalTestBase; +import uk.gov.hmcts.dts.fact.util.TestUtil; import java.util.Comparator; import java.util.List; @@ -22,13 +25,14 @@ class SearchEndpointTest extends FunctionalTestBase { private static final String SEARCH_ENDPOINT = "/search/"; + private static final ObjectMapper OBJECT_MAPPER = TestUtil.objectMapper(); @Test void shouldRetrieve10CourtDetailsSortedByDistance() { final var response = doGetRequest(SEARCH_ENDPOINT + "results.json?postcode=OX1 1RZ"); assertThat(response.statusCode()).isEqualTo(OK.value()); - final List courts = response.body().jsonPath().getList(".", CourtWithDistance.class); + final List courts = deserializeCourts(response); assertThat(courts.size()).isEqualTo(10); assertThat(courts).isSortedAccordingTo(Comparator.comparing(CourtWithDistance::getDistance)); } @@ -39,7 +43,7 @@ void shouldRetrieve10CourtDetailsByAreaOfLawSortedByDistance() { final var response = doGetRequest(SEARCH_ENDPOINT + "results.json?includeClosed=true&postcode=OX1 1RZ&aol=" + aol); assertThat(response.statusCode()).isEqualTo(OK.value()); - final List courts = response.body().jsonPath().getList(".", CourtWithDistance.class); + final List courts = deserializeCourts(response); assertThat(courts.size()).isEqualTo(10); assertThat(courts).isSortedAccordingTo(Comparator.comparing(CourtWithDistance::getDistance)); assertTrue(courts @@ -54,15 +58,13 @@ void postcodeSearchShouldSupportWelsh() { final var welshResponse = doGetRequest(SEARCH_ENDPOINT + "results.json?postcode=CF10 1ET", Map.of(ACCEPT_LANGUAGE, "cy")); assertThat(welshResponse.statusCode()).isEqualTo(OK.value()); - final List welshCourts = welshResponse.body().jsonPath() - .getList(".", CourtWithDistance.class); + final List welshCourts = deserializeCourts(welshResponse); assertThat(welshCourts.get(0).getAddresses().get(0).getTownName()).isEqualTo("Caerdydd"); final var englishResponse = doGetRequest(SEARCH_ENDPOINT + "results.json?includeClosed=true&postcode=CF10 1ET"); assertThat(englishResponse.statusCode()).isEqualTo(OK.value()); - final List englishCourts = englishResponse.body().jsonPath() - .getList(".", CourtWithDistance.class); + final List englishCourts = deserializeCourts(englishResponse); assertThat(englishCourts.get(0).getAddresses().get(0).getTownName()).isEqualTo("Cardiff"); } @@ -71,15 +73,13 @@ void nameSearchShouldSupportWelsh() { final var welshResponse = doGetRequest(SEARCH_ENDPOINT + "results.json?q=caerdydd", Map.of(ACCEPT_LANGUAGE, "cy")); assertThat(welshResponse.statusCode()).isEqualTo(OK.value()); - final List welshCourts = welshResponse.body().jsonPath() - .getList(".", CourtWithDistance.class); + final List welshCourts = deserializeCourts(welshResponse); assertThat(welshCourts.get(0).getAddresses().get(0).getTownName()).isEqualTo("Caerdydd"); final var englishResponse = doGetRequest(SEARCH_ENDPOINT + "results.json?q=cardiff"); assertThat(englishResponse.statusCode()).isEqualTo(OK.value()); - final List englishCourts = englishResponse.body().jsonPath() - .getList(".", CourtWithDistance.class); + final List englishCourts = deserializeCourts(englishResponse); assertThat(englishCourts.get(0).getAddresses().get(0).getTownName()).isEqualTo("Cardiff"); } @@ -306,4 +306,12 @@ void shouldReturnOpenOrClosedCourtsWhenIncludeClosedIsTrueForProbate() { false))); } + + private List deserializeCourts(final Response response) { + try { + return OBJECT_MAPPER.readerForListOf(CourtWithDistance.class).readValue(response.asString()); + } catch (Exception exception) { + throw new RuntimeException("Unable to deserialize search response", exception); + } + } } diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminAuditEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminAuditEndpointTest.java index fd60cd434..17fd80b2f 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminAuditEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminAuditEndpointTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.Audit; import uk.gov.hmcts.dts.fact.model.admin.OpeningTime; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -41,7 +41,7 @@ class AdminAuditEndpointTest extends AdminFunctionalTestBase { @BeforeEach - void setUpTestData() throws JsonProcessingException { + void setUpTestData() throws JacksonException { setUpOpeningTimes(); } @@ -108,7 +108,7 @@ void shouldBeForbiddenForGettingAllAudits() { /************************************************************* utility methods. ***************************************************************/ - private void setUpOpeningTimes() throws JsonProcessingException { + private void setUpOpeningTimes() throws JacksonException { Response response = doGetRequest(ADMINISTRATIVE_COURT_OPENING_TIMES_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken)); final List currentOpeningTimes = response.body().jsonPath().getList(".", OpeningTime.class); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAdditionalLinkEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAdditionalLinkEndpointTest.java index 8240440b8..7dc51758e 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAdditionalLinkEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAdditionalLinkEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.AdditionalLink; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -75,7 +75,7 @@ void shouldNotRetrieveAdditionalLinkWhenCourtSlugNotFound() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateAdditionalLink() throws JsonProcessingException { + void shouldUpdateAdditionalLink() throws JacksonException { final List currentAdditionalLink = getCurrentAdditionalLink(); final List expectedAdditionalLink = addNewAdditionalLink(currentAdditionalLink); final String updatedJson = objectMapper().writeValueAsString(expectedAdditionalLink); @@ -104,13 +104,13 @@ void shouldUpdateAdditionalLink() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingAdditionalLinks() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingAdditionalLinks() throws JacksonException { final var response = doPutRequest(PLYMOUTH_COMBINED_COURT_ADDITIONAL_LINK_PATH, getTestAdditionalLink()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingAdditionalLinks() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingAdditionalLinks() throws JacksonException { final var response = doPutRequest( PLYMOUTH_COMBINED_COURT_ADDITIONAL_LINK_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestAdditionalLink() @@ -119,7 +119,7 @@ void shouldBeForbiddenForUpdatingAdditionalLinks() throws JsonProcessingExceptio } @Test - void shouldNotUpdateAdditionalLinkWhenCourtSlugNotFound() throws JsonProcessingException { + void shouldNotUpdateAdditionalLinkWhenCourtSlugNotFound() throws JacksonException { final var response = doPutRequest( COURT_NOT_FIND_PATH, Map.of(AUTHORIZATION, BEARER + superAdminToken), @@ -144,7 +144,7 @@ private List addNewAdditionalLink(final List add return updatedAdditionalLinks; } - private static String getTestAdditionalLink() throws JsonProcessingException { + private static String getTestAdditionalLink() throws JacksonException { final List additionalLink = Arrays.asList( new AdditionalLink(TEST_URL,TEST_DESCRIPTION,TEST_DESCRIPTION_CY) ); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAddressEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAddressEndpointTest.java index 61d1554ea..82038d7a4 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAddressEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAddressEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.Court; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.model.admin.CourtAddress; @@ -106,7 +106,7 @@ void shouldBeForbiddenForGettingAddressForTheCourt() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateAddress() throws JsonProcessingException { + void shouldUpdateAddress() throws JacksonException { final List currentCourtAddress = getCurrentCourtAddress(); final List expectedCourtAddress = addNewCourtAddress(currentCourtAddress); final String updatedJson = objectMapper().writeValueAsString(expectedCourtAddress); @@ -140,7 +140,7 @@ void shouldUpdateAddress() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingCourtAddress() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingCourtAddress() throws JacksonException { final List currentCourtAddress = getCurrentCourtAddress(); final String testJson = objectMapper().writeValueAsString(currentCourtAddress); @@ -152,7 +152,7 @@ void shouldBeForbiddenForUpdatingCourtAddress() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingCourtAddress() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingCourtAddress() throws JacksonException { final List currentCourtAddress = getCurrentCourtAddress(); final String testJson = objectMapper().writeValueAsString(currentCourtAddress); @@ -163,7 +163,7 @@ void shouldRequireATokenWhenUpdatingCourtAddress() throws JsonProcessingExceptio } @Test - void shouldNotUpdateAddressWithInvalidPostcodes() throws JsonProcessingException { + void shouldNotUpdateAddressWithInvalidPostcodes() throws JacksonException { final List currentCourtAddress = getCurrentCourtAddress(); final List courtAddressesToBeUpdated = createCourtAddresses(); @@ -187,7 +187,7 @@ void shouldNotUpdateAddressWithInvalidPostcodes() throws JsonProcessingException } @Test - void shouldUpdateCoordinatesWhenPostcodeIsChanged() throws JsonProcessingException { + void shouldUpdateCoordinatesWhenPostcodeIsChanged() throws JacksonException { //calling user delete lock endpoint to remove lock for the court final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -245,7 +245,7 @@ void shouldUpdateCoordinatesWhenPostcodeIsChanged() throws JsonProcessingExcepti /************************************************************* Shared utility methods. ***************************************************************/ - private List getCurrentCourtAddress() throws JsonProcessingException { + private List getCurrentCourtAddress() throws JacksonException { final Response response = doGetRequest( PLYMOUTH_COMBINED_COURT_ADDRESS_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken) diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtApplicationUpdateEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtApplicationUpdateEndpointTest.java index ece7dc0d7..8771efe84 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtApplicationUpdateEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtApplicationUpdateEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.ApplicationUpdate; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -74,7 +74,7 @@ void shouldReturnNotFoundWhenServiceCentreDoesNotExist() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateApplicationUpdatesTypes() throws JsonProcessingException { + void shouldUpdateApplicationUpdatesTypes() throws JacksonException { final List currentApplicationUpdateTypes = getCurrentApplicationUpdateTypes(); final List expectedApplicationUpdateTypes = addNewApplicationUpdateType(currentApplicationUpdateTypes); final String updatedJson = objectMapper().writeValueAsString(expectedApplicationUpdateTypes); @@ -104,7 +104,7 @@ void shouldUpdateApplicationUpdatesTypes() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingApplicationUpdatesTypes() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingApplicationUpdatesTypes() throws JacksonException { final List currentApplicationUpdateTypes = getCurrentApplicationUpdateTypes(); final String originalJson = objectMapper().writeValueAsString(currentApplicationUpdateTypes); @@ -113,7 +113,7 @@ void shouldRequireATokenWhenUpdatingApplicationUpdatesTypes() throws JsonProcess } @Test - void shouldBeForbiddenForUpdatingApplicationUpdatesTypes() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingApplicationUpdatesTypes() throws JacksonException { final List currentApplicationUpdateTypes = getCurrentApplicationUpdateTypes(); final String originalJson = objectMapper().writeValueAsString(currentApplicationUpdateTypes); @@ -125,7 +125,7 @@ void shouldBeForbiddenForUpdatingApplicationUpdatesTypes() throws JsonProcessing } @Test - void shouldnotUpdateAndReturnNotFoundWhenCourtDoesNotExist() throws JsonProcessingException { + void shouldnotUpdateAndReturnNotFoundWhenCourtDoesNotExist() throws JacksonException { final List currentApplicationUpdateTypes = getCurrentApplicationUpdateTypes(); final String originalJson = objectMapper().writeValueAsString(currentApplicationUpdateTypes); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAreaOfLawEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAreaOfLawEndpointTest.java index 85f34d5b3..578a0db77 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAreaOfLawEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtAreaOfLawEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -75,7 +75,7 @@ void shouldReturnNotFoundWhenCourtDoesNotExist() { /************************************************************* PUT request tests section. ***************************************************************/ @SuppressWarnings("PMD.DataflowAnomalyAnalysis") @Test - void shouldUpdateCourtAreaOfLaw() throws JsonProcessingException { + void shouldUpdateCourtAreaOfLaw() throws JacksonException { final List currentCourtAreasOfLaw = getCurrentCourtAreasOfLaw() .stream() .map(aol -> { @@ -118,13 +118,13 @@ void shouldUpdateCourtAreaOfLaw() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingAreaOfLawForTheCourt() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingAreaOfLawForTheCourt() throws JacksonException { final var response = doPutRequest(AYLESBURY_COURT_AREAS_OF_LAW_PATH, getTestAreasOfLawJson()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingAreaOfLawForTheCourt() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingAreaOfLawForTheCourt() throws JacksonException { final var response = doPutRequest( AYLESBURY_COURT_AREAS_OF_LAW_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestAreasOfLawJson() @@ -133,7 +133,7 @@ void shouldBeForbiddenForUpdatingAreaOfLawForTheCourt() throws JsonProcessingExc } @Test - void shouldnotUpdateAndReturnNotFoundWhenCourtDoesNotExist() throws JsonProcessingException { + void shouldnotUpdateAndReturnNotFoundWhenCourtDoesNotExist() throws JacksonException { final Response response = doPutRequest( AYLESBURY_COURT_AREAS_OF_LAW_NOT_FOUND_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -162,7 +162,7 @@ private List updateCourtAreasOfLaw(final List courtAreaOfL return updatedAreaOfLaw; } - private static String getTestAreasOfLawJson() throws JsonProcessingException { + private static String getTestAreasOfLawJson() throws JacksonException { AreaOfLaw areaOfLaw = new AreaOfLaw(); areaOfLaw.setId(1); areaOfLaw.setName("test1"); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtContactEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtContactEndpointTest.java index 229c0ca37..243ac44ae 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtContactEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtContactEndpointTest.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.Court; import uk.gov.hmcts.dts.fact.model.admin.Contact; import uk.gov.hmcts.dts.fact.model.admin.ContactType; @@ -60,7 +60,7 @@ void shouldBeForbiddenForRetrievingContacts() { } @Test - void shouldAddAndRemoveContacts() throws JsonProcessingException { + void shouldAddAndRemoveContacts() throws JacksonException { //calling user delete lock endpoint to remove lock for the court final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -96,7 +96,7 @@ void shouldAddAndRemoveContacts() throws JsonProcessingException { } @Test - void shouldChangePhoneNumberToFaxAndViceVersa() throws JsonProcessingException { + void shouldChangePhoneNumberToFaxAndViceVersa() throws JacksonException { //calling user delete lock endpoint to remove lock for the court final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -146,13 +146,13 @@ void shouldChangePhoneNumberToFaxAndViceVersa() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingContacts() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingContacts() throws JacksonException { final var response = doPutRequest(BIRMINGHAM_CONTACTS_PATH, getTestContactsJson()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingContacts() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingContacts() throws JacksonException { final var response = doPutRequest(BIRMINGHAM_CONTACTS_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestContactsJson()); assertThat(response.statusCode()).isEqualTo(FORBIDDEN.value()); } @@ -227,7 +227,7 @@ private List updateAFaxContactToPhoneNumber(final List contact return updatedContacts; } - private static String getTestContactsJson() throws JsonProcessingException { + private static String getTestContactsJson() throws JacksonException { final List contacts = Arrays.asList( new Contact(2, "0207123456", "explanation 1", "explanation cy 1", false), new Contact(5, "0207234567", "explanation 2", "explanation cy 2", false), diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtEmailEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtEmailEndpointTest.java index e934fb82d..6c373acb3 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtEmailEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtEmailEndpointTest.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.Email; import uk.gov.hmcts.dts.fact.model.admin.EmailType; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -57,7 +57,7 @@ void shouldBeForbiddenForGettingEmails() { } @Test - void shouldUpdateEmails() throws JsonProcessingException { + void shouldUpdateEmails() throws JacksonException { final List expectedEmails = updateEmails(getCurrentEmails()); final String json = objectMapper().writeValueAsString(expectedEmails); @@ -69,13 +69,13 @@ void shouldUpdateEmails() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingEmails() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingEmails() throws JacksonException { final var response = doPutRequest(BEXLEY_MAGISTRATES_ALL_EMAILS_PATH, getTestEmails()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenFromUpdatingEmails() throws JsonProcessingException { + void shouldBeForbiddenFromUpdatingEmails() throws JacksonException { final var response = doPutRequest(BEXLEY_MAGISTRATES_ALL_EMAILS_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestEmails()); assertThat(response.statusCode()).isEqualTo(FORBIDDEN.value()); } @@ -128,7 +128,7 @@ private List updateEmails(List openingTimes) { - private static String getTestEmails() throws JsonProcessingException { + private static String getTestEmails() throws JacksonException { final List emails = Arrays.asList( new Email("Address 1", "Exp 1", "Exp 1 cy", 1), new Email("Address 2", "Exp 2", "Exp 2 cy", 2), diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtFacilityEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtFacilityEndpointTest.java index 140b32eec..76119e6f4 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtFacilityEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtFacilityEndpointTest.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.html.sanitizer.OwaspHtmlSanitizer; import uk.gov.hmcts.dts.fact.model.admin.Facility; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -79,7 +79,7 @@ void shouldNotRetrieveFacilitiesWhenCourtSlugNotFound() { /************************************************************* PUT request tests section. ***************************************************************/ @Test - void shouldUpdateCourtFacilities() throws JsonProcessingException { + void shouldUpdateCourtFacilities() throws JacksonException { final List currentCourtFacilities = getCurrentFacilities(); final List facilitiesToBeUpdated = updateFacilities(currentCourtFacilities); final String updatedJson = objectMapper().writeValueAsString(facilitiesToBeUpdated); @@ -114,13 +114,13 @@ void shouldUpdateCourtFacilities() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingFacilitiesForTheCourt() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingFacilitiesForTheCourt() throws JacksonException { final var response = doPutRequest(AYLESBURY_COURT_FACILITIES_PATH, getTestFacilities()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingFacilitiesForTheCourt() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingFacilitiesForTheCourt() throws JacksonException { final var response = doPutRequest( AYLESBURY_COURT_FACILITIES_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestFacilities() @@ -129,7 +129,7 @@ void shouldBeForbiddenForUpdatingFacilitiesForTheCourt() throws JsonProcessingEx } @Test - void shouldNotUpdateFacilitiesWhenCourtSlugNotFound() throws JsonProcessingException { + void shouldNotUpdateFacilitiesWhenCourtSlugNotFound() throws JacksonException { final var response = doPutRequest( COURT_NOT_FIND_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -162,7 +162,7 @@ private List updateFacilities(final List facilities) { return updatedFacilities; } - private static String getTestFacilities() throws JsonProcessingException { + private static String getTestFacilities() throws JacksonException { final List facilities = Arrays.asList( new Facility(TEST_FACILITY_ID_1, TEST_FACILITY_DESCRIPTION, TEST_FACILITY_DESCRIPTION_CY), new Facility(TEST_FACILITY_ID_2, TEST_FACILITY_DESCRIPTION, TEST_FACILITY_DESCRIPTION_CY) diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtGeneralInfoEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtGeneralInfoEndpointTest.java index c98dacff9..be2dd33a4 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtGeneralInfoEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtGeneralInfoEndpointTest.java @@ -1,11 +1,11 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.Court; import uk.gov.hmcts.dts.fact.model.admin.CourtGeneralInfo; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -64,7 +64,7 @@ class AdminCourtGeneralInfoEndpointTest extends AdminFunctionalTestBase { private static String adminCourtInfoJson; @BeforeAll - static void initialise() throws JsonProcessingException { + static void initialise() throws JacksonException { adminCourtInfoJson = new ObjectMapper().writeValueAsString(EXPECTED_ADMIN_COURT_INFO); } @@ -116,7 +116,7 @@ void shouldUpdateSelectedCourtGeneralInfoAsAdmin() { } @Test - void shouldUpdateCourtGeneralInfoAsSuperAdmin() throws JsonProcessingException { + void shouldUpdateCourtGeneralInfoAsSuperAdmin() throws JacksonException { final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), ""); assertThat(delResponse.statusCode()).isEqualTo(OK.value()); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtHistoryEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtHistoryEndpointTest.java index ea0d4fefc..ba4dccdad 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtHistoryEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtHistoryEndpointTest.java @@ -1,14 +1,14 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.restassured.response.Response; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.model.admin.CourtHistory; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -37,19 +37,22 @@ class AdminCourtHistoryEndpointTest extends AdminFunctionalTestBase { private static final String COURT_HISTORY_SLUG_PATH = ADMIN_COURTS_ENDPOINT + "edinburgh-employment-tribunal/history"; private static final int TEST_SEARCH_COURT_ID = 1479944; private static final String TEST_SEARCH_COURT_NAME = "fakeCourt1"; - private static final ObjectMapper MAPPER = new ObjectMapper(); + private static ObjectMapper MAPPER = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); @BeforeAll static void initialise() { - MAPPER.registerModule(new JavaTimeModule()); - MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + MAPPER = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); } // Get Request Tests @Test - void shouldGetAllCourtHistory() throws JsonProcessingException { + void shouldGetAllCourtHistory() throws JacksonException { // Creating first court history Response response1 = createCourtHistory(); @@ -84,7 +87,7 @@ void shouldBeForbiddenForGettingCourtHistory() { } @Test - void shouldGetAllCourtHistoryBySlug() throws JsonProcessingException { + void shouldGetAllCourtHistoryBySlug() throws JacksonException { // Creating court history Response response1 = createCourtHistory(); @@ -102,7 +105,7 @@ void shouldGetAllCourtHistoryBySlug() throws JsonProcessingException { } @Test - void shouldGetAllCourtHistoryByHistoryName() throws JsonProcessingException { + void shouldGetAllCourtHistoryByHistoryName() throws JacksonException { // Creating court history Response response1 = createCourtHistory(); @@ -121,7 +124,7 @@ void shouldGetAllCourtHistoryByHistoryName() throws JsonProcessingException { // Update Request Tests. @Test - void shouldUpdateCourtHistory() throws JsonProcessingException { + void shouldUpdateCourtHistory() throws JacksonException { // Creating court history Response response = createCourtHistory(); @@ -157,7 +160,7 @@ void shouldUpdateCourtHistory() throws JsonProcessingException { } @Test - void shouldNotUpdateCourtHistoryWhenCourtSlugNotFound() throws JsonProcessingException { + void shouldNotUpdateCourtHistoryWhenCourtSlugNotFound() throws JacksonException { final var response = doPutRequest( COURT_NOT_FIND_PATH, Map.of(AUTHORIZATION, BEARER + superAdminToken), @@ -167,7 +170,7 @@ void shouldNotUpdateCourtHistoryWhenCourtSlugNotFound() throws JsonProcessingExc } @Test - void shouldRequireATokenWhenUpdatingCourtHistory() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingCourtHistory() throws JacksonException { final var response = doPutRequest( COURT_HISTORY_SLUG_PATH, getTestCourtHistories() @@ -176,7 +179,7 @@ void shouldRequireATokenWhenUpdatingCourtHistory() throws JsonProcessingExceptio } @Test - void shouldBeForbiddenForUpdatingCourtHistories() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingCourtHistories() throws JacksonException { final var response = doPutRequest( COURT_HISTORY_SLUG_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), @@ -222,7 +225,7 @@ void shouldNotDeleteCourtHistoryNotFound() { // Shared utility methods - private Response createCourtHistory() throws JsonProcessingException { + private Response createCourtHistory() throws JacksonException { final CourtHistory courtHistory = new CourtHistory(null, TEST_SEARCH_COURT_ID, TEST_SEARCH_COURT_NAME, LocalDateTime.parse("2024-02-03T10:15:30"), @@ -236,7 +239,7 @@ private Response createCourtHistory() throws JsonProcessingException { ); } - private static String getTestCourtHistories() throws JsonProcessingException { + private static String getTestCourtHistories() throws JacksonException { final List courtHistory = Arrays.asList( new CourtHistory(null, TEST_SEARCH_COURT_ID, TEST_SEARCH_COURT_NAME, LocalDateTime.parse("2024-02-03T10:15:30"), diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLocalAuthoritiesEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLocalAuthoritiesEndpointTest.java index 6cde14377..38984e048 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLocalAuthoritiesEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLocalAuthoritiesEndpointTest.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.LocalAuthority; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -62,7 +62,7 @@ void shouldBeForbiddenForGettingLocalAuthoritiesForAreasOfLaw() { } @Test - void shouldUpdateCourtLocalAuthorities() throws JsonProcessingException { + void shouldUpdateCourtLocalAuthorities() throws JacksonException { final List currentCourtLocalAuthorities = getCurrentLocalAuthorities(); final List expectedCourtLocalAuthorities = updateLocalAuthorities(currentCourtLocalAuthorities); final String updatedJson = objectMapper().writeValueAsString(expectedCourtLocalAuthorities); @@ -97,7 +97,7 @@ void shouldUpdateCourtLocalAuthorities() throws JsonProcessingException { } @Test - void adminShouldBeForbiddenForUpdatingLocalAuthoritiesForAreasOfLaw() throws JsonProcessingException { + void adminShouldBeForbiddenForUpdatingLocalAuthoritiesForAreasOfLaw() throws JacksonException { final var response = doPutRequest( AYLESBURY_COURT_LOCAL_AUTHORITIES_AREAS_OF_LAW_PATH, @@ -126,7 +126,7 @@ private List updateLocalAuthorities(final List l return updatedLocalAuthorities; } - private static String getTestLocalAuthorityJson() throws JsonProcessingException { + private static String getTestLocalAuthorityJson() throws JacksonException { final List localAuthorities = Arrays.asList( new LocalAuthority(1, "test1"), new LocalAuthority(2, "test2") diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLockEndPointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLockEndPointTest.java index 422764f0e..425a0df3c 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLockEndPointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtLockEndPointTest.java @@ -1,11 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.CourtLock; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -66,10 +65,10 @@ void shouldBeForbiddenForGettingLocksForTheCourt() { /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateLock() throws JsonProcessingException { + void shouldCreateLock() throws JacksonException { final CourtLock expectedCourtLock = createCourtLock(); - final String newCourtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String newCourtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final var response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, @@ -94,9 +93,9 @@ void shouldCreateLock() throws JsonProcessingException { } @Test - void shouldBeForbiddenForCreatingCourtLock() throws JsonProcessingException { + void shouldBeForbiddenForCreatingCourtLock() throws JacksonException { final CourtLock expectedCourtLock = createCourtLock(); - final String newCourtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String newCourtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final Response response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, @@ -106,9 +105,9 @@ void shouldBeForbiddenForCreatingCourtLock() throws JsonProcessingException { } @Test - void shouldNotCreateCourtLockForViewer() throws JsonProcessingException { + void shouldNotCreateCourtLockForViewer() throws JacksonException { final CourtLock expectedCourtLock = createCourtLock(); - final String newCourtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String newCourtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final Response response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, @@ -118,10 +117,10 @@ void shouldNotCreateCourtLockForViewer() throws JsonProcessingException { } @Test - void shouldNotDeleteCourtLockForViewer() throws JsonProcessingException { + void shouldNotDeleteCourtLockForViewer() throws JacksonException { //Create court lock to try and delete final CourtLock expectedCourtLock = createCourtLock(); - final String newCourtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String newCourtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final var response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, @@ -151,9 +150,9 @@ void shouldNotDeleteCourtLockForViewer() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingCourtLock() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingCourtLock() throws JacksonException { final CourtLock expectedCourtLock = createCourtLock(); - final String newCourtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String newCourtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final Response response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, newCourtLockJson @@ -162,12 +161,12 @@ void shouldRequireATokenWhenCreatingCourtLock() throws JsonProcessingException { } @Test - void shouldNotCreateCourtLockIfAlreadyExist() throws JsonProcessingException { + void shouldNotCreateCourtLockIfAlreadyExist() throws JacksonException { final CourtLock expectedCourtLock = createCourtLock(); - final String courtLockJson = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(expectedCourtLock); + final String courtLockJson = objectMapper().writeValueAsString(expectedCourtLock); final CourtLock alreadyExistCourtLock = createCourtLock(); alreadyExistCourtLock.setUserEmail("xyz"); - final String courtLockJsonExisted = objectMapper().registerModule(new JavaTimeModule()).writeValueAsString(alreadyExistCourtLock); + final String courtLockJsonExisted = objectMapper().writeValueAsString(alreadyExistCourtLock); final var response = doPostRequest( BARNSLEY_LAW_COURT_LOCK_PATH, diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtOpeningTimeEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtOpeningTimeEndpointTest.java index 59ee8a56e..fa3646db5 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtOpeningTimeEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtOpeningTimeEndpointTest.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.Court; import uk.gov.hmcts.dts.fact.model.admin.OpeningTime; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -59,7 +59,7 @@ void shouldBeForbiddenForGettingOpeningTimes() { } @Test - void shouldAddAndRemoveOpeningTimes() throws JsonProcessingException { + void shouldAddAndRemoveOpeningTimes() throws JacksonException { //calling user delete lock endpoint to remove lock for the court final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -111,13 +111,13 @@ void shouldAddAndRemoveOpeningTimes() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingOpeningTimes() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingOpeningTimes() throws JacksonException { final var response = doPutRequest(BIRMINGHAM_OPENING_TIMES_PATH, getTestOpeningTimeJson()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingOpeningTimes() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingOpeningTimes() throws JacksonException { final var response = doPutRequest(BIRMINGHAM_OPENING_TIMES_PATH, Map.of(AUTHORIZATION, BEARER + forbiddenToken), getTestOpeningTimeJson()); assertThat(response.statusCode()).isEqualTo(FORBIDDEN.value()); } @@ -135,7 +135,7 @@ private List removeOpeningTime(List openingTimes) { return updatedOpeningTimes; } - private static String getTestOpeningTimeJson() throws JsonProcessingException { + private static String getTestOpeningTimeJson() throws JacksonException { final List openingTimes = Arrays.asList( new OpeningTime(2, "Monday to Friday 9.00am - 5.00pm"), new OpeningTime(5, "Monday to Friday 9.00am - 3.30pm"), diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtPostcodeEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtPostcodeEndpointTest.java index a76d5a4a9..81645da92 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtPostcodeEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtPostcodeEndpointTest.java @@ -1,11 +1,11 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; import java.util.Arrays; @@ -123,7 +123,7 @@ void shouldBeForbiddenForRetrievingCourtPostcodes() { /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateValidPostcodes() throws JsonProcessingException { + void shouldCreateValidPostcodes() throws JacksonException { //calling user delete lock endpoint to remove lock for the court final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -169,7 +169,7 @@ void shouldCreateValidPostcodes() throws JsonProcessingException { } @Test - void shouldNotCreateDuplicatePostcodes() throws JsonProcessingException { + void shouldNotCreateDuplicatePostcodes() throws JacksonException { final var delResponse = doDeleteRequest(DELETE_LOCK_BY_EMAIL_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), ""); @@ -219,7 +219,7 @@ void shouldNotCreateDuplicatePostcodes() throws JsonProcessingException { } @Test - void shouldNotCreateInvalidPostcodes() throws JsonProcessingException { + void shouldNotCreateInvalidPostcodes() throws JacksonException { final String updatedJson = objectMapper().writeValueAsString(POSTCODES_INVALID); @@ -234,7 +234,7 @@ void shouldNotCreateInvalidPostcodes() throws JsonProcessingException { } @Test - void adminShouldBeForbiddenForCreatingPostcodes() throws JsonProcessingException { + void adminShouldBeForbiddenForCreatingPostcodes() throws JacksonException { final var response = doPostRequest( BIRMINGHAM_COURT_POSTCODES_PATH, @@ -244,13 +244,13 @@ void adminShouldBeForbiddenForCreatingPostcodes() throws JsonProcessingException } @Test - void shouldRequireATokenWhenCreatingCourtPostcodes() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingCourtPostcodes() throws JacksonException { final var response = doPostRequest(BIRMINGHAM_COURT_POSTCODES_PATH, getTestPostcodesJson()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldNotBeAbleToCreatePostcodesWhenCourtNotFound() throws JsonProcessingException { + void shouldNotBeAbleToCreatePostcodesWhenCourtNotFound() throws JacksonException { final var response = doPostRequest( COURT_NOT_FIND_PATH, @@ -262,7 +262,7 @@ void shouldNotBeAbleToCreatePostcodesWhenCourtNotFound() throws JsonProcessingEx @Test - void shouldNotBeAbleToCreatePostcodesAlreadyExist() throws JsonProcessingException { + void shouldNotBeAbleToCreatePostcodesAlreadyExist() throws JacksonException { final String updatedJson = objectMapper().writeValueAsString(POSTCODES_ALREADY_THERE); @@ -276,7 +276,7 @@ void shouldNotBeAbleToCreatePostcodesAlreadyExist() throws JsonProcessingExcepti /************************************************************* Delete request tests section. ***************************************************************/ @Test - void shouldNotDeleteInvalidPostcodes() throws JsonProcessingException { + void shouldNotDeleteInvalidPostcodes() throws JacksonException { final String updatedJson = objectMapper().writeValueAsString(POSTCODES_INVALID); @@ -291,7 +291,7 @@ void shouldNotDeleteInvalidPostcodes() throws JsonProcessingException { } @Test - void adminShouldBeForbiddenForDeletingPostcodes() throws JsonProcessingException { + void adminShouldBeForbiddenForDeletingPostcodes() throws JacksonException { final var response = doDeleteRequest( BIRMINGHAM_COURT_POSTCODES_PATH, @@ -301,13 +301,13 @@ void adminShouldBeForbiddenForDeletingPostcodes() throws JsonProcessingException } @Test - void shouldRequireATokenWhenDeletingCourtPostcodes() throws JsonProcessingException { + void shouldRequireATokenWhenDeletingCourtPostcodes() throws JacksonException { final var response = doDeleteRequest(BIRMINGHAM_COURT_POSTCODES_PATH, getTestPostcodesJson()); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldNotDeletePostcodesDoNotExist() throws JsonProcessingException { + void shouldNotDeletePostcodesDoNotExist() throws JacksonException { final String updatedJson = objectMapper().writeValueAsString(POSTCODES_DO_NOT_EXIST); @@ -322,7 +322,7 @@ void shouldNotDeletePostcodesDoNotExist() throws JsonProcessingException { /************************************************************* PUT request tests section. ***************************************************************/ @Test - void shouldMovePostcodesToADifferentCourt() throws JsonProcessingException { + void shouldMovePostcodesToADifferentCourt() throws JacksonException { final String postcodesToMoveJson = objectMapper().writeValueAsString(POSTCODES_TO_MOVE); Response response = doGetRequest( @@ -368,7 +368,7 @@ void shouldMovePostcodesToADifferentCourt() throws JsonProcessingException { } @Test - void adminShouldBeForbiddenForMovingPostcodes() throws JsonProcessingException { + void adminShouldBeForbiddenForMovingPostcodes() throws JacksonException { final var response = doPutRequest( BIRMINGHAM_TO_WOLVERHAMPTON_COURT_POSTCODES_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken), @@ -378,7 +378,7 @@ void adminShouldBeForbiddenForMovingPostcodes() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenMovingPostcodes() throws JsonProcessingException { + void shouldRequireATokenWhenMovingPostcodes() throws JacksonException { final var response = doPutRequest( BIRMINGHAM_TO_WOLVERHAMPTON_COURT_POSTCODES_PATH, getTestPostcodesJson() @@ -387,7 +387,7 @@ void shouldRequireATokenWhenMovingPostcodes() throws JsonProcessingException { } @Test - void shouldNotMovePostcodesIfNotInSourceCourts() throws JsonProcessingException { + void shouldNotMovePostcodesIfNotInSourceCourts() throws JacksonException { // Clean up both destination court postcodes if lingering from previous run failure cleanUpTestData(BIRMINGHAM_COURT_POSTCODES_PATH, objectMapper().writeValueAsString(POSTCODES_TO_MOVE_NOT_FOUND)); @@ -406,7 +406,7 @@ void shouldNotMovePostcodesIfNotInSourceCourts() throws JsonProcessingException } @Test - void shouldNotMovePostcodesIfAlreadyExistsInDestinationCourt() throws JsonProcessingException { + void shouldNotMovePostcodesIfAlreadyExistsInDestinationCourt() throws JacksonException { // Clean up both destination court postcodes if lingering from previous run failure cleanUpTestData(WOLVERHAMPTON_COURT_POSTCODES_PATH, objectMapper().writeValueAsString(singletonList(CONFLICT_POSTCODE))); @@ -441,7 +441,7 @@ void shouldNotMovePostcodesIfAlreadyExistsInDestinationCourt() throws JsonProces } @Test - void shouldNotMoveInvalidPostcodes() throws JsonProcessingException { + void shouldNotMoveInvalidPostcodes() throws JacksonException { final String invalidPostcodesToMoveJson = objectMapper().writeValueAsString(POSTCODES_INVALID); final var response = doPutRequest( BIRMINGHAM_TO_WOLVERHAMPTON_COURT_POSTCODES_PATH, @@ -463,7 +463,7 @@ private List getCurrentPostcodes(final String courtSlug) { return response.body().jsonPath().getList(".", String.class); } - private static String getTestPostcodesJson() throws JsonProcessingException { + private static String getTestPostcodesJson() throws JacksonException { final List postcodes = Arrays.asList("B140", "B141", "B142"); return objectMapper().writeValueAsString(postcodes); } diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtSpoeAreaOfLawEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtSpoeAreaOfLawEndpointTest.java index 8565f5a28..f4df9b6f4 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtSpoeAreaOfLawEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtSpoeAreaOfLawEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.model.admin.SpoeAreaOfLaw; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -108,7 +108,7 @@ void shouldReturnNotFoundWhenSpoeCourtDoesNotExist() { /************************************************************* PUT request tests section. ***************************************************************/ @Test - void shouldUpdateCourtSpoeAreaOfLaw() throws JsonProcessingException { + void shouldUpdateCourtSpoeAreaOfLaw() throws JacksonException { final List currentCourtSpoeAreaOfLaw = getCurrentSpoeAreaOflaw(); final List expectedCourtAreasOfLaw = updateCourtAreasOfLaw(currentCourtSpoeAreaOfLaw); final String updatedJson = objectMapper().writeValueAsString(expectedCourtAreasOfLaw); @@ -145,14 +145,14 @@ void shouldUpdateCourtSpoeAreaOfLaw() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingSpoeAreaOfLawForTheCourt() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingSpoeAreaOfLawForTheCourt() throws JacksonException { final String testJson = objectMapper().writeValueAsString(getCurrentSpoeAreaOflaw()); final var response = doPutRequest(ABERYSTWYTH_JUSTICE_CENTRE_SPOE_AREAS_OF_LAW_PATH, testJson); assertThat(response.statusCode()).isEqualTo(UNAUTHORIZED.value()); } @Test - void shouldBeForbiddenForUpdatingSpoeAreaOfLawForTheCourt() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingSpoeAreaOfLawForTheCourt() throws JacksonException { final String testJson = objectMapper().writeValueAsString(getCurrentSpoeAreaOflaw()); final var response = doPutRequest( ABERYSTWYTH_JUSTICE_CENTRE_SPOE_AREAS_OF_LAW_PATH, @@ -162,7 +162,7 @@ void shouldBeForbiddenForUpdatingSpoeAreaOfLawForTheCourt() throws JsonProcessin } @Test - void shouldnotUpdateAndReturnNotFoundWhenSpoeCourtDoesNotExist() throws JsonProcessingException { + void shouldnotUpdateAndReturnNotFoundWhenSpoeCourtDoesNotExist() throws JacksonException { final String testJson = objectMapper().writeValueAsString(getCurrentSpoeAreaOflaw()); final Response response = doPutRequest( ABERYSTWYTH_COURT_AREAS_OF_LAW_NOT_FOUND_PATH, @@ -173,7 +173,7 @@ void shouldnotUpdateAndReturnNotFoundWhenSpoeCourtDoesNotExist() throws JsonProc } @Test - void shouldNotUpdateSpoeAreaOfLawForTheCourtThatAlreadyExist() throws JsonProcessingException { + void shouldNotUpdateSpoeAreaOfLawForTheCourtThatAlreadyExist() throws JacksonException { final String testJson = objectMapper() .writeValueAsString(updateCourtAreasOfLaw(updateCourtAreasOfLaw(getCurrentSpoeAreaOflaw()))); final Response response = doPutRequest( diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtTypesAndCodeEndPointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtTypesAndCodeEndPointTest.java index 4e598999e..03590fb2e 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtTypesAndCodeEndPointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtTypesAndCodeEndPointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.CourtType; import uk.gov.hmcts.dts.fact.model.admin.CourtTypesAndCodes; import uk.gov.hmcts.dts.fact.model.admin.DxCode; @@ -110,7 +110,7 @@ void shouldBeForbiddenForGettingCourtTypesAndCodes() { /************************************************************* Court type and code PUT request tests section. ***************************************************************/ @Test - void shouldUpdateCourtTypesAndCode() throws JsonProcessingException { + void shouldUpdateCourtTypesAndCode() throws JacksonException { final var response = doGetRequest( WOLVERHAMTON_COURT_TYPES_AND_CODE_PATH, @@ -143,7 +143,7 @@ void shouldUpdateCourtTypesAndCode() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingCourtTypesAndCode() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingCourtTypesAndCode() throws JacksonException { final CourtTypesAndCodes currentCourtTypesAndCodes = getCurrentCourtTypesAndCodes(); final String testJson = objectMapper().writeValueAsString(currentCourtTypesAndCodes); @@ -155,7 +155,7 @@ void shouldRequireATokenWhenUpdatingCourtTypesAndCode() throws JsonProcessingExc } @Test - void shouldBeForbiddenForUpdatingCourtTypesAndCode() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingCourtTypesAndCode() throws JacksonException { final CourtTypesAndCodes currentCourtTypesAndCodes = getCurrentCourtTypesAndCodes(); final String testJson = objectMapper().writeValueAsString(currentCourtTypesAndCodes); @@ -167,7 +167,7 @@ void shouldBeForbiddenForUpdatingCourtTypesAndCode() throws JsonProcessingExcept } @Test - void shouldNotUpdatingCourtTypesAndCodeForCourtDoesNotExist() throws JsonProcessingException { + void shouldNotUpdatingCourtTypesAndCodeForCourtDoesNotExist() throws JacksonException { final CourtTypesAndCodes currentCourtTypesAndCodes = getCurrentCourtTypesAndCodes(); final String testJson = objectMapper().writeValueAsString(currentCourtTypesAndCodes); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtsEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtsEndpointTest.java index 3fd28b2b2..0e9e14207 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtsEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/AdminCourtsEndpointTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import io.restassured.response.Response; import org.assertj.core.util.Lists; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.CourtForDownload; import uk.gov.hmcts.dts.fact.model.OpeningTime; import uk.gov.hmcts.dts.fact.model.admin.Court; @@ -370,7 +370,7 @@ void shouldBeForbiddenForRetrievingCourtPhoto() { /************************************************************* court photo PUT request tests section. ***************************************************************/ @Test - void shouldUpdateCourtPhoto() throws JsonProcessingException { + void shouldUpdateCourtPhoto() throws JacksonException { final var response = doGetRequest( CARDIFF_COURT_PHOTO_PATH, Map.of(AUTHORIZATION, BEARER + authenticatedToken)); assertThat(response.statusCode()).isEqualTo(OK.value()); @@ -399,7 +399,7 @@ void shouldUpdateCourtPhoto() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingCourtPhoto() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingCourtPhoto() throws JacksonException { ImageFile imageFile = new ImageFile(); imageFile.setImageName(TEST_STRING); final Response response = doPutRequest( @@ -410,7 +410,7 @@ void shouldBeForbiddenForUpdatingCourtPhoto() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingCourtPhoto() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingCourtPhoto() throws JacksonException { ImageFile imageFile = new ImageFile(); imageFile.setImageName(TEST_STRING); final Response response = doPutRequest( @@ -420,7 +420,7 @@ CARDIFF_COURT_PHOTO_PATH, objectMapper().writeValueAsString(imageFile) } @Test - void shouldNotFoundForPhotoUpdateWhenCourtDoesNotExist() throws JsonProcessingException { + void shouldNotFoundForPhotoUpdateWhenCourtDoesNotExist() throws JacksonException { ImageFile imageFile = new ImageFile(); imageFile.setImageName(TEST_STRING); final Response response = doPutRequest( @@ -433,7 +433,7 @@ void shouldNotFoundForPhotoUpdateWhenCourtDoesNotExist() throws JsonProcessingEx /************************************************************* court POST request tests section. ***************************************************************/ @Test - void shouldCreateNewCourt() throws JsonProcessingException { + void shouldCreateNewCourt() throws JacksonException { EXPECTED_NEW_COURT.setNewCourtName("new court1"); final String newCourtNameJson = objectMapper().writeValueAsString(EXPECTED_NEW_COURT); final var response = doPostRequest( @@ -465,7 +465,7 @@ void shouldCreateNewCourt() throws JsonProcessingException { @Test - void shouldNotCreateCourtThatAlreadyExist() throws JsonProcessingException { + void shouldNotCreateCourtThatAlreadyExist() throws JacksonException { EXPECTED_NEW_COURT.setNewCourtName("aldershot Justice Centre"); final String testJson = objectMapper().writeValueAsString(EXPECTED_NEW_COURT); final Response response = doPostRequest( @@ -476,7 +476,7 @@ void shouldNotCreateCourtThatAlreadyExist() throws JsonProcessingException { } @Test - void adminShouldBeForbiddenToCreateCourt() throws JsonProcessingException { + void adminShouldBeForbiddenToCreateCourt() throws JacksonException { final String testJson = objectMapper().writeValueAsString(EXPECTED_NEW_COURT); final Response response = doPostRequest( COURTS_ENDPOINT, @@ -486,7 +486,7 @@ void adminShouldBeForbiddenToCreateCourt() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingNewCourt() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingNewCourt() throws JacksonException { final String testJson = objectMapper().writeValueAsString(EXPECTED_NEW_COURT); final Response response = doPostRequest( COURTS_ENDPOINT, testJson); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminAreasOfLawEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminAreasOfLawEndpointTest.java index 056b08c56..2362960b7 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminAreasOfLawEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminAreasOfLawEndpointTest.java @@ -1,8 +1,8 @@ package uk.gov.hmcts.dts.fact.admin.list; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -109,7 +109,7 @@ void shouldReturnAreaOfLawNotFound() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateAreaOfLaw() throws JsonProcessingException { + void shouldUpdateAreaOfLaw() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final AreaOfLaw expectedAreaOfLaw = getUpdatedHousingPossessionAreaOfLaw(); final String updatedJson = objectMapper().writeValueAsString(expectedAreaOfLaw); @@ -139,7 +139,7 @@ void shouldUpdateAreaOfLaw() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingAreaOfLaw() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingAreaOfLaw() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -151,7 +151,7 @@ void shouldBeForbiddenForUpdatingAreaOfLaw() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingAreaOfLaw() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingAreaOfLaw() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -161,7 +161,7 @@ void shouldRequireATokenWhenUpdatingAreaOfLaw() throws JsonProcessingException { } @Test - void shouldNotFoundForUpdateWhenAreaOfLawDoesNotExist() throws JsonProcessingException { + void shouldNotFoundForUpdateWhenAreaOfLawDoesNotExist() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); currentAreaOfLaw.setId(1234); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -174,7 +174,7 @@ void shouldNotFoundForUpdateWhenAreaOfLawDoesNotExist() throws JsonProcessingExc } @Test - void shouldReturnBadRequestForUpdateAreaOfLawWhenIdIsNull() throws JsonProcessingException { + void shouldReturnBadRequestForUpdateAreaOfLawWhenIdIsNull() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); currentAreaOfLaw.setId(null); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -188,7 +188,7 @@ void shouldReturnBadRequestForUpdateAreaOfLawWhenIdIsNull() throws JsonProcessin /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateAreaOfLaw() throws JsonProcessingException { + void shouldCreateAreaOfLaw() throws JacksonException { final List currentAreasOfLaw = getCurrentAreasOfLaw(); final AreaOfLaw expectedAreaOfLaw = createAreaOfLaw(); @@ -225,7 +225,7 @@ void shouldCreateAreaOfLaw() throws JsonProcessingException { } @Test - void shouldBeForbiddenForCreatingAreaOfLaw() throws JsonProcessingException { + void shouldBeForbiddenForCreatingAreaOfLaw() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -237,7 +237,7 @@ void shouldBeForbiddenForCreatingAreaOfLaw() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingAreaOfLaw() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingAreaOfLaw() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -247,7 +247,7 @@ void shouldRequireATokenWhenCreatingAreaOfLaw() throws JsonProcessingException { } @Test - void shouldNotCreateAreaOfLawThatAlreadyExist() throws JsonProcessingException { + void shouldNotCreateAreaOfLawThatAlreadyExist() throws JacksonException { final AreaOfLaw currentAreaOfLaw = getCurrentAreaOfLaw(); final String testJson = objectMapper().writeValueAsString(currentAreaOfLaw); @@ -261,7 +261,7 @@ void shouldNotCreateAreaOfLawThatAlreadyExist() throws JsonProcessingException { /************************************************************* Delete request tests section. ***************************************************************/ @Test - void adminShouldBeForbiddenForDeletingAreasOfLaw() throws JsonProcessingException { + void adminShouldBeForbiddenForDeletingAreasOfLaw() throws JacksonException { final var response = doDeleteRequest( ADMIN_AREAS_OF_LAW_ENDPOINT + AREA_OF_LAW_ID_HOUSING_POSSESSION, @@ -271,7 +271,7 @@ void adminShouldBeForbiddenForDeletingAreasOfLaw() throws JsonProcessingExceptio } @Test - void shouldRequireATokenWhenDeletingAreaOfLaw() throws JsonProcessingException { + void shouldRequireATokenWhenDeletingAreaOfLaw() throws JacksonException { final Response response = doDeleteRequest( ADMIN_AREAS_OF_LAW_ENDPOINT + AREA_OF_LAW_ID_HOUSING_POSSESSION, getTestAreasOfLawJson() @@ -280,7 +280,7 @@ void shouldRequireATokenWhenDeletingAreaOfLaw() throws JsonProcessingException { } @Test - void shouldNotDeleteAreaOfLawNotFound() throws JsonProcessingException { + void shouldNotDeleteAreaOfLawNotFound() throws JacksonException { final var response = doDeleteRequest( ADMIN_AREAS_OF_LAW_ENDPOINT + AREA_OF_LAW_ID_NOT_FOUND, @@ -291,7 +291,7 @@ void shouldNotDeleteAreaOfLawNotFound() throws JsonProcessingException { } @Test - void shouldNotDeleteAreaOfLawInUse() throws JsonProcessingException { + void shouldNotDeleteAreaOfLawInUse() throws JacksonException { final var response = doDeleteRequest( ADMIN_AREAS_OF_LAW_ENDPOINT + AREA_OF_LAW_ID_HOUSING_POSSESSION, @@ -328,7 +328,7 @@ private AreaOfLaw getUpdatedHousingPossessionAreaOfLaw() { ); } - private String getTestAreasOfLawJson() throws JsonProcessingException { + private String getTestAreasOfLawJson() throws JacksonException { return objectMapper().writeValueAsString(getUpdatedHousingPossessionAreaOfLaw()); } diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminContactTypeEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminContactTypeEndpointTest.java index d2a59ba65..d0b82f30f 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminContactTypeEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminContactTypeEndpointTest.java @@ -1,8 +1,8 @@ package uk.gov.hmcts.dts.fact.admin.list; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.ContactType; import uk.gov.hmcts.dts.fact.model.admin.EmailType; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -103,7 +103,7 @@ void shouldReturnContactTypeNotFound() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateContactType() throws JsonProcessingException { + void shouldUpdateContactType() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final ContactType expectedContactType = getUpdatedContactType(); final String updatedJson = objectMapper().writeValueAsString(expectedContactType); @@ -133,7 +133,7 @@ void shouldUpdateContactType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingContactType() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingContactType() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final String testJson = objectMapper().writeValueAsString(currentContactType); @@ -145,7 +145,7 @@ void shouldBeForbiddenForUpdatingContactType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingContactType() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingContactType() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final String testJson = objectMapper().writeValueAsString(currentContactType); @@ -155,7 +155,7 @@ void shouldRequireATokenWhenUpdatingContactType() throws JsonProcessingException } @Test - void shouldNotFoundForUpdateWhenContactTypeDoesNotExist() throws JsonProcessingException { + void shouldNotFoundForUpdateWhenContactTypeDoesNotExist() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); currentContactType.setId(1234); final String testJson = objectMapper().writeValueAsString(currentContactType); @@ -170,7 +170,7 @@ void shouldNotFoundForUpdateWhenContactTypeDoesNotExist() throws JsonProcessingE /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateContactType() throws JsonProcessingException { + void shouldCreateContactType() throws JacksonException { final List currentContactType = getCurrentContactTypes(); final ContactType expectedContactType = createContactType(); @@ -216,7 +216,7 @@ void shouldCreateContactType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForCreatingContactType() throws JsonProcessingException { + void shouldBeForbiddenForCreatingContactType() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final String testJson = objectMapper().writeValueAsString(currentContactType); @@ -228,7 +228,7 @@ void shouldBeForbiddenForCreatingContactType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingContactType() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingContactType() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final String testJson = objectMapper().writeValueAsString(currentContactType); @@ -238,7 +238,7 @@ void shouldRequireATokenWhenCreatingContactType() throws JsonProcessingException } @Test - void shouldNotCreateContactTypeThatAlreadyExist() throws JsonProcessingException { + void shouldNotCreateContactTypeThatAlreadyExist() throws JacksonException { final ContactType currentContactType = getCurrentContactType(); final String testJson = objectMapper().writeValueAsString(currentContactType); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminFacilitiesEndpointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminFacilitiesEndpointTest.java index 72f74b2df..7d9a17ce4 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminFacilitiesEndpointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminFacilitiesEndpointTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.admin.list; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.FacilityType; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -108,7 +108,7 @@ void shouldReturnFacilityTypeNotFound() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateFacilityType() throws JsonProcessingException { + void shouldUpdateFacilityType() throws JacksonException { final FacilityType currentFacilityType = getCurrentFacility(); final FacilityType expectedFacilityType = getUpdatedInterviewRoomFacility(); @@ -139,7 +139,7 @@ void shouldUpdateFacilityType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingFacilityType() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingFacilityType() throws JacksonException { final FacilityType currentFacilityType = getCurrentFacility(); final String testJson = objectMapper().writeValueAsString(currentFacilityType); @@ -151,7 +151,7 @@ void shouldBeForbiddenForUpdatingFacilityType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingFacilityType() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingFacilityType() throws JacksonException { final FacilityType currentFacilityType = getCurrentFacility(); final String testJson = objectMapper().writeValueAsString(currentFacilityType); @@ -161,7 +161,7 @@ void shouldRequireATokenWhenUpdatingFacilityType() throws JsonProcessingExceptio } @Test - void shouldNotFoundForUpdateWhenFacilityTypeDoesNotExist() throws JsonProcessingException { + void shouldNotFoundForUpdateWhenFacilityTypeDoesNotExist() throws JacksonException { final FacilityType currentFacilityType = getCurrentFacility(); currentFacilityType.setId(1234); final String testJson = objectMapper().writeValueAsString(currentFacilityType); @@ -176,7 +176,7 @@ void shouldNotFoundForUpdateWhenFacilityTypeDoesNotExist() throws JsonProcessing /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateFacilityType() throws JsonProcessingException { + void shouldCreateFacilityType() throws JacksonException { final List currentFacilityTypes = getCurrentFacilityTypes(); final FacilityType expectedFacilityType = getUpdatedInterviewRoomFacility(); @@ -215,7 +215,7 @@ void shouldCreateFacilityType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForCreatingFacilityType() throws JsonProcessingException { + void shouldBeForbiddenForCreatingFacilityType() throws JacksonException { final FacilityType currentFacility = getCurrentFacility(); final String testJson = objectMapper().writeValueAsString(currentFacility); final Response response = doPostRequest( @@ -226,7 +226,7 @@ void shouldBeForbiddenForCreatingFacilityType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingFacilityType() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingFacilityType() throws JacksonException { final FacilityType currentFacility = getCurrentFacility(); final String testJson = objectMapper().writeValueAsString(currentFacility); @@ -237,7 +237,7 @@ void shouldRequireATokenWhenCreatingFacilityType() throws JsonProcessingExceptio } @Test - void shouldNotCreateFacilityTypeThatAlreadyExist() throws JsonProcessingException { + void shouldNotCreateFacilityTypeThatAlreadyExist() throws JacksonException { final FacilityType currentFacility = getCurrentFacility(); final String testJson = objectMapper().writeValueAsString(currentFacility); @@ -251,7 +251,7 @@ void shouldNotCreateFacilityTypeThatAlreadyExist() throws JsonProcessingExceptio /************************************************************* Reorder Update Request Tests. ***************************************************************/ @Test - void shouldUpdateReorderFacilityTypes() throws JsonProcessingException { + void shouldUpdateReorderFacilityTypes() throws JacksonException { final Response response = doGetRequest( GET_FACILITIES_ENDPOINT, @@ -282,7 +282,7 @@ void shouldUpdateReorderFacilityTypes() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingReorderFacilityTypes() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingReorderFacilityTypes() throws JacksonException { final List currentFacilityTypes = getCurrentFacilityTypes(); final List idList = currentFacilityTypes.stream().map(f -> f.getId()).collect(toList()); final String testJson = objectMapper().writeValueAsString(idList); @@ -295,7 +295,7 @@ void shouldBeForbiddenForUpdatingReorderFacilityTypes() throws JsonProcessingExc } @Test - void shouldRequireATokenWhenUpdatingReorderFacilityType() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingReorderFacilityType() throws JacksonException { final List currentFacilityTypes = getCurrentFacilityTypes(); final List idList = currentFacilityTypes.stream().map(f -> f.getId()).collect(toList()); final String testJson = objectMapper().writeValueAsString(idList); @@ -306,7 +306,7 @@ void shouldRequireATokenWhenUpdatingReorderFacilityType() throws JsonProcessingE } @Test - void shouldNotUpdateWhenReorderFacilityTypeDoesNotExist() throws JsonProcessingException { + void shouldNotUpdateWhenReorderFacilityTypeDoesNotExist() throws JacksonException { final List currentFacilityTypes = getCurrentFacilityTypes(); final List idList = currentFacilityTypes.stream().map(f -> f.getId()).collect(toList()); idList.set(1,2000); @@ -322,7 +322,7 @@ void shouldNotUpdateWhenReorderFacilityTypeDoesNotExist() throws JsonProcessingE /************************************************************* Delete request tests section. ***************************************************************/ @Test - void adminShouldBeForbiddenForDeletingFacilityType() throws JsonProcessingException { + void adminShouldBeForbiddenForDeletingFacilityType() throws JacksonException { final var response = doDeleteRequest( GET_FACILITIES_ENDPOINT + TEST_INTERVIEW_ROOM_ID_NOT_FOUND, @@ -332,7 +332,7 @@ void adminShouldBeForbiddenForDeletingFacilityType() throws JsonProcessingExcept } @Test - void shouldRequireATokenWhenDeletingFacilityType() throws JsonProcessingException { + void shouldRequireATokenWhenDeletingFacilityType() throws JacksonException { final var response = doDeleteRequest( GET_FACILITIES_ENDPOINT + TEST_INTERVIEW_ROOM_ID_NOT_FOUND, getTestFacilityType() @@ -341,7 +341,7 @@ void shouldRequireATokenWhenDeletingFacilityType() throws JsonProcessingExceptio } @Test - void shouldNotDeleteFacilityTypeNotFound() throws JsonProcessingException { + void shouldNotDeleteFacilityTypeNotFound() throws JacksonException { final var response = doDeleteRequest( GET_FACILITIES_ENDPOINT + TEST_INTERVIEW_ROOM_ID_NOT_FOUND, @@ -352,7 +352,7 @@ void shouldNotDeleteFacilityTypeNotFound() throws JsonProcessingException { } @Test - void shouldNotDeleteFacilityTypeInUse() throws JsonProcessingException { + void shouldNotDeleteFacilityTypeInUse() throws JacksonException { final var response = doDeleteRequest( GET_FACILITIES_ENDPOINT + TEST_INTERVIEW_ROOM_ID, @@ -372,7 +372,7 @@ private FacilityType getCurrentFacility() { return response.as(FacilityType.class); } - private String getTestFacilityType() throws JsonProcessingException { + private String getTestFacilityType() throws JacksonException { return objectMapper().writeValueAsString(getUpdatedInterviewRoomFacility()); } diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminOpeningTypeEndPointTest.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminOpeningTypeEndPointTest.java index 7514e4137..d7ecc7a09 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminOpeningTypeEndPointTest.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/admin/list/AdminOpeningTypeEndPointTest.java @@ -1,8 +1,8 @@ package uk.gov.hmcts.dts.fact.admin.list; -import com.fasterxml.jackson.core.JsonProcessingException; import io.restassured.response.Response; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.model.admin.OpeningType; import uk.gov.hmcts.dts.fact.util.AdminFunctionalTestBase; @@ -99,7 +99,7 @@ void shouldReturnOpeningTypeNotFound() { /************************************************************* Update Request Tests. ***************************************************************/ @Test - void shouldUpdateOpeningType() throws JsonProcessingException { + void shouldUpdateOpeningType() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final OpeningType expectedOpeningType = getUpdatedOpeningType(); final String updatedJson = objectMapper().writeValueAsString(expectedOpeningType); @@ -129,7 +129,7 @@ void shouldUpdateOpeningType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForUpdatingOpeningType() throws JsonProcessingException { + void shouldBeForbiddenForUpdatingOpeningType() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final String testJson = objectMapper().writeValueAsString(currentOpeningType); @@ -141,7 +141,7 @@ void shouldBeForbiddenForUpdatingOpeningType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenUpdatingOpeningType() throws JsonProcessingException { + void shouldRequireATokenWhenUpdatingOpeningType() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final String testJson = objectMapper().writeValueAsString(currentOpeningType); @@ -151,7 +151,7 @@ void shouldRequireATokenWhenUpdatingOpeningType() throws JsonProcessingException } @Test - void shouldNotFoundForUpdateWhenOpeningTypeDoesNotExist() throws JsonProcessingException { + void shouldNotFoundForUpdateWhenOpeningTypeDoesNotExist() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); currentOpeningType.setId(123); final String testJson = objectMapper().writeValueAsString(currentOpeningType); @@ -207,7 +207,7 @@ void shouldNotDeleteOpeningTypeInUse() { /************************************************************* POST request tests section. ***************************************************************/ @Test - void shouldCreateOpeningType() throws JsonProcessingException { + void shouldCreateOpeningType() throws JacksonException { final List currentOpeningType = getCurrentOpeningTypes(); final OpeningType expectedOpeningType = createOpeningType(); @@ -243,7 +243,7 @@ void shouldCreateOpeningType() throws JsonProcessingException { } @Test - void shouldBeForbiddenForCreatingOpeningType() throws JsonProcessingException { + void shouldBeForbiddenForCreatingOpeningType() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final String testJson = objectMapper().writeValueAsString(currentOpeningType); @@ -255,7 +255,7 @@ void shouldBeForbiddenForCreatingOpeningType() throws JsonProcessingException { } @Test - void shouldRequireATokenWhenCreatingOpeningType() throws JsonProcessingException { + void shouldRequireATokenWhenCreatingOpeningType() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final String testJson = objectMapper().writeValueAsString(currentOpeningType); @@ -265,7 +265,7 @@ void shouldRequireATokenWhenCreatingOpeningType() throws JsonProcessingException } @Test - void shouldNotCreateOpeningTypeThatAlreadyExist() throws JsonProcessingException { + void shouldNotCreateOpeningTypeThatAlreadyExist() throws JacksonException { final OpeningType currentOpeningType = getCurrentOpeningType(); final String testJson = objectMapper().writeValueAsString(currentOpeningType); diff --git a/src/functionalTest/java/uk/gov/hmcts/dts/fact/util/TestUtil.java b/src/functionalTest/java/uk/gov/hmcts/dts/fact/util/TestUtil.java index 2b548e760..5ccaed1a9 100644 --- a/src/functionalTest/java/uk/gov/hmcts/dts/fact/util/TestUtil.java +++ b/src/functionalTest/java/uk/gov/hmcts/dts/fact/util/TestUtil.java @@ -1,6 +1,6 @@ package uk.gov.hmcts.dts.fact.util; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; @SuppressWarnings("PMD.TestClassWithoutTestCases") public final class TestUtil { diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/ApplicationTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/ApplicationTest.java index 2ee19b2a5..c1a21d1a3 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/ApplicationTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/ApplicationTest.java @@ -3,8 +3,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FeignConfigurationTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FeignConfigurationTest.java index 0ed4c09ad..ce819172f 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FeignConfigurationTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FeignConfigurationTest.java @@ -3,7 +3,7 @@ import feign.RequestTemplate; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.context.ApplicationContext; import static org.assertj.core.api.Assertions.assertThat; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FlywayConfigurationTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FlywayConfigurationTest.java index 3c4d40544..1930aba1b 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FlywayConfigurationTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/FlywayConfigurationTest.java @@ -2,7 +2,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; import uk.gov.hmcts.dts.fact.data.migration.FlywayNoOpStrategy; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/LocaleResolverTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/LocaleResolverTest.java index 3f7fe4d11..6e0ba269f 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/LocaleResolverTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/LocaleResolverTest.java @@ -3,14 +3,15 @@ import jakarta.servlet.http.HttpServletRequest; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.context.ApplicationContext; import java.util.Locale; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @WebMvcTest(LocaleResolver.class) @@ -19,7 +20,6 @@ class LocaleResolverTest { @Autowired ApplicationContext applicationContext; - @Mock HttpServletRequest request; LocaleResolver localeResolver; @@ -27,6 +27,7 @@ class LocaleResolverTest { @BeforeEach void init() { localeResolver = (LocaleResolver) (applicationContext.getBean("localeResolver")); + request = mock(HttpServletRequest.class); } @Test @@ -49,6 +50,6 @@ void shouldReturnNullForNonSupportedLanguage() { when(request.getHeader("Accept-Language")).thenReturn("za"); Locale result = localeResolver.resolveLocale(request); - assertEquals(null, result); + assertNull(result); } } diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/SwaggerPublisherTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/SwaggerPublisherTest.java index f1e95297e..293386722 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/SwaggerPublisherTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/SwaggerPublisherTest.java @@ -4,8 +4,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfigurationTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfigurationTest.java index 92b35b3a8..c756211bb 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfigurationTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfigurationTest.java @@ -2,7 +2,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/AddressTypeRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/AddressTypeRepositoryTest.java index ee49e120d..62db6ac48 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/AddressTypeRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/AddressTypeRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.AddressType; import java.util.List; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ContactTypeRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ContactTypeRepositoryTest.java index e0897e5d7..8690f8c39 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ContactTypeRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ContactTypeRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.ContactType; import java.util.List; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CountyRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CountyRepositoryTest.java index 66cadc8e8..1769e1108 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CountyRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CountyRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.County; import java.util.List; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAdditionalLinkRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAdditionalLinkRepositoryTest.java index 9408d5456..d4c6b4215 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAdditionalLinkRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAdditionalLinkRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.Court; import java.util.Optional; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAddressRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAddressRepositoryTest.java index 8c14d4094..b09600354 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAddressRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAddressRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.CourtAddress; import java.util.ArrayList; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositorySpoeTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositorySpoeTest.java index 083fdf3ac..f63aa9656 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositorySpoeTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositorySpoeTest.java @@ -3,8 +3,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.CourtAreaOfLawSpoe; import java.util.List; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositoryTest.java index 3ad6498f1..3a12055b7 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtAreaOfLawRepositoryTest.java @@ -4,8 +4,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.AreaOfLaw; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtAreaOfLaw; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtHistoryRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtHistoryRepositoryTest.java index d1a08df4c..9c30c6c8b 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtHistoryRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtHistoryRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.CourtHistory; import java.time.LocalDateTime; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtPostcodeRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtPostcodeRepositoryTest.java index 860e257e5..5c21e6a63 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtPostcodeRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtPostcodeRepositoryTest.java @@ -5,8 +5,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtPostcode; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtRepositoryTest.java index 5c919948c..654172793 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtRepositoryTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.repositories; -import com.fasterxml.jackson.databind.ObjectMapper; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.entity.AdditionalLink; import uk.gov.hmcts.dts.fact.entity.Contact; import uk.gov.hmcts.dts.fact.entity.Court; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtWithDistanceRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtWithDistanceRepositoryTest.java index 6376d0edb..c84149a04 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtWithDistanceRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/CourtWithDistanceRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.AreaOfLaw; import uk.gov.hmcts.dts.fact.entity.CourtWithDistance; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/OpeningTypeRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/OpeningTypeRepositoryTest.java index 047fdc6bb..7a8333a50 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/OpeningTypeRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/OpeningTypeRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.entity.OpeningType; import java.util.List; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceAreaRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceAreaRepositoryTest.java index 38a4b1894..b8f41149e 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceAreaRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceAreaRepositoryTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import uk.gov.hmcts.dts.fact.model.ServiceArea; import uk.gov.hmcts.dts.fact.model.ServiceAreaCourt; diff --git a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceRepositoryTest.java b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceRepositoryTest.java index 797ea29e6..c104e806c 100644 --- a/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceRepositoryTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/dts/fact/repositories/ServiceRepositoryTest.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.repositories; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; +import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.Service; import java.io.IOException; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/config/FlywayConfiguration.java b/src/main/java/uk/gov/hmcts/dts/fact/config/FlywayConfiguration.java index 4446d14aa..090e6d9ef 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/config/FlywayConfiguration.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/config/FlywayConfiguration.java @@ -5,10 +5,10 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration; -import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration; +import org.springframework.boot.flyway.autoconfigure.FlywayMigrationStrategy; +import org.springframework.boot.hibernate.autoconfigure.HibernateJpaAutoConfiguration; +import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import uk.gov.hmcts.dts.fact.data.migration.FlywayNoOpStrategy; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/config/TrailingSlashConfiguration.java b/src/main/java/uk/gov/hmcts/dts/fact/config/TrailingSlashConfiguration.java new file mode 100644 index 000000000..197dece05 --- /dev/null +++ b/src/main/java/uk/gov/hmcts/dts/fact/config/TrailingSlashConfiguration.java @@ -0,0 +1,32 @@ +package uk.gov.hmcts.dts.fact.config; + +import jakarta.servlet.Filter; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.web.filter.UrlHandlerFilter; + +@Configuration +public class TrailingSlashConfiguration { + + @Bean + public FilterRegistrationBean trailingSlashHandlerFilter() { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + registrationBean.setFilter( + // Spring Boot 4 use strict path matching, so + // "/courts" and "/courts/" are treated as different request paths. + // During migration this caused endpoint and security matcher drift + // (for example public search vs admin-protected routes) depending on + // whether clients sent a trailing slash. Wrapping the request here + // normalizes paths early so controller mappings and auth rules behave + // consistently for both forms. + UrlHandlerFilter + .trailingSlashHandler("/**") + .wrapRequest() + .build() + ); + registrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE); + return registrationBean; + } +} diff --git a/src/main/java/uk/gov/hmcts/dts/fact/config/WebConfiguration.java b/src/main/java/uk/gov/hmcts/dts/fact/config/WebConfiguration.java index e50e705bb..7860381b4 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/config/WebConfiguration.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/config/WebConfiguration.java @@ -2,7 +2,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; -import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import uk.gov.hmcts.dts.fact.util.ActionConverter; @@ -13,9 +12,5 @@ public void addFormatters(FormatterRegistry registry) { registry.addConverter(new ActionConverter()); } - @Override - public void configurePathMatch(PathMatchConfigurer configurer) { - configurer.setUseTrailingSlashMatch(true); - } } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfiguration.java b/src/main/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfiguration.java index f2d073289..9c1824bf0 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfiguration.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/config/security/SecurityConfiguration.java @@ -1,10 +1,12 @@ package uk.gov.hmcts.dts.fact.config.security; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.web.SecurityFilterChain; @SuppressWarnings("PMD.SignatureDeclareThrowsException") @@ -16,19 +18,28 @@ protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorize -> authorize .requestMatchers(HttpMethod.GET, "/admin/**").authenticated() - .requestMatchers(HttpMethod.GET, "/courts/").authenticated() + .requestMatchers(SecurityConfiguration::isCourtsDownloadRequest).authenticated() .requestMatchers(HttpMethod.GET, "/courts/all").authenticated() .requestMatchers(HttpMethod.GET, "/courts/{slug}/courtPhoto").authenticated() - .requestMatchers(HttpMethod.DELETE, "/*").authenticated() - .requestMatchers(HttpMethod.POST, "/*").authenticated() - .requestMatchers(HttpMethod.PUT, "/*").authenticated() - .requestMatchers(HttpMethod.DELETE, "/*").authenticated() - .requestMatchers(HttpMethod.POST, "/*").authenticated() + .requestMatchers(HttpMethod.POST, "/**").authenticated() + .requestMatchers(HttpMethod.PUT, "/**").authenticated() + .requestMatchers(HttpMethod.DELETE, "/**").authenticated() .anyRequest().permitAll() - ).oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())); + ) + .oauth2ResourceServer(oauth2 -> oauth2.jwt(Customizer.withDefaults())) + .csrf(AbstractHttpConfigurer::disable); + return http.build(); } + private static boolean isCourtsDownloadRequest(final HttpServletRequest request) { + final String requestPath = request.getRequestURI(); + final boolean isCourtsPath = "/courts".equals(requestPath) || "/courts/".equals(requestPath); + return HttpMethod.GET.matches(request.getMethod()) + && isCourtsPath + && request.getParameter("q") == null; + } + @Bean public RolesProvider rolesProvider() { return new SpringRolesProvider(); diff --git a/src/main/java/uk/gov/hmcts/dts/fact/controllers/CourtsController.java b/src/main/java/uk/gov/hmcts/dts/fact/controllers/CourtsController.java index 8360b6aa0..10342d306 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/controllers/CourtsController.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/controllers/CourtsController.java @@ -62,7 +62,7 @@ public ResponseEntity findCourtByNameDeprecated(@PathVariable String s * @param query - name, address, town or postcode * @return array of courts that match address or partial address */ - @GetMapping + @GetMapping(params = "q") @Operation(summary = "Find courts by name, address, town or postcode") public ResponseEntity> findCourtByNameOrAddressOrPostcodeOrTown(@RequestParam(name = "q") String query) { if (query.isEmpty()) { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsController.java b/src/main/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsController.java index e02a6e224..c420e3eba 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsController.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsController.java @@ -83,7 +83,7 @@ public ResponseEntity> getAllCourts() { * * @return the list of all courts */ - @GetMapping(path = "/") + @GetMapping(path = {"", "/"}) @Role({FACT_ADMIN, FACT_VIEWER, FACT_SUPER_ADMIN}) @Operation(summary = "Return court data for download") public ResponseEntity> getAllCourtsForDownload() { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategy.java b/src/main/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategy.java index 2451e06c9..b8ea14e66 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategy.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategy.java @@ -1,7 +1,7 @@ package uk.gov.hmcts.dts.fact.data.migration; import org.flywaydb.core.Flyway; -import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy; +import org.springframework.boot.flyway.autoconfigure.FlywayMigrationStrategy; import uk.gov.hmcts.dts.fact.exception.PendingMigrationScriptException; import java.util.stream.Stream; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/AddressType.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/AddressType.java index cdf821294..37da53055 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/AddressType.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/AddressType.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; @@ -18,5 +19,7 @@ public class AddressType { @Id private Integer id; private String name; + + @Column(name = "name_cy") private String nameCy; } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/AreaOfLaw.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/AreaOfLaw.java index 55e5d1e74..339021d4e 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/AreaOfLaw.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/AreaOfLaw.java @@ -24,7 +24,11 @@ public class AreaOfLaw { @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq-gen-aol") private Integer id; private String name; + + @Column(name = "external_link") private String externalLink; + + @Column(name = "external_link_cy") private String externalLinkCy; @Column(name = "external_link_desc") private String externalLinkDescription; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/Contact.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/Contact.java index 2dd21bae7..7f345ae43 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/Contact.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/Contact.java @@ -37,7 +37,11 @@ public class Contact extends Element { @Column(name = "name_cy") private String descriptionCy; private String explanation; + + @Column(name = "explanation_cy") private String explanationCy; + + @Column(name = "in_leaflet") private boolean inLeaflet; private boolean fax; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/Court.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/Court.java index ff2786908..7968d913f 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/Court.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/Court.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.dts.fact.entity; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -39,30 +40,53 @@ public class Court { @Id @SequenceGenerator(name = "seq-court-gen", sequenceName = "public.search_court_id_seq", allocationSize = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq-court-gen") + @Column(name = "id") private Integer id; + @Column(name = "name") private String name; + @Column(name = "name_cy") private String nameCy; + @Column(name = "slug") private String slug; + @Column(name = "info") private String info; + @Column(name = "info_cy") private String infoCy; + @Column(name = "displayed") private Boolean displayed; + @Column(name = "directions") private String directions; + @Column(name = "directions_cy") private String directionsCy; + @Column(name = "image_file") private String imageFile; + @Column(name = "lat") private Double lat; + @Column(name = "lon") private Double lon; + @Column(name = "alert") private String alert; + @Column(name = "alert_cy") private String alertCy; + @Column(name = "number") private Integer number; + @Column(name = "cci_code") private Integer cciCode; + @Column(name = "magistrate_code") private Integer magistrateCode; + @Column(name = "location_code") private Integer locationCode; + @Column(name = "court_code") private Integer courtCode; + @Column(name = "welsh_enabled") private Boolean welshEnabled; + @Column(name = "hide_aols") private Boolean hideAols; @UpdateTimestamp + @Column(name = "updated_at") private Timestamp updatedAt; + @Column(name = "region_id") private Integer regionId; @ManyToMany @@ -121,6 +145,7 @@ public class Court { @OrderBy("sort_order") private List addresses; + @Column(name = "gbs") private String gbs; @OneToOne(cascade = {CascadeType.ALL}, mappedBy = "courtId") diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtAddress.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtAddress.java index 3f90abec9..24cde95e5 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtAddress.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtAddress.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.dts.fact.entity; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -33,6 +34,7 @@ public class CourtAddress { @Id() @SequenceGenerator(name = "seq-gen-address", sequenceName = "search_courtaddress_id_seq", allocationSize = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq-gen-address") + @Column(name = "id") private Integer id; @ManyToOne @JoinColumn(name = "court_id") @@ -40,20 +42,30 @@ public class CourtAddress { @OneToOne @JoinColumn(name = "address_type_id") private AddressType addressType; + @Column(name = "address") private String address; + + @Column(name = "address_cy") private String addressCy; + + @Column(name = "town_name") private String townName; + + @Column(name = "town_name_cy") private String townNameCy; @OneToOne @JoinColumn(name = "county_id") private County county; + @Column(name = "postcode") private String postcode; @OneToMany(mappedBy = "address", cascade = CascadeType.PERSIST) private List courtSecondaryAddressType; + @Column(name = "sort_order") private Integer sortOrder; + @Column(name = "epim_id") private String epimId; public CourtAddress(final Court court, final AddressType addressType, final List addressLines, final List addressLinesCy, diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtContact.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtContact.java index b12a36dd3..7ab0ac016 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtContact.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtContact.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.dts.fact.entity; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -35,6 +36,8 @@ public class CourtContact { @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "contact_id") private Contact contact; + + @Column(name = "sort_order") private Integer sortOrder; public CourtContact(final Court court, final Contact contact, final Integer sortOrder) { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtLock.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtLock.java index de98dfd5a..31395f66c 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtLock.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtLock.java @@ -28,7 +28,11 @@ public class CourtLock { private Integer id; @Column(name = "lock_acquired") private LocalDateTime lockAcquired; + + @Column(name = "user_email") private String userEmail; + + @Column(name = "court_slug") private String courtSlug; public CourtLock(uk.gov.hmcts.dts.fact.model.admin.CourtLock courtLock) { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtWithDistance.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtWithDistance.java index 47f0a14d9..cdc62997e 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtWithDistance.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/CourtWithDistance.java @@ -1,11 +1,13 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinTable; import jakarta.persistence.ManyToMany; import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; import lombok.Getter; import lombok.Setter; @@ -15,27 +17,56 @@ import static java.util.Comparator.comparing; @Entity +@Table(name = "search_court") @Getter @Setter @SuppressWarnings("PMD.TooManyFields") public class CourtWithDistance { private static final String COURT_ID = "court_id"; @Id + @Column(name = "id") private Integer id; @Getter + @Column(name = "name") private String name; + + @Column(name = "name_cy") private String nameCy; + + @Column(name = "slug") private String slug; + + @Column(name = "info") private String info; + + @Column(name = "info_cy") private String infoCy; + + @Column(name = "displayed") private Boolean displayed; + + @Column(name = "directions") private String directions; + + @Column(name = "directions_cy") private String directionsCy; + + @Column(name = "lat") private Double lat; + + @Column(name = "lon") private Double lon; + + @Column(name = "number") private Integer number; + + @Column(name = "cci_code") private Integer cciCode; + + @Column(name = "magistrate_code") private Integer magistrateCode; + + @Column(name = "hide_aols") private Boolean hideAols; @ManyToMany @@ -110,8 +141,10 @@ public class CourtWithDistance { ) private List addresses; + @Column(name = "gbs") private String gbs; + @Column(name = "distance") private Double distance; public List getAreasOfLaw() { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/DxCode.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/DxCode.java index 57a3fee20..d1863a87e 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/DxCode.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/DxCode.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -24,7 +25,11 @@ public class DxCode { private Integer id; private String code; private String explanation; + + @Column(name = "explanation_cy") private String explanationCy; + + @Column(name = "in_leaflet") private boolean inLeaflet; public DxCode(final String code, final String explanation, final String explanationCy) { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/Email.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/Email.java index 9c42b68b6..22a53f80d 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/Email.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/Email.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -24,8 +25,12 @@ public class Email extends Element { private Integer id; private String address; private String description; + + @Column(name = "description_cy") private String descriptionCy; private String explanation; + + @Column(name = "explanation_cy") private String explanationCy; @OneToOne() diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/Facility.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/Facility.java index 5dade3896..1acf8ec32 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/Facility.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/Facility.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import com.fasterxml.jackson.annotation.JsonIgnore; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -53,6 +54,7 @@ public class Facility { ) private FacilityType facilityType; + @JsonIgnore public Facility(final String description, final String descriptionCy,final FacilityType facilityType) { this.name = facilityType.getName(); this.nameCy = facilityType.getNameCy(); diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/InPerson.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/InPerson.java index 6d1ce9a70..c9bfc6b2e 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/InPerson.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/InPerson.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -20,12 +21,17 @@ public class InPerson { @Id @SequenceGenerator(name = "seq-in-person-gen", sequenceName = "public.search_inperson_id_seq", allocationSize = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq-in-person-gen") + @Column(name = "id") private Integer id; + @Column(name = "is_in_person") private Boolean isInPerson; @OneToOne @JoinColumn(name = "court_id") private Court courtId; + @Column(name = "access_scheme") private Boolean accessScheme; + + @Column(name = "common_platform") private Boolean commonPlatform; } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/Service.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/Service.java index 92caca81f..3d772a4b3 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/Service.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/Service.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; @@ -21,8 +22,12 @@ public class Service { @Id private Integer id; private String name; + + @Column(name = "name_cy") private String nameCy; private String description; + + @Column(name = "description_cy") private String descriptionCy; private String slug; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceArea.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceArea.java index 63a71ea2a..87ae066dc 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceArea.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceArea.java @@ -1,6 +1,8 @@ package uk.gov.hmcts.dts.fact.entity; +import com.fasterxml.jackson.annotation.JsonIgnore; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; @@ -24,16 +26,30 @@ public class ServiceArea { @Id private Integer id; private String name; + + @Column(name = "name_cy") private String nameCy; private String description; + + @Column(name = "description_cy") private String descriptionCy; private String slug; + + @Column(name = "online_url") private String onlineUrl; + + @Column(name = "online_text") private String onlineText; + + @Column(name = "online_text_cy") private String onlineTextCy; private String type; private String text; + + @Column(name = "text_cy") private String textCy; + + @Column(name = "catchment_method") private String catchmentMethod; @OneToMany(mappedBy = "servicearea") @@ -47,6 +63,7 @@ public ServiceArea() { // This constructor is intentionally empty. Nothing special is needed here. } + @JsonIgnore public ServiceArea(int id, String name, String nameCy, String description, String descriptionCy, String slug, String onlineUrl, String onlineText, String onlineTextCy, String type, String text, String textCy, String catchmentMethod) { this.id = id; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceAreaCourt.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceAreaCourt.java index 6bbe73fe2..6a5e27ff9 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceAreaCourt.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceAreaCourt.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.dts.fact.entity; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; @@ -25,5 +26,6 @@ public class ServiceAreaCourt { @JoinColumn(name = "court_id") private Court court; + @Column(name = "catchment_type") private String catchmentType; } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceCentre.java b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceCentre.java index 4bff659f6..30eefcbed 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceCentre.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/entity/ServiceCentre.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.entity; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -22,10 +23,14 @@ public class ServiceCentre { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") private Integer id; @OneToOne @JoinColumn(name = "court_id") private Court courtId; // use this as the one-to-one mapping for court_id to court_id + @Column(name = "intro_paragraph") private String introParagraph; + + @Column(name = "intro_paragraph_cy") private String introParagraphCy; } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandler.java b/src/main/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandler.java index 5f90b34da..189eeb781 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandler.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandler.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.exception; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import java.util.HashMap; import java.util.List; @@ -25,10 +25,10 @@ public class GlobalControllerExceptionHandler { * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(NotFoundException.class) - ResponseEntity notFoundExceptionHandler(final NotFoundException ex) throws JsonProcessingException { + ResponseEntity notFoundExceptionHandler(final NotFoundException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -41,10 +41,10 @@ ResponseEntity notFoundExceptionHandler(final NotFoundException ex) thro * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(InvalidPostcodeException.class) - ResponseEntity invalidPostcodeExceptionHandler(final InvalidPostcodeException ex) throws JsonProcessingException { + ResponseEntity invalidPostcodeExceptionHandler(final InvalidPostcodeException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -62,10 +62,10 @@ ResponseEntity invalidPostcodeExceptionHandler(final InvalidPostcodeExce * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(InvalidEpimIdException.class) - ResponseEntity invalidEpimIdExceptionHandler(final InvalidEpimIdException ex) throws JsonProcessingException { + ResponseEntity invalidEpimIdExceptionHandler(final InvalidEpimIdException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -79,10 +79,10 @@ ResponseEntity invalidEpimIdExceptionHandler(final InvalidEpimIdExceptio * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(LockExistsException.class) - ResponseEntity lockExistsExceptionHandler(final LockExistsException ex) throws JsonProcessingException { + ResponseEntity lockExistsExceptionHandler(final LockExistsException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); log.error("Lock is currently in use exception: {}", ex.getMessage()); @@ -96,10 +96,10 @@ ResponseEntity lockExistsExceptionHandler(final LockExistsException ex) throws J * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(IllegalArgumentException.class) - ResponseEntity illegalArgumentExceptionHandler(final IllegalArgumentException ex) throws JsonProcessingException { + ResponseEntity illegalArgumentExceptionHandler(final IllegalArgumentException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -134,10 +134,10 @@ ResponseEntity> postcodeNotFoundExceptionHandler(final PostcodeNotF * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(DuplicatedListItemException.class) - ResponseEntity duplicateListItemExceptionHandler(final DuplicatedListItemException ex) throws JsonProcessingException { + ResponseEntity duplicateListItemExceptionHandler(final DuplicatedListItemException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -150,10 +150,10 @@ ResponseEntity duplicateListItemExceptionHandler(final DuplicatedListIte * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(IllegalListItemException.class) - ResponseEntity illegalListItemExceptionHandler(final IllegalListItemException ex) throws JsonProcessingException { + ResponseEntity illegalListItemExceptionHandler(final IllegalListItemException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); @@ -166,10 +166,10 @@ ResponseEntity illegalListItemExceptionHandler(final IllegalListItemExce * * @param ex the exception * @return the response entity - * @throws JsonProcessingException if the response entity cannot be converted to a string + * @throws JacksonException if the response entity cannot be converted to a string */ @ExceptionHandler(ListItemInUseException.class) - ResponseEntity listItemInUseExceptionHandler(final ListItemInUseException ex) throws JsonProcessingException { + ResponseEntity listItemInUseExceptionHandler(final ListItemInUseException ex) throws JacksonException { HashMap error = new HashMap<>(); HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set(CONTENT_TYPE, APPLICATION_JSON); diff --git a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthService.java b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthService.java index 767be9e13..0ce5771fb 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthService.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthService.java @@ -1,11 +1,12 @@ package uk.gov.hmcts.dts.fact.mapit; -import com.fasterxml.jackson.databind.JsonNode; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.MapitUsageException; import java.io.IOException; @@ -27,12 +28,14 @@ public class MapItHealthService { private String mapitKey; private RestTemplate restTemplate = new RestTemplate(); + private ObjectMapper objectMapper = new ObjectMapper(); public boolean isUp() throws IOException { final String fullPath = mapitUrl + mapitQuotaPath + "?api_key=" + mapitKey; - final ResponseEntity response = restTemplate.getForEntity(fullPath, JsonNode.class); + final ResponseEntity response = restTemplate.getForEntity(fullPath, String.class); - final JsonNode responseBody = response.getBody(); + final String responseText = response.getBody(); + final JsonNode responseBody = responseText == null ? null : objectMapper.readTree(responseText); if (responseBody != null) { final JsonNode quota = responseBody.get(QUOTA); if (quota != null) { diff --git a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitData.java b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitData.java index 94fed70f0..600460ea7 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitData.java @@ -1,11 +1,12 @@ package uk.gov.hmcts.dts.fact.mapit; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.JsonNode; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; +import tools.jackson.databind.JsonNode; + import uk.gov.hmcts.dts.fact.exception.NotFoundException; import java.util.Optional; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicator.java b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicator.java index 74387af4d..a80a3c05a 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicator.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicator.java @@ -1,8 +1,8 @@ package uk.gov.hmcts.dts.fact.mapit; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.contributor.Health; +import org.springframework.boot.health.contributor.HealthIndicator; import org.springframework.stereotype.Component; import uk.gov.hmcts.dts.fact.exception.MapitUsageException; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/AreaOfLawTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/AreaOfLawTypeData.java index 07feb6cff..037a14c6f 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/AreaOfLawTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/AreaOfLawTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ContactDescriptionTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ContactDescriptionTypeData.java index 82d9f3456..c5f4533a9 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ContactDescriptionTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ContactDescriptionTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtAreasOfLawData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtAreasOfLawData.java index d0d34cf15..db7d0dea3 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtAreasOfLawData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtAreasOfLawData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtCodeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtCodeData.java index e0ee90a3f..6bd3729ba 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtCodeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtCodeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtDxCodeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtDxCodeData.java index 476a9c99f..5dc0c5f78 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtDxCodeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtDxCodeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtFaxData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtFaxData.java index 155290a00..49de17374 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtFaxData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtFaxData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtLocalAuthorityData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtLocalAuthorityData.java index 3785df538..cb7dee14d 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtLocalAuthorityData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtLocalAuthorityData.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.migration.model; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtMigrationData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtMigrationData.java index ef9ec213c..805b925ca 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtMigrationData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtMigrationData.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.migration.model; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtPhotoData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtPhotoData.java index 5d9c1aec9..6c64296a4 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtPhotoData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtPhotoData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtProfessionalInformationData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtProfessionalInformationData.java index 76984815a..c3ef52c59 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtProfessionalInformationData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtProfessionalInformationData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtServiceAreaData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtServiceAreaData.java index 9d7aae7b2..4d1772acf 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtServiceAreaData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtServiceAreaData.java @@ -1,10 +1,10 @@ package uk.gov.hmcts.dts.fact.migration.model; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtSinglePointOfEntryData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtSinglePointOfEntryData.java index 57022d7df..6684eda2a 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtSinglePointOfEntryData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtSinglePointOfEntryData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtTypeData.java index 056c1a69a..1901028a1 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/CourtTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/LocalAuthorityTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/LocalAuthorityTypeData.java index ac4ba2f9b..b9aa013f3 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/LocalAuthorityTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/LocalAuthorityTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/MigrationExportResponse.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/MigrationExportResponse.java index 5374ec063..ea5ce59f8 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/MigrationExportResponse.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/MigrationExportResponse.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/OpeningHourTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/OpeningHourTypeData.java index e54eb2f69..70dc9ecc3 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/OpeningHourTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/OpeningHourTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/RegionData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/RegionData.java index 26244136f..e93b5efc4 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/RegionData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/RegionData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceAreaTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceAreaTypeData.java index 0c43b5444..1686473a5 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceAreaTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceAreaTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; @Getter @AllArgsConstructor diff --git a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceTypeData.java b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceTypeData.java index bd199692c..a3dcc2a6a 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceTypeData.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/migration/model/ServiceTypeData.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.migration.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import java.util.List; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/Court.java b/src/main/java/uk/gov/hmcts/dts/fact/model/Court.java index 4addf8478..60247d895 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/Court.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/Court.java @@ -2,12 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import uk.gov.hmcts.dts.fact.entity.CourtAdditionalLink; import uk.gov.hmcts.dts.fact.entity.CourtApplicationUpdate; import uk.gov.hmcts.dts.fact.entity.CourtContact; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtForDownload.java b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtForDownload.java index 858f35e41..66daf936e 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtForDownload.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtForDownload.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.model; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.apache.commons.lang.StringUtils; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import uk.gov.hmcts.dts.fact.entity.AreaOfLaw; import uk.gov.hmcts.dts.fact.entity.CourtApplicationUpdate; import uk.gov.hmcts.dts.fact.entity.CourtContact; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtReferenceWithHistoricalName.java b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtReferenceWithHistoricalName.java index 24c3963b4..7cb54e8e9 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtReferenceWithHistoricalName.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtReferenceWithHistoricalName.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Getter; @@ -28,6 +29,7 @@ public class CourtReferenceWithHistoricalName { private Integer region; private String historicalName; + @JsonIgnore public CourtReferenceWithHistoricalName(uk.gov.hmcts.dts.fact.entity.Court courtEntity, CourtHistory courtHistory) { this.name = chooseString(courtEntity.getNameCy(), courtEntity.getName()); this.slug = courtEntity.getSlug(); diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtWithDistance.java b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtWithDistance.java index 877b552cb..3d7e88bb6 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/CourtWithDistance.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/CourtWithDistance.java @@ -2,11 +2,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtType; import uk.gov.hmcts.dts.fact.entity.DxCode; @@ -44,6 +44,7 @@ public class CourtWithDistance { @JsonProperty("types") private List courtTypes; private List addresses; + @JsonProperty("areas_of_law") private List areasOfLaw; private Boolean displayed; private Boolean hideAols; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/ServiceAreaWithCourtReferencesWithDistance.java b/src/main/java/uk/gov/hmcts/dts/fact/model/ServiceAreaWithCourtReferencesWithDistance.java index 904ce4008..181fff08c 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/ServiceAreaWithCourtReferencesWithDistance.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/ServiceAreaWithCourtReferencesWithDistance.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.dts.fact.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import lombok.NoArgsConstructor; @@ -17,10 +18,12 @@ public class ServiceAreaWithCourtReferencesWithDistance { private String onlineUrl; private List courts; + @JsonIgnore public ServiceAreaWithCourtReferencesWithDistance(final String slug) { this.slug = slug; } + @JsonIgnore public ServiceAreaWithCourtReferencesWithDistance(final uk.gov.hmcts.dts.fact.entity.ServiceArea serviceArea, final List courts) { this.slug = serviceArea.getSlug(); this.name = chooseString(serviceArea.getNameCy(), serviceArea.getName()); diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/Court.java b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/Court.java index dd54173d4..a2be76958 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/Court.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/Court.java @@ -1,8 +1,6 @@ package uk.gov.hmcts.dts.fact.model.admin; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -21,7 +19,6 @@ @Setter @AllArgsConstructor @NoArgsConstructor -@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class Court { private String slug; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/ImageFile.java b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/ImageFile.java index df293b0ce..7d0077b57 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/ImageFile.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/ImageFile.java @@ -1,7 +1,6 @@ package uk.gov.hmcts.dts.fact.model.admin; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -11,7 +10,7 @@ @Setter @AllArgsConstructor @NoArgsConstructor -@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class ImageFile { + @JsonAlias("image_name") private String imageName; } diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/NewCourt.java b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/NewCourt.java index 99bf6b4ed..b341fbd57 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/admin/NewCourt.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/admin/NewCourt.java @@ -1,7 +1,6 @@ package uk.gov.hmcts.dts.fact.model.admin; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; +import com.fasterxml.jackson.annotation.JsonAlias; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; @@ -17,14 +16,16 @@ @Setter @AllArgsConstructor @NoArgsConstructor -@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class NewCourt { + @JsonAlias("new_court_name") @Size(min = 1, max = 200) @Pattern(regexp = "^[a-zA-Z0-9-'() ]*$", message = "Court name is not valid, should only contain a combination of characters, " + "numbers, apostrophes or hyphens") private String newCourtName; + @JsonAlias("service_centre") private Boolean serviceCentre; + @JsonAlias("service_areas") private List serviceAreas; private double lon; private double lat; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/model/deprecated/OldCourt.java b/src/main/java/uk/gov/hmcts/dts/fact/model/deprecated/OldCourt.java index e1b29b230..f37c22735 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/model/deprecated/OldCourt.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/model/deprecated/OldCourt.java @@ -2,12 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.databind.PropertyNamingStrategies; -import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import tools.jackson.databind.PropertyNamingStrategies; +import tools.jackson.databind.annotation.JsonNaming; import uk.gov.hmcts.dts.fact.entity.AreaOfLaw; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtContact; diff --git a/src/main/java/uk/gov/hmcts/dts/fact/services/admin/AdminAuditService.java b/src/main/java/uk/gov/hmcts/dts/fact/services/admin/AdminAuditService.java index 408f93caf..2169dbd47 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/services/admin/AdminAuditService.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/services/admin/AdminAuditService.java @@ -1,13 +1,14 @@ package uk.gov.hmcts.dts.fact.services.admin; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.entity.Audit; import uk.gov.hmcts.dts.fact.repositories.AuditRepository; import uk.gov.hmcts.dts.fact.repositories.AuditTypeRepository; @@ -86,7 +87,9 @@ public List getAllAuditData(int page, i */ @SneakyThrows public void saveAudit(String auditType, Object auditDataBefore, Object auditDataAfter, String auditLocation) { - ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule()); + ObjectMapper objectMapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build();; auditRepository.save(new Audit( SecurityContextHolder.getContext().getAuthentication().getName(), auditTypeRepository.findByName(auditType), diff --git a/src/main/java/uk/gov/hmcts/dts/fact/util/PostcodeArea.java b/src/main/java/uk/gov/hmcts/dts/fact/util/PostcodeArea.java index a85d8f9e4..f3240aaf4 100644 --- a/src/main/java/uk/gov/hmcts/dts/fact/util/PostcodeArea.java +++ b/src/main/java/uk/gov/hmcts/dts/fact/util/PostcodeArea.java @@ -1,9 +1,9 @@ package uk.gov.hmcts.dts.fact.util; -import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; +import tools.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.InputStream; diff --git a/src/smokeTest/java/uk/gov/hmcts/dts/fact/SmokeTest.java b/src/smokeTest/java/uk/gov/hmcts/dts/fact/SmokeTest.java index e2a987d87..8cd349f7f 100644 --- a/src/smokeTest/java/uk/gov/hmcts/dts/fact/SmokeTest.java +++ b/src/smokeTest/java/uk/gov/hmcts/dts/fact/SmokeTest.java @@ -37,6 +37,6 @@ void healthCheck() { assertThat(response.statusCode()).isEqualTo(OK.value()); // Mapit service will be marked as 'down' if the 'quota' endpoint can't be reached or the usage limit reached, // resulting in the overall health status to be 'down' - assertThat(response.asString().substring(1)).startsWith("\"status\":\"UP\""); + assertThat(response.jsonPath().getString("status")).isEqualTo("UP"); } } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/CourtsControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/CourtsControllerTest.java index a7ac25936..58f9ff3f3 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/CourtsControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/CourtsControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.entity.CourtHistory; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.Court; @@ -29,6 +29,7 @@ import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @WebMvcTest(CourtsController.class) @@ -53,8 +54,6 @@ void shouldFindCourtBySlugDeprecated() throws Exception { final Path path = Paths.get( "src/integrationTest/resources/deprecated/aylesbury-magistrates-court-and-family-court.json"); - final String expectJson = new String(readAllBytes(path)); - final OldCourt court = OBJECT_MAPPER.readValue(path.toFile(), OldCourt.class); final String searchSlug = "some-slug"; @@ -62,7 +61,9 @@ void shouldFindCourtBySlugDeprecated() throws Exception { when(courtService.getCourtBySlugDeprecated(searchSlug)).thenReturn(court); mockMvc.perform(get(String.format(URL + "/%s.json", searchSlug))) .andExpect(status().isOk()) - .andExpect(content().json(expectJson)) + .andExpect(jsonPath("$.name").value(court.getName())) + .andExpect(jsonPath("$.slug").value(court.getSlug())) + .andExpect(jsonPath("$.open").value(court.getOpen())) .andReturn(); } @@ -110,7 +111,6 @@ void shouldRespondWithBadRequestForFindCourtByEmptyQuery() throws Exception { void shouldFindCourtBySlug() throws Exception { final Path path = Paths.get("src/integrationTest/resources/birmingham-civil-and-family-justice-centre.json"); - final String expectedJson = new String(readAllBytes(path)); final Court court = OBJECT_MAPPER.readValue(path.toFile(), Court.class); final String searchSlug = "some-slug"; @@ -118,7 +118,9 @@ void shouldFindCourtBySlug() throws Exception { mockMvc.perform(get(String.format(URL + "/%s", searchSlug))) .andExpect(status().isOk()) - .andExpect(content().json(expectedJson)) + .andExpect(jsonPath("$.name").value(court.getName())) + .andExpect(jsonPath("$.slug").value(court.getSlug())) + .andExpect(jsonPath("$.open").value(court.getOpen())) .andReturn(); } @@ -140,14 +142,16 @@ void shouldFindCourtsByPrefixAndDisplayed() throws Exception { void shouldFindCourtsByCourtTypes() throws Exception { final Path path = Paths.get("src/test/resources/full-court-model.json"); - final String expectedJson = new String(readAllBytes(path)); final List courts = Arrays.asList(OBJECT_MAPPER.readValue(path.toFile(), Court[].class)); when(courtService.getCourtsByCourtTypes(anyList())).thenReturn(courts); mockMvc.perform(get(URL + SEARCH_BY_COURT_TYPES)) .andExpect(status().isOk()) - .andExpect(content().json(expectedJson)) + .andExpect(jsonPath("$", org.hamcrest.Matchers.hasSize(courts.size()))) + .andExpect(jsonPath("$[0].name").value(courts.get(0).getName())) + .andExpect(jsonPath("$[0].slug").value(courts.get(0).getSlug())) + .andExpect(jsonPath("$[0].open").value(courts.get(0).getOpen())) .andReturn(); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/SearchControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/SearchControllerTest.java index c7e24ec08..7881deb33 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/SearchControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/SearchControllerTest.java @@ -5,8 +5,8 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import uk.gov.hmcts.dts.fact.services.CourtService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServiceAreasControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServiceAreasControllerTest.java index 27ce03ef5..9fafbc9b0 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServiceAreasControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServiceAreasControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.ServiceArea; import uk.gov.hmcts.dts.fact.services.ServiceAreaService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServicesControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServicesControllerTest.java index 9b760e366..a6b03b791 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServicesControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/ServicesControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.Service; import uk.gov.hmcts.dts.fact.model.ServiceArea; @@ -46,7 +46,7 @@ void shouldGetServices() throws Exception { final String expected = new String(readAllBytes(path)); when(serviceService.getAllServices()).thenReturn(services); - mockMvc.perform(get(URL + "/")) + mockMvc.perform(get(URL)) .andExpect(status().isOk()) .andExpect(content().json(expected)); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminAuditControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminAuditControllerTest.java index bdd7fc68c..c16a33f52 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminAuditControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminAuditControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.entity.AuditType; import uk.gov.hmcts.dts.fact.model.admin.Audit; import uk.gov.hmcts.dts.fact.services.admin.AdminAuditService; @@ -71,13 +71,13 @@ class AdminAuditControllerTest { ); @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { // If we do not include the register module here, the date will be outputted differently to // what we would expect, and will not match the json output from the controller call // based on how the spring framework deserializes it's requests etc - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - auditJson = OBJECT_MAPPER.writeValueAsString(AUDIT_LIST); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS).build(); + auditJson = mapper.writeValueAsString(AUDIT_LIST); } @Test diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCountyControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCountyControllerTest.java index 36728c418..760ea4c1d 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCountyControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCountyControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.admin.County; import uk.gov.hmcts.dts.fact.services.admin.AdminCountyService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAdditionalLinkControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAdditionalLinkControllerTest.java index 179c8e66f..5ef92b0e6 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAdditionalLinkControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAdditionalLinkControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.AdditionalLink; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtAdditionalLinkService; @@ -80,7 +80,7 @@ public void setUpMvc() { } @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { additionalLinksJson = OBJECT_MAPPER.writeValueAsString(EXPECTED_ADDITIONAL_LINKS); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAddressControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAddressControllerTest.java index 7af6d1e82..d7123726a 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAddressControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAddressControllerTest.java @@ -1,18 +1,18 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.model.admin.CourtAddress; @@ -105,7 +105,7 @@ public void setUpMvc() { } @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { courtAddressesJson = OBJECT_MAPPER.writeValueAsString(COURT_ADDRESSES); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtApplicationUpdateControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtApplicationUpdateControllerTest.java index 583d1e09f..f61419ec9 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtApplicationUpdateControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtApplicationUpdateControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.ApplicationUpdate; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtApplicationUpdateService; @@ -70,7 +70,7 @@ public void setUpMvc() { } @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { courtApplicationUpdateJson = new ObjectMapper().writeValueAsString(COURT_APPLICATION_UPDATES); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAreasOfLawControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAreasOfLawControllerTest.java index 6284596f3..d2a6ff09c 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAreasOfLawControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtAreasOfLawControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.AreaOfLaw; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtAreasOfLawService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtContactControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtContactControllerTest.java index 5994b64f9..f5c5ece33 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtContactControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtContactControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.Contact; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtContactService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtEmailsControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtEmailsControllerTest.java index 3d34ae49c..eb4760bb3 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtEmailsControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtEmailsControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.Email; import uk.gov.hmcts.dts.fact.model.admin.EmailType; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtFacilityControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtFacilityControllerTest.java index 4a2ecf6a7..a0a6ec13f 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtFacilityControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtFacilityControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.Facility; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtFacilityService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtGeneralInfoControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtGeneralInfoControllerTest.java index 09745f0b7..1f80dbec4 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtGeneralInfoControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtGeneralInfoControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.CourtGeneralInfo; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtGeneralInfoService; @@ -72,7 +72,7 @@ public void setUpMvc() { } @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { courtGeneralInfoJson = new ObjectMapper().writeValueAsString(COURT_GENERAL_INFO); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtHistoryControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtHistoryControllerTest.java index 577c7f5e3..d3ad6b64a 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtHistoryControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtHistoryControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.CourtHistory; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtHistoryService; @@ -86,42 +86,46 @@ public void setUpMvc() { @Test void shouldRetrieveAllCourtHistories() throws Exception { when(adminCourtHistoryService.getAllCourtHistory()).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS).build(); - final String courtHistoriesJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + final String courtHistoriesJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(get(PATH + PATH_SUFFIX)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoriesJson)); + .andExpect(content().json(courtHistoriesJson)); } @Test void shouldRetrieveACourtHistoryBySlug() throws Exception { when(adminCourtHistoryService.getCourtHistoryByCourtSlug("i-am-a-slug")).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(get(PATH + "/i-am-a-slug" + PATH_SUFFIX)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @Test void shouldRetrieveACourtHistoryById() throws Exception { when(adminCourtHistoryService.getCourtHistoryById(4)).thenReturn(FAKE_COURT_HISTORY); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORY); + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORY); mockMvc.perform(get(PATH + "/id/4" + PATH_SUFFIX)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @Test @@ -136,28 +140,32 @@ void shouldNotRetrieveNonExistentCourtHistory() throws Exception { void shouldRetrieveCourtHistoriesByCourtId() throws Exception { when(adminCourtHistoryService.getCourtHistoryByCourtId(12)).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(get(PATH + "/court-id/12" + PATH_SUFFIX)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @Test void shouldRetrieveCourtHistoriesByName() throws Exception { when(adminCourtHistoryService.getCourtHistoryByCourtName("fakeCourt1")).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(get(PATH + "/name/fakeCourt1" + PATH_SUFFIX)) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @Test @@ -168,10 +176,12 @@ void shouldAddCourtHistory() throws Exception { null); when(adminCourtHistoryService.addCourtHistory(newFakeCourtHistory)).thenReturn(newFakeCourtHistory); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(newFakeCourtHistory); + final String courtHistoryJson = mapper.writeValueAsString(newFakeCourtHistory); mockMvc.perform(post(PATH + "/" + PATH_SUFFIX) .with(csrf()) @@ -190,10 +200,12 @@ void shouldUpdateOneCourtHistory() throws Exception { null); when(adminCourtHistoryService.updateCourtHistory(updatedCourtHistory)).thenReturn(updatedCourtHistory); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(updatedCourtHistory); + + final String courtHistoryJson = mapper.writeValueAsString(updatedCourtHistory); mockMvc.perform(put(PATH + PATH_SUFFIX) .with(csrf()) @@ -208,15 +220,17 @@ void shouldUpdateOneCourtHistory() throws Exception { void shouldBeAbleToDeleteACourtHistoryById() throws Exception { when(adminCourtHistoryService.deleteCourtHistoryById(4)).thenReturn(FAKE_COURT_HISTORY); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORY); + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORY); mockMvc.perform(delete(PATH + "/id/" + 4 + PATH_SUFFIX).with(csrf())) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @@ -232,25 +246,29 @@ void shouldNotBeAbleToDeleteACourtThatDoesNotExist() throws Exception { void shouldBeAbleToDeleteAllCourtHistoryOfACourtById() throws Exception { when(adminCourtHistoryService.deleteCourtHistoriesByCourtId(11)).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(delete(PATH + "/court-id/" + 11 + PATH_SUFFIX).with(csrf())) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(content().string(courtHistoryJson)); + .andExpect(content().json(courtHistoryJson)); } @Test void shouldBeAbleToUpdateCourtHistoriesOfaGivenCourt() throws Exception { when(adminCourtHistoryService.updateCourtHistoriesBySlug(FAKE_COURT_SLUG, FAKE_COURT_HISTORIES)).thenReturn(FAKE_COURT_HISTORIES); - OBJECT_MAPPER.registerModule(new JavaTimeModule()); - OBJECT_MAPPER.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + - final String courtHistoryJson = OBJECT_MAPPER.writeValueAsString(FAKE_COURT_HISTORIES); + final String courtHistoryJson = mapper.writeValueAsString(FAKE_COURT_HISTORIES); mockMvc.perform(put(PATH + "/" + FAKE_COURT_SLUG + PATH_SUFFIX) .with(csrf()) diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLocalAuthoritiesControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLocalAuthoritiesControllerTest.java index a7f875af0..0f769e180 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLocalAuthoritiesControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLocalAuthoritiesControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.LocalAuthority; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtLocalAuthoritiesService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLockControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLockControllerTest.java index 310aa1a1a..31f9ae69e 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLockControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtLockControllerTest.java @@ -1,18 +1,19 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.cfg.DateTimeFeature; +import tools.jackson.databind.json.JsonMapper; import uk.gov.hmcts.dts.fact.entity.CourtLock; import uk.gov.hmcts.dts.fact.exception.LockExistsException; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtLockService; @@ -51,7 +52,7 @@ class AdminCourtLockControllerTest { private static final String BASE_PATH = "/admin/courts/"; private static final String CHILD_PATH = "/lock"; - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private static final ObjectMapper mapper = new ObjectMapper(); private static final String TEST_SLUG_1 = "mosh-slug"; private static final String TEST_SLUG_2 = "kupo-slug"; @@ -91,7 +92,10 @@ public void setUpMvc() { @BeforeAll public static void beforeAll() { - OBJECT_MAPPER.registerModule(new JavaTimeModule()); + ObjectMapper mapper = JsonMapper.builder() + .disable(DateTimeFeature.WRITE_DATES_AS_TIMESTAMPS) + .build(); + } @Test @@ -102,7 +106,7 @@ void shouldReturnCourtLocksSuccess() throws Exception { MvcResult mvcResult = mockMvc.perform(get(BASE_PATH + TEST_SLUG + CHILD_PATH)) .andExpect(status().isOk()).andReturn(); - assertThat(Arrays.asList(OBJECT_MAPPER.readValue( + assertThat(Arrays.asList(mapper.readValue( mvcResult.getResponse().getContentAsString(), uk.gov.hmcts.dts.fact.model.admin.CourtLock[].class ))) @@ -116,13 +120,13 @@ void addCourtLockSuccess() throws Exception { MvcResult mvcResult = mockMvc.perform(post(BASE_PATH + TEST_SLUG + CHILD_PATH) .with(csrf()) - .content(OBJECT_MAPPER.writeValueAsString(EXPECTED_COURT_LOCK_LIST.get( + .content(mapper.writeValueAsString(EXPECTED_COURT_LOCK_LIST.get( 0))) .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isCreated()).andReturn(); - assertThat(OBJECT_MAPPER.readValue( + assertThat(mapper.readValue( mvcResult.getResponse().getContentAsString(), uk.gov.hmcts.dts.fact.model.admin.CourtLock.class )) @@ -136,7 +140,7 @@ void shouldHandleLockExistsException() throws Exception { mockMvc.perform(post(BASE_PATH + TEST_SLUG + CHILD_PATH) .with(csrf()) - .content(OBJECT_MAPPER.writeValueAsString(EXPECTED_COURT_LOCK_LIST.get(0))) + .content(mapper.writeValueAsString(EXPECTED_COURT_LOCK_LIST.get(0))) .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)) .andExpect(status().isConflict()) @@ -152,7 +156,7 @@ void deleteCourtLockSuccess() throws Exception { .with(csrf())) .andExpect(status().isOk()).andReturn(); - assertThat(Arrays.asList(OBJECT_MAPPER.readValue( + assertThat(Arrays.asList(mapper.readValue( mvcResult.getResponse().getContentAsString(), uk.gov.hmcts.dts.fact.model.admin.CourtLock[].class ))) @@ -168,7 +172,7 @@ void deleteCourtLockByEmailSuccess() throws Exception { .with(csrf())) .andExpect(status().isOk()).andReturn(); - assertThat(Arrays.asList(OBJECT_MAPPER.readValue( + assertThat(Arrays.asList(mapper.readValue( mvcResult.getResponse().getContentAsString(), uk.gov.hmcts.dts.fact.model.admin.CourtLock[].class ))) diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtOpeningTimeControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtOpeningTimeControllerTest.java index 9fe89c1dd..fb04893c2 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtOpeningTimeControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtOpeningTimeControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.OpeningTime; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtLockService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtPostcodeControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtPostcodeControllerTest.java index 7e3526d20..65261549c 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtPostcodeControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtPostcodeControllerTest.java @@ -1,17 +1,17 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.exception.PostcodeExistedException; import uk.gov.hmcts.dts.fact.exception.PostcodeNotFoundException; @@ -89,7 +89,7 @@ public void setUpMvc() { } @BeforeAll - static void setUp() throws JsonProcessingException { + static void setUp() throws JacksonException { expectedPostcodeJson = OBJECT_MAPPER.writeValueAsString(TEST_POSTCODES); expectedExistedPostcodesJson = OBJECT_MAPPER.writeValueAsString(EXISTED_POSTCODE); expectedNotFoundPostcodesJson = OBJECT_MAPPER.writeValueAsString(NOT_FOUND_POSTCODE); diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtSpoeAreasOfLawControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtSpoeAreasOfLawControllerTest.java index e1e7ab588..e58a56f92 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtSpoeAreasOfLawControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtSpoeAreasOfLawControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.SpoeAreaOfLaw; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtLockService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtTypesAndCodesControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtTypesAndCodesControllerTest.java index 76deb2cb6..d30a013f4 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtTypesAndCodesControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtTypesAndCodesControllerTest.java @@ -1,15 +1,15 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.CourtType; import uk.gov.hmcts.dts.fact.model.admin.CourtTypesAndCodes; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsControllerTest.java index b8a4abbea..d64c6f463 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminCourtsControllerTest.java @@ -1,22 +1,21 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.validation.ConstraintViolationException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.CourtForDownload; import uk.gov.hmcts.dts.fact.model.CourtReference; import uk.gov.hmcts.dts.fact.model.admin.Court; import uk.gov.hmcts.dts.fact.model.admin.CourtInfoUpdate; -import uk.gov.hmcts.dts.fact.model.admin.ImageFile; import uk.gov.hmcts.dts.fact.model.admin.NewCourt; import uk.gov.hmcts.dts.fact.services.admin.AdminCourtLockService; import uk.gov.hmcts.dts.fact.services.admin.AdminService; @@ -31,6 +30,7 @@ import static org.hamcrest.Matchers.hasSize; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atMostOnce; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -118,11 +118,15 @@ void shouldAddNewCourt() throws Exception { NewCourt newCourt = new NewCourt(); newCourt.setNewCourtName(testCourtName); newCourt.setServiceCentre(false); + String json = String.format( + "{\"newCourtName\":\"%s\",\"serviceCentre\":false,\"serviceAreas\":[],\"lon\":0.0,\"lat\":0.0}", + testCourtName + ); when(adminService.addNewCourt(testCourtName, testSlugName, newCourt.getServiceCentre(), newCourt.getLon(), newCourt.getLat(), newCourt.getServiceAreas())).thenReturn(expectedCourt); - mockMvc.perform(post(TEST_URL + "/") + mockMvc.perform(post(TEST_URL) .with(csrf()) - .content(OBJECT_MAPPER.writeValueAsString(newCourt)) + .content(json) .contentType(MediaType.APPLICATION_JSON_VALUE) .accept(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isCreated()) @@ -140,12 +144,16 @@ void shouldAddNewCourtWithApostrophesAndHyphens() throws Exception { NewCourt newCourt = new NewCourt(); newCourt.setNewCourtName(testCourtName); newCourt.setServiceCentre(true); + String json = String.format( + "{\"newCourtName\":\"%s\",\"serviceCentre\":true,\"serviceAreas\":[],\"lon\":0.0,\"lat\":0.0}", + testCourtName + ); when(adminService.addNewCourt(testCourtName, testSlugName, newCourt.getServiceCentre(), newCourt.getLon(), newCourt.getLat(), newCourt.getServiceAreas())) .thenReturn(expectedCourt); - mockMvc.perform(post(TEST_URL + "/") + mockMvc.perform(post(TEST_URL) .with(csrf()) - .content(OBJECT_MAPPER.writeValueAsString(newCourt)) + .content(json) .contentType(MediaType.APPLICATION_JSON_VALUE) .accept(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isCreated()) @@ -160,12 +168,13 @@ void shouldNotAddNewCourtWithInvalidPostcode() { NewCourt newCourt = new NewCourt(); newCourt.setNewCourtName("test court%$-"); newCourt.setServiceCentre(false); + String json = "{\"newCourtName\":\"test court%$-\",\"serviceCentre\":false,\"serviceAreas\":[],\"lon\":0.0,\"lat\":0.0}"; when(adminService.addNewCourt("test court%$-", "test-court%$-", newCourt.getServiceCentre(), newCourt.getLon(), newCourt.getLat(), newCourt.getServiceAreas())).thenReturn(expectedCourt); try { - mockMvc.perform(post(TEST_URL + "/") - .content(OBJECT_MAPPER.writeValueAsString(newCourt)) + mockMvc.perform(post(TEST_URL) + .content(json) .contentType(MediaType.APPLICATION_JSON_VALUE) .accept(MediaType.APPLICATION_JSON_VALUE)); } catch (Exception e) { @@ -204,7 +213,11 @@ void shouldFindCourtBySlug() throws Exception { when(adminService.getCourtBySlug(TEST_SEARCH_SLUG)).thenReturn(courtEntity); mockMvc.perform(get(String.format(TEST_URL + "/%s/general", TEST_SEARCH_SLUG))) .andExpect(status().isOk()) - .andExpect(content().json(expectedJson)) + .andExpect(jsonPath("$.slug").value(courtEntity.getSlug())) + .andExpect(jsonPath("$.name").value(courtEntity.getName())) + .andExpect(jsonPath("$.nameCy").value(courtEntity.getNameCy())) + .andExpect(jsonPath("$.info").value(courtEntity.getInfo())) + .andExpect(jsonPath("$.infoCy").value(courtEntity.getInfoCy())) .andReturn(); } @@ -249,7 +262,7 @@ void shouldUpdateGeneralCourtBySlug() throws Exception { .andExpect(jsonPath("$.urgent_message").value(court.getAlert())) .andExpect(jsonPath("$.urgent_message_cy").value(court.getAlertCy())) .andExpect(jsonPath("$.info").value(court.getInfo())) - .andExpect(jsonPath("$.info_cy").value(court.getInfoCy())) + .andExpect(jsonPath("$.infoCy").value(court.getInfoCy())) .andReturn(); verify(adminCourtLockService, times(1)).updateCourtLock(TEST_SEARCH_SLUG, TEST_USER); @@ -309,14 +322,9 @@ void shouldNotReturnCourtImageFileForUnknownSlug() throws Exception { @Test void shouldUpdateCourtImageFile() throws Exception { - ObjectMapper mapper = new ObjectMapper(); + String json = String.format("{\"imageName\":\"%s\"}", TEST_COURT_PHOTO_NAME); - final ImageFile imageFile = new ImageFile(); - imageFile.setImageName(TEST_COURT_PHOTO_NAME); - - String json = mapper.writeValueAsString(imageFile); - - when(adminService.updateCourtImage(TEST_SEARCH_SLUG, imageFile.getImageName())).thenReturn(TEST_COURT_PHOTO_NAME); + when(adminService.updateCourtImage(TEST_SEARCH_SLUG, TEST_COURT_PHOTO_NAME)).thenReturn(TEST_COURT_PHOTO_NAME); mockMvc.perform(put(String.format(TEST_URL + TEST_COURT_PHOTO_URL, TEST_SEARCH_SLUG)) .with(csrf()) @@ -330,14 +338,10 @@ void shouldUpdateCourtImageFile() throws Exception { @Test void shouldNotUpdateCourtImageFileForUnknownSlug() throws Exception { - ObjectMapper mapper = new ObjectMapper(); - - final ImageFile imageFile = new ImageFile(); - imageFile.setImageName(TEST_COURT_PHOTO_NAME); - - String json = mapper.writeValueAsString(imageFile); + String json = String.format("{\"imageName\":\"%s\"}", TEST_COURT_PHOTO_NAME); - when(adminService.updateCourtImage(TEST_SEARCH_SLUG, imageFile.getImageName())).thenThrow(new NotFoundException(SEARCH_CRITERIA)); + when(adminService.updateCourtImage(eq(TEST_SEARCH_SLUG), eq(TEST_COURT_PHOTO_NAME))) + .thenThrow(new NotFoundException(SEARCH_CRITERIA)); mockMvc.perform(put(String.format(TEST_URL + TEST_COURT_PHOTO_URL, TEST_SEARCH_SLUG)) .with(csrf()) .content(json) @@ -347,6 +351,7 @@ void shouldNotUpdateCourtImageFileForUnknownSlug() throws Exception { .andExpect(content().json(JSON_NOT_FOUND_SEARCH_CRITERIA)) .andReturn(); + verify(adminService, times(1)).updateCourtImage(eq(TEST_SEARCH_SLUG), eq(TEST_COURT_PHOTO_NAME)); verify(adminCourtLockService, times(1)).updateCourtLock(TEST_SEARCH_SLUG, TEST_USER); } } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminRegionControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminRegionControllerTest.java index 44bfb110d..92df70332 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminRegionControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminRegionControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.admin.Region; import uk.gov.hmcts.dts.fact.services.admin.AdminRegionService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminServiceAreaControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminServiceAreaControllerTest.java index 2991ffb3d..39caac89a 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminServiceAreaControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/AdminServiceAreaControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.ServiceArea; import uk.gov.hmcts.dts.fact.services.ServiceAreaService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAddressTypeControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAddressTypeControllerTest.java index 3309feee3..e82bd0459 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAddressTypeControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAddressTypeControllerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.model.admin.AddressType; import uk.gov.hmcts.dts.fact.services.admin.list.AdminAddressTypeService; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAreasOfLawControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAreasOfLawControllerTest.java index 8be0baaa4..528f6190b 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAreasOfLawControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminAreasOfLawControllerTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; import uk.gov.hmcts.dts.fact.exception.ListItemInUseException; import uk.gov.hmcts.dts.fact.exception.NotFoundException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminContactTypeControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminContactTypeControllerTest.java index 5f5ea7cd3..2e0f89e1d 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminContactTypeControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminContactTypeControllerTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; import uk.gov.hmcts.dts.fact.exception.ListItemInUseException; import uk.gov.hmcts.dts.fact.exception.NotFoundException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminFacilitiesControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminFacilitiesControllerTest.java index 9a313f78c..a89da88b2 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminFacilitiesControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminFacilitiesControllerTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; import uk.gov.hmcts.dts.fact.exception.ListItemInUseException; import uk.gov.hmcts.dts.fact.exception.NotFoundException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminLocalAuthoritiesControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminLocalAuthoritiesControllerTest.java index 2226ddadb..5d33b7392 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminLocalAuthoritiesControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminLocalAuthoritiesControllerTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; import uk.gov.hmcts.dts.fact.exception.NotFoundException; import uk.gov.hmcts.dts.fact.model.admin.LocalAuthority; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminOpeningTypeControllerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminOpeningTypeControllerTest.java index 3c41883bc..27044151e 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminOpeningTypeControllerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/controllers/admin/list/AdminOpeningTypeControllerTest.java @@ -1,13 +1,13 @@ package uk.gov.hmcts.dts.fact.controllers.admin.list; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; import uk.gov.hmcts.dts.fact.exception.ListItemInUseException; import uk.gov.hmcts.dts.fact.exception.NotFoundException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategyTest.java b/src/test/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategyTest.java index 7b3b2b372..f86baa57f 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategyTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/data/migration/FlywayNoOpStrategyTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy; +import org.springframework.boot.flyway.autoconfigure.FlywayMigrationStrategy; import uk.gov.hmcts.dts.fact.exception.PendingMigrationScriptException; import static org.assertj.core.api.Assertions.assertThat; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandlerTest.java b/src/test/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandlerTest.java index b1c025979..17750261c 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandlerTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/exception/GlobalControllerExceptionHandlerTest.java @@ -1,12 +1,12 @@ package uk.gov.hmcts.dts.fact.exception; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import tools.jackson.core.JacksonException; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.ObjectMapper; import java.util.Map; @@ -29,7 +29,7 @@ void setUp() { } @Test - void shouldReturnBadRequestResponseWithJsonErrorMessage() throws JsonProcessingException { + void shouldReturnBadRequestResponseWithJsonErrorMessage() throws JacksonException { InvalidEpimIdException exception = new InvalidEpimIdException(EPIM_ERROR); diff --git a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthServiceTest.java b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthServiceTest.java index 4ee1d2061..4849a0d6c 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthServiceTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapItHealthServiceTest.java @@ -1,6 +1,5 @@ package uk.gov.hmcts.dts.fact.mapit; -import com.fasterxml.jackson.databind.JsonNode; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -18,9 +17,6 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; -import static uk.gov.hmcts.dts.fact.mapit.MapItHealthService.CURRENT; -import static uk.gov.hmcts.dts.fact.mapit.MapItHealthService.LIMIT; -import static uk.gov.hmcts.dts.fact.mapit.MapItHealthService.QUOTA; @ExtendWith(MockitoExtension.class) class MapItHealthServiceTest { @@ -28,26 +24,14 @@ class MapItHealthServiceTest { RestTemplate restTemplate; @Mock - ResponseEntity response; - - @Mock - JsonNode responseBody; - - @Mock - JsonNode quota; - - @Mock - JsonNode limit; - - @Mock - JsonNode current; + ResponseEntity response; @InjectMocks private MapItHealthService mapItHealthService; @Test void testMapItReturnsNoBodyAndOkStatus() throws IOException { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); when(response.getBody()).thenReturn(null); when(response.getStatusCode()).thenReturn(HttpStatus.OK); assertThat(mapItHealthService.isUp()).isTrue(); @@ -55,7 +39,7 @@ void testMapItReturnsNoBodyAndOkStatus() throws IOException { @Test void testMapItReturnsNoBodyAndBadRequestStatus() throws IOException { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); when(response.getBody()).thenReturn(null); when(response.getStatusCode()).thenReturn(HttpStatus.BAD_REQUEST); assertThat(mapItHealthService.isUp()).isFalse(); @@ -63,46 +47,32 @@ void testMapItReturnsNoBodyAndBadRequestStatus() throws IOException { @Test void testMapItReturnsBodyWithNoQuotaAndOkStatus() throws IOException { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); - when(response.getBody()).thenReturn(responseBody); - when(responseBody.get(QUOTA)).thenReturn(null); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); + when(response.getBody()).thenReturn("{\"foo\":\"bar\"}"); when(response.getStatusCode()).thenReturn(HttpStatus.OK); assertThat(mapItHealthService.isUp()).isTrue(); } @Test void testMapItReturnsBodyWithNoQuotaLimitAndOkStatus() throws IOException { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); - when(response.getBody()).thenReturn(responseBody); - when(responseBody.get(QUOTA)).thenReturn(quota); - when(quota.get(LIMIT)).thenReturn(limit); - when(limit.asInt()).thenReturn(0); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); + when(response.getBody()).thenReturn("{\"quota\":{\"limit\":0,\"current\":0}}"); when(response.getStatusCode()).thenReturn(HttpStatus.OK); assertThat(mapItHealthService.isUp()).isTrue(); } @Test void testMapItReturnsBodyWithQuotaLimitNotExceededAndOkStatus() throws IOException { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); - when(response.getBody()).thenReturn(responseBody); - when(responseBody.get(QUOTA)).thenReturn(quota); - when(quota.get(LIMIT)).thenReturn(limit); - when(quota.get(CURRENT)).thenReturn(current); - when(limit.asInt()).thenReturn(3); - when(current.asInt()).thenReturn(2); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); + when(response.getBody()).thenReturn("{\"quota\":{\"limit\":3,\"current\":2}}"); when(response.getStatusCode()).thenReturn(HttpStatus.OK); assertThat(mapItHealthService.isUp()).isTrue(); } @Test void testMapItReturnsBodyWithQuotaLimitExceeded() { - when(restTemplate.getForEntity(anyString(), eq(JsonNode.class))).thenReturn(response); - when(response.getBody()).thenReturn(responseBody); - when(responseBody.get(QUOTA)).thenReturn(quota); - when(quota.get(LIMIT)).thenReturn(limit); - when(quota.get(CURRENT)).thenReturn(current); - when(limit.asInt()).thenReturn(2); - when(current.asInt()).thenReturn(3); + when(restTemplate.getForEntity(anyString(), eq(String.class))).thenReturn(response); + when(response.getBody()).thenReturn("{\"quota\":{\"limit\":2,\"current\":3}}"); assertThatThrownBy(() -> mapItHealthService.isUp()) .isInstanceOf(MapitUsageException.class); } diff --git a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitDataTest.java b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitDataTest.java index 92534e5c6..51580fe99 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitDataTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitDataTest.java @@ -1,9 +1,10 @@ package uk.gov.hmcts.dts.fact.mapit; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; + import uk.gov.hmcts.dts.fact.exception.NotFoundException; import java.util.HashMap; @@ -120,7 +121,7 @@ void shouldReturnLocalAuthorityNameFormValue() { } @Test - void shouldReturnEnglishRegion() throws JsonProcessingException { + void shouldReturnEnglishRegion() throws JacksonException { ObjectMapper objectmapper = new ObjectMapper(); HashMap test = new HashMap<>(); @@ -135,7 +136,7 @@ void shouldReturnEnglishRegion() throws JsonProcessingException { } @Test - void shouldReturnWelshRegion() throws JsonProcessingException { + void shouldReturnWelshRegion() throws JacksonException { ObjectMapper objectmapper = new ObjectMapper(); HashMap test = new HashMap<>(); @@ -150,11 +151,11 @@ void shouldReturnWelshRegion() throws JsonProcessingException { } @Test - void shouldReturnErrorWhenNoRegionInformation() throws JsonProcessingException { + void shouldReturnErrorWhenNoRegionInformation() throws JacksonException { ObjectMapper objectmapper = new ObjectMapper(); HashMap test = new HashMap<>(); - String newString = "{\"type\": \"PT\"}, {\"name\": \"Anywhere\"}"; + String newString = "{\"type\": \"PT\"}"; JsonNode newNode = objectmapper.readTree(newString); test.put("No Region", newNode); JsonNode areas = objectmapper.valueToTree(test); diff --git a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicatorTest.java b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicatorTest.java index 2c2845594..c7ad888fd 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicatorTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/mapit/MapitHealthIndicatorTest.java @@ -5,8 +5,8 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.contributor.Health; +import org.springframework.boot.health.contributor.Status; import uk.gov.hmcts.dts.fact.exception.MapitUsageException; import java.io.IOException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/search/ProximitySearchTest.java b/src/test/java/uk/gov/hmcts/dts/fact/search/ProximitySearchTest.java index 197b594ed..29ad4998f 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/search/ProximitySearchTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/search/ProximitySearchTest.java @@ -3,7 +3,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.mockito.junit.jupiter.MockitoExtension; import uk.gov.hmcts.dts.fact.entity.CourtWithDistance; import uk.gov.hmcts.dts.fact.mapit.MapitData; import uk.gov.hmcts.dts.fact.repositories.CourtWithDistanceRepository; @@ -17,7 +17,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -@ExtendWith(SpringExtension.class) +@ExtendWith(MockitoExtension.class) class ProximitySearchTest { @Mock diff --git a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtAreasOfLawServiceTest.java b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtAreasOfLawServiceTest.java index 55614ea1d..11bbf2d9c 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtAreasOfLawServiceTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtAreasOfLawServiceTest.java @@ -1,6 +1,5 @@ package uk.gov.hmcts.dts.fact.services.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -10,6 +9,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtAreaOfLaw; import uk.gov.hmcts.dts.fact.exception.NotFoundException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtSpoeAreasOfLawServiceTest.java b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtSpoeAreasOfLawServiceTest.java index 06b7bdef0..6bc4d4119 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtSpoeAreasOfLawServiceTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/AdminCourtSpoeAreasOfLawServiceTest.java @@ -1,6 +1,5 @@ package uk.gov.hmcts.dts.fact.services.admin; -import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -10,6 +9,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.databind.ObjectMapper; import uk.gov.hmcts.dts.fact.entity.Court; import uk.gov.hmcts.dts.fact.entity.CourtAreaOfLawSpoe; import uk.gov.hmcts.dts.fact.exception.DuplicatedListItemException; diff --git a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/list/AdminAreasOfLawServiceTest.java b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/list/AdminAreasOfLawServiceTest.java index 41fb96818..f00e14ce9 100644 --- a/src/test/java/uk/gov/hmcts/dts/fact/services/admin/list/AdminAreasOfLawServiceTest.java +++ b/src/test/java/uk/gov/hmcts/dts/fact/services/admin/list/AdminAreasOfLawServiceTest.java @@ -1,6 +1,5 @@ package uk.gov.hmcts.dts.fact.services.admin.list; -import com.fasterxml.jackson.core.JsonProcessingException; import jakarta.persistence.EntityNotFoundException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -10,6 +9,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; +import tools.jackson.core.JacksonException; import uk.gov.hmcts.dts.fact.entity.AreaOfLaw; import uk.gov.hmcts.dts.fact.entity.CourtAreaOfLaw; import uk.gov.hmcts.dts.fact.entity.CourtLocalAuthorityAreaOfLaw; @@ -134,7 +134,7 @@ void whenIdDoesNotExistGetAreaOfLawShouldThrowNotFoundException() { } @Test - void shouldUpdateAreaOfLaw() throws JsonProcessingException { + void shouldUpdateAreaOfLaw() throws JacksonException { final List areasOfLawCopy = AREAS_OF_LAW .stream() .map(aol -> new AreaOfLaw( diff --git a/src/test/resources/application.yaml b/src/test/resources/application.yaml new file mode 100644 index 000000000..f2238573d --- /dev/null +++ b/src/test/resources/application.yaml @@ -0,0 +1,2 @@ +mapit: + url: localhost