diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d34ddcc..a0f87a88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,9 +15,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Build run: ./gradlew check diff --git a/build.gradle b/build.gradle index dc54e11d..c8d885e7 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun buildscript { ext { - springBootVersion = '2.7.18' + springBootVersion = '3.3.2' } repositories { mavenLocal() @@ -10,7 +10,9 @@ buildscript { } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") - classpath("net.serenity-bdd:serenity-gradle-plugin:2.4.34") + classpath("net.serenity-bdd:serenity-gradle-plugin:2.4.34"){ + exclude group: "org.codehaus.groovy", module: "groovy" + } } } @@ -20,11 +22,11 @@ plugins { id 'com.github.ben-manes.versions' version '0.51.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'jacoco' - id 'org.owasp.dependencycheck' version '9.0.4' + id 'org.owasp.dependencycheck' version '10.0.3' id 'org.sonarqube' version '5.0.0.4638' - id 'org.springframework.boot' version '2.7.0' - id 'info.solidsoft.pitest' version '1.7.4' - id 'au.com.dius.pact' version '4.1.7' + id 'org.springframework.boot' version '3.3.2' + id 'info.solidsoft.pitest' version '1.15.0' + id 'au.com.dius.pact' version '4.6.11' } apply plugin: 'net.serenity-bdd.aggregator' @@ -169,49 +171,55 @@ def versions = [ commonsIo: '2.7', commonsLang3: '3.9', commonsBeanUtils: '1.9.4', - feignHttpClient: '10.2.0', + feignHttpClient: '13.3', gradlePitest: '1.4.5', guava: '32.1.2-jre', jacksonDatabind: '2.16.0', apacheLogging: '2.20.0', jsonAssert: '1.2.3', - junit: '4.13.1', - lombok: '1.18.26', + junit: '5.10.3', + lombok: '1.18.34', nimbus: '5.1', pdfbox: '2.0.24', pitest: '1.7.3', powerMock: '2.0.0', puppyCrawl: '8.29', reformsJavaLogging: '5.1.1', - restAssured: '4.5.1', - serenity: '2.2.13', + restAssured: '5.5.0', + serenity: '4.1.20', serenityCucumber: '1.9.51', serviceTokenGenerator: '3.0.0', sonarPitest: '0.5', spring_security_rsa: '1.0.12.RELEASE', - springBoot: '2.7.18', - springCloud: '3.1.6', + springBoot: '3.3.2', + springCloud: '4.1.3', springHateoas: '1.5.5', unirest: '1.4.9', - wiremockVersion: '2.27.2', + wiremockVersion: '3.9.1', springSecurityCrypto: '5.7.11', - tomcat : '9.0.83', + tomcat : '10.1.26', pact_version: '4.1.11', httpComponents: '4.5.13', bouncycastle: '1.73', ccdCaseDocumentAmClient: '1.7.2', - springFramework : '5.3.27' + springFramework : '6.1.11' ] ext["logback.version"] = '1.2.13' ext['snakeyaml.version'] = '2.2' ext['jackson.version'] = '2.16.0' -ext['spring-framework.version'] = '5.3.27' +ext['spring-framework.version'] = '6.1.11' +dependencies { + configurations { + all { + exclude group: 'ch.qos.logback', module: 'logback-classic' + exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j' + } + } -dependencies { //integration test integrationTestImplementation group: 'com.mashape.unirest', name: 'unirest-java', version: versions.unirest integrationTestImplementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: versions.nimbus @@ -245,7 +253,7 @@ dependencies { - testImplementation group: 'org.springframework.cloud', name: 'spring-cloud-contract-wiremock', version: '3.1.1' + testImplementation group: 'org.springframework.cloud', name: 'spring-cloud-contract-wiremock', version: '4.1.4' implementation (group: 'commons-beanutils', name: 'commons-beanutils', version: versions.commonsBeanUtils) { force = true @@ -262,13 +270,11 @@ dependencies { implementation group: 'com.github.hmcts', name:'ccd-case-document-am-client', version: versions.ccdCaseDocumentAmClient - implementation(group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j', version: versions.apacheLogging) - implementation(group: 'org.apache.logging.log4j', name: 'log4j-api', version: versions.apacheLogging) - implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: versions.springBoot implementation group: 'com.puppycrawl.tools', name: 'checkstyle', version: versions.puppyCrawl implementation group: 'commons-io', name: 'commons-io', version: versions.commonsIo - implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.6.9' + implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: '1.8.0' + implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.3.1' implementation group: 'commons-fileupload', name: 'commons-fileupload', version: '1.5' @@ -294,13 +300,13 @@ dependencies { exclude group: 'io.reactivex', module: 'rxnetty-contexts' exclude group: 'io.reactivex', module: 'rxnetty-servo' exclude group: 'org.bouncycastle' + exclude group: 'org.apache.httpcomponents' } - implementation group: 'junit', name: 'junit', version: versions.junit + implementation group: 'org.junit.jupiter', name: 'junit-jupiter', version: versions.junit implementation group: 'org.pitest', name: 'pitest', version: versions.pitest implementation group:'info.solidsoft.gradle.pitest', name: 'gradle-pitest-plugin', version: versions.gradlePitest implementation group:'org.codehaus.sonar-plugins', name:'sonar-pitest-plugin', version: versions.sonarPitest - implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: versions.httpComponents implementation (group: 'com.launchdarkly', name: 'launchdarkly-java-server-sdk', version: '7.4.0') implementation group: 'net.logstash.logback', name: 'logstash-logback-encoder', version:'7.4' @@ -309,7 +315,6 @@ dependencies { annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" implementation group: 'org.projectlombok', name: 'lombok', version: versions.lombok implementation("org.springframework.boot:spring-boot-starter-validation") - testImplementation group: 'com.github.tomakehurst', name:'wiremock', version: versions.wiremockVersion testImplementation group: 'io.rest-assured', name: 'rest-assured', version: versions.restAssured testImplementation group: 'io.rest-assured', name: 'json-path', version: versions.restAssured testImplementation group: 'io.rest-assured', name: 'xml-path', version: versions.restAssured @@ -323,13 +328,11 @@ dependencies { contractTestImplementation group: 'org.apache.httpcomponents', name: 'httpclient', version: versions.httpComponents contractTestImplementation group: 'au.com.dius.pact.consumer', name: 'junit5', version: versions.pact_version - contractTestImplementation group: 'au.com.dius.pact.consumer', name: 'java8', version: versions.pact_version contractTestRuntime group: 'au.com.dius.pact.consumer', name: 'junit5', version: versions.pact_version - contractTestRuntime group: 'au.com.dius.pact.consumer', name: 'java8', version: versions.pact_version contractTestImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test' contractTestImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2") - contractTestRuntime("org.junit.jupiter:junit-jupiter-engine:5.9.2") + contractTestRuntime("org.junit.jupiter:junit-jupiter-engine:5.10.2") contractTestImplementation('org.junit.jupiter:junit-jupiter-api:5.10.2') contractTestImplementation sourceSets.main.runtimeClasspath @@ -384,21 +387,22 @@ dependencyManagement { entry 'tomcat-embed-el' } - // CVE-2021-28170 - dependency group: 'org.glassfish', name: 'jakarta.el', version: '4.0.2' //CVE-2022-45688 dependencySet(group: 'org.json', version: '20230227') { entry 'json' } - //CVE-2023-2976 + + dependency group: 'org.apache.groovy', name: 'groovy', version: '4.0.22' + + //CVE-2023-2976 dependency group: 'com.google.guava', name: 'guava', version: '32.1.2-jre' //CVE-2022-1471 dependencySet(group: 'org.yaml', version: '2.2') { entry 'snakeyaml' } - dependency group: 'org.springframework.security', name: 'spring-security-crypto', version: '5.7.5' + dependency group: 'org.springframework.security', name: 'spring-security-crypto', version: '6.3.1' } @@ -561,30 +565,29 @@ run { } } + project.ext { pactVersion = getCheckedOutGitCommitHash() } +pact { + publish { + pactDirectory = 'pacts' + pactBrokerUrl = System.getenv("PACT_BROKER_FULL_URL") ?: 'http://localhost:80' + tags = [System.getenv("PACT_BRANCH_NAME") ?:'Dev'] + version = project.pactVersion + } +} + task runAndPublishConsumerPactTests(type: Test){ + dependsOn(contract) logger.lifecycle("Runs pact Tests") testClassesDirs = sourceSets.contractTest.output.classesDirs classpath = sourceSets.contractTest.runtimeClasspath - + finalizedBy(pactPublish) } -runAndPublishConsumerPactTests.dependsOn contract - -runAndPublishConsumerPactTests.finalizedBy pactPublish - def getCheckedOutGitCommitHash() { 'git rev-parse --verify --short HEAD'.execute().text.trim() } -pact { - publish { - pactDirectory = 'pacts' - pactBrokerUrl = System.getenv("PACT_BROKER_FULL_URL") ?: 'http://localhost:80' - tags = [System.getenv("PACT_BRANCH_NAME") ?:'Dev'] - version = project.pactVersion - } -} diff --git a/charts/prl-dgs/values.preview.template.yaml b/charts/prl-dgs/values.preview.template.yaml index ce1babe3..0c93446c 100644 --- a/charts/prl-dgs/values.preview.template.yaml +++ b/charts/prl-dgs/values.preview.template.yaml @@ -32,7 +32,7 @@ java: MANAGEMENT_ENDPOINT_HEALTH_CACHE_TIMETOLIVE: "30000" DOCMOSIS_SERVICE_DEV_MODE_FLAG: "true" PDF_TEST_ENABLED: "true" - CCD_CASE_DOCS_AM_API: http://prl-ccd-definitions-pr-2424-cdam + CCD_CASE_DOCS_AM_API: http://prl-ccd-definitions-pr-2460-cdam AUTH_PROVIDER_SERVICE_CLIENT_BASEURL: "http://rpe-service-auth-provider-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal" IDAM_S2S_URL: "http://rpe-service-auth-provider-{{ .Values.global.environment }}.service.core-compute-{{ .Values.global.environment }}.internal" DOCMOSIS_SERVICE_BASE_URL: "https://docmosis.aat.platform.hmcts.net" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 263b8f24..423ff9f0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-all.zip diff --git a/src/integrationTest/java/uk/gov/hmcts/reform/prl/IntegrationTest.java b/src/integrationTest/java/uk/gov/hmcts/reform/prl/IntegrationTest.java index 78427300..422a91db 100644 --- a/src/integrationTest/java/uk/gov/hmcts/reform/prl/IntegrationTest.java +++ b/src/integrationTest/java/uk/gov/hmcts/reform/prl/IntegrationTest.java @@ -1,6 +1,7 @@ package uk.gov.hmcts.reform.prl; import io.restassured.response.Response; +import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import net.serenitybdd.junit.spring.integration.SpringIntegrationMethodRule; import org.assertj.core.util.Strings; @@ -17,7 +18,6 @@ import java.net.URL; import java.util.Base64; import java.util.UUID; -import javax.annotation.PostConstruct; @Slf4j @RunWith(SpringRunner.class) diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/DocumentGeneratorApplication.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/DocumentGeneratorApplication.java index 4085ae0c..d4a511d3 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/DocumentGeneratorApplication.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/DocumentGeneratorApplication.java @@ -3,13 +3,12 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; -import uk.gov.hmcts.reform.authorisation.ServiceAuthAutoConfiguration; @SpringBootApplication( scanBasePackages = {"uk.gov.hmcts.reform.prl", "uk.gov.hmcts.reform.logging.appinsights", - "uk.gov.hmcts.reform.ccd.document"}, - exclude = {ServiceAuthAutoConfiguration.class}) + "uk.gov.hmcts.reform.ccd.document"} + ) public class DocumentGeneratorApplication { public static void main(String[] args) { diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/HttpConnectionConfiguration.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/HttpConnectionConfiguration.java index c069f312..3af5be22 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/HttpConnectionConfiguration.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/HttpConnectionConfiguration.java @@ -4,9 +4,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.google.common.collect.ImmutableList; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.core5.util.Timeout; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -88,9 +89,9 @@ private RestTemplate getRestTemplate( new StringHttpMessageConverter())); RequestConfig config = RequestConfig.custom() - .setConnectTimeout(connectTimeout) - .setConnectionRequestTimeout(connectRequestTimeout) - .setSocketTimeout(connectRequestTimeout) + .setConnectTimeout(Timeout.ofMilliseconds(connectTimeout)) + .setConnectionRequestTimeout(Timeout.ofMilliseconds(connectRequestTimeout)) + .setResponseTimeout(Timeout.ofMilliseconds(connectRequestTimeout)) .build(); CloseableHttpClient client = HttpClientBuilder diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplateConfig.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplateConfig.java index 9cdd3927..6829438f 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplateConfig.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplateConfig.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.reform.prl.documentgenerator.config; +import jakarta.validation.Valid; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -7,7 +8,6 @@ import org.springframework.validation.annotation.Validated; import java.util.Map; -import javax.validation.Valid; @Getter diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplatesConfiguration.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplatesConfiguration.java index 6cbf78ab..c257e45e 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplatesConfiguration.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/config/TemplatesConfiguration.java @@ -1,5 +1,6 @@ package uk.gov.hmcts.reform.prl.documentgenerator.config; +import jakarta.annotation.PostConstruct; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -8,7 +9,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import javax.annotation.PostConstruct; import static java.util.stream.Collectors.toMap; diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/DocumentGeneratorController.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/DocumentGeneratorController.java index 6033d72a..5e21fa3a 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/DocumentGeneratorController.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/DocumentGeneratorController.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -19,7 +20,6 @@ import uk.gov.hmcts.reform.prl.documentgenerator.domain.response.GeneratedDocumentInfo; import uk.gov.hmcts.reform.prl.documentgenerator.service.DocumentManagementService; -import javax.validation.Valid; @RestController @RequestMapping(path = "/version/1") diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/helper/GlobalExceptionHandler.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/helper/GlobalExceptionHandler.java index 0a9358db..15fbc3e7 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/helper/GlobalExceptionHandler.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/controller/helper/GlobalExceptionHandler.java @@ -32,7 +32,7 @@ public ResponseEntity handleDocumentStorageAndPDFGenerationException(Exc log.error(exception.getMessage(), exception); if (exception.getCause() instanceof HttpClientErrorException) { - HttpStatus httpClientErrorException = ((HttpClientErrorException) exception.getCause()).getStatusCode(); + HttpStatus httpClientErrorException = (HttpStatus) ((HttpClientErrorException) exception.getCause()).getStatusCode(); if (httpClientErrorException == HttpStatus.BAD_REQUEST) { return ResponseEntity.status(HttpStatus.SERVICE_UNAVAILABLE).body(exception.getMessage()); diff --git a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/domain/request/GenerateDocumentRequest.java b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/domain/request/GenerateDocumentRequest.java index 104dd460..c494b446 100644 --- a/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/domain/request/GenerateDocumentRequest.java +++ b/src/main/java/uk/gov/hmcts/reform/prl/documentgenerator/domain/request/GenerateDocumentRequest.java @@ -2,10 +2,10 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Value; import java.util.Map; -import javax.validation.constraints.NotBlank; @Value @Schema(description = "Request body model for Document Generation Request") diff --git a/src/test/java/uk/gov/hmcts/reform/prl/documentgenerator/management/monitoring/health/HealthCheckITest.java b/src/test/java/uk/gov/hmcts/reform/prl/documentgenerator/management/monitoring/health/HealthCheckITest.java index 5a2f2fe8..3d17853d 100644 --- a/src/test/java/uk/gov/hmcts/reform/prl/documentgenerator/management/monitoring/health/HealthCheckITest.java +++ b/src/test/java/uk/gov/hmcts/reform/prl/documentgenerator/management/monitoring/health/HealthCheckITest.java @@ -5,11 +5,11 @@ import com.jayway.jsonpath.JsonPath; import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.ServerList; -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.classic.MinimalHttpClient; +import org.apache.hc.core5.http.io.entity.EntityUtils; import org.junit.After; import org.junit.Before; import org.junit.ClassRule; @@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.TestConfiguration; -import org.springframework.boot.web.server.LocalServerPort; import org.springframework.cloud.contract.wiremock.WireMockSpring; import org.springframework.cloud.netflix.ribbon.StaticServerList; import org.springframework.context.annotation.Bean; @@ -68,9 +67,9 @@ public class HealthCheckITest { public static WireMockClassRule caseDocService = new WireMockClassRule(buildWireMockConfig(5170)); private String healthUrl; - private final HttpClient httpClient = HttpClients.createMinimal(); + private final MinimalHttpClient httpClient = HttpClients.createMinimal(); - private HttpResponse getHealth() throws Exception { + private CloseableHttpResponse getHealth() throws Exception { final HttpGet request = new HttpGet(healthUrl); request.addHeader("Accept", "application/json;charset=UTF-8"); @@ -101,10 +100,10 @@ public void givenAllDependenciesAreUp_whenCheckHealth_thenReturnStatusUp() throw stubEndpointAndResponse(docmosisService, true); stubEndpointAndResponse(caseDocService, true); - HttpResponse response = getHealth(); + CloseableHttpResponse response = getHealth(); String body = EntityUtils.toString(response.getEntity()); - assertThat(response.getStatusLine().getStatusCode(), equalTo(HttpStatus.OK.value())); + assertThat(response.getCode(), equalTo(HttpStatus.OK.value())); assertThat(JsonPath.read(body, "$.status").toString(), equalTo("UP")); assertThat(JsonPath.read(body, "$.components.serviceAuthProviderHealthCheck.status").toString(), @@ -123,10 +122,10 @@ public void givenAllDependenciesAreDown_whenCheckHealth_thenReturnStatusDown() t stubEndpointAndResponse(docmosisService, false); stubEndpointAndResponse(caseDocService, false); - HttpResponse response = getHealth(); + CloseableHttpResponse response = getHealth(); String body = EntityUtils.toString(response.getEntity()); - assertThat(response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); + assertThat(response.getCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); assertThat(JsonPath.read(body, "$.status").toString(), equalTo("DOWN")); assertThat(JsonPath.read(body, "$.components.serviceAuthProviderHealthCheck.status").toString(), @@ -145,10 +144,10 @@ public void givenDocmosisServiceIsDown_whenCheckHealth_thenReturnStatusDown() th stubEndpointAndResponse(docmosisService, false); stubEndpointAndResponse(caseDocService, true); - HttpResponse response = getHealth(); + CloseableHttpResponse response = getHealth(); String body = EntityUtils.toString(response.getEntity()); - assertThat(response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); + assertThat(response.getCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); assertThat(JsonPath.read(body, "$.status").toString(), equalTo("DOWN")); assertThat(JsonPath.read(body, "$.components.serviceAuthProviderHealthCheck.status").toString(), @@ -167,10 +166,10 @@ public void givenCaseDocumentsClientIsDown_whenCheckHealth_thenReturnStatusDown( stubEndpointAndResponse(docmosisService, true); stubEndpointAndResponse(caseDocService, false); - HttpResponse response = getHealth(); + CloseableHttpResponse response = getHealth(); String body = EntityUtils.toString(response.getEntity()); - assertThat(response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); + assertThat(response.getCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); assertThat(JsonPath.read(body, "$.status").toString(), equalTo("DOWN")); assertThat(JsonPath.read(body, "$.components.serviceAuthProviderHealthCheck.status").toString(), @@ -189,10 +188,10 @@ public void givenAuthServiceIsDown_whenCheckHealth_thenReturnStatusDown() throws stubEndpointAndResponse(docmosisService, true); stubEndpointAndResponse(caseDocService, true); - HttpResponse response = getHealth(); + CloseableHttpResponse response = getHealth(); String body = EntityUtils.toString(response.getEntity()); - assertThat(response.getStatusLine().getStatusCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); + assertThat(response.getCode(), equalTo(HttpStatus.SERVICE_UNAVAILABLE.value())); assertThat(JsonPath.read(body, "$.status").toString(), equalTo("DOWN")); assertThat(JsonPath.read(body, "$.components.serviceAuthProviderHealthCheck.status").toString(), diff --git a/testFile b/testFile new file mode 100644 index 00000000..88298345 --- /dev/null +++ b/testFile @@ -0,0 +1 @@ +Any String you want \ No newline at end of file