Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ task fortifyScan(type: JavaExec) {
project.ext {
pacticipant = 'wa_task_monitor'
pacticipantVersion = getCheckedOutGitCommitHash()
pactBrokerUrl = System.getenv("PACT_BROKER_FULL_URL") ?: 'http://localhost:80'
pactBranchName = System.getenv("PACT_BRANCH_NAME") ?: 'Dev'
}

checkstyle {
Expand Down Expand Up @@ -299,8 +301,9 @@ def versions = [
springDoc : '2.6.0',
serenity : '4.2.16',
springFrameworkCloud: '2.2.10.RELEASE',
pitest : '1.16.1',
pactVersion : '4.1.7',
pitest : '1.18.2',
pactVersion : '4.6.11',
pactJava8Version : '4.1.43',
tomcat : '10.1.31'
]

Expand Down Expand Up @@ -383,7 +386,7 @@ dependencies {

//Pact contract testing
contractTestImplementation group: 'au.com.dius.pact.consumer', name: 'junit5', version: versions.pactVersion
contractTestImplementation group: 'au.com.dius.pact.consumer', name: 'java8', version: versions.pactVersion
contractTestImplementation group: 'au.com.dius.pact.consumer', name: 'java8', version: versions.pactJava8Version

contractTestImplementation(group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: versions.junit)
contractTestRuntimeOnly(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: versions.junit)
Expand Down Expand Up @@ -415,11 +418,12 @@ runAndPublishConsumerPactTests.finalizedBy pactPublish

pact {
broker {
pactBrokerUrl = System.getenv("PACT_BROKER_FULL_URL") ?: 'http://localhost:80'
pactBrokerUrl = project.ext.pactBrokerUrl
}
publish {
pactBrokerUrl = System.getenv("PACT_BROKER_FULL_URL") ?: 'http://localhost:80'
pactDirectory = 'pacts'
pactBrokerUrl = project.ext.pactBrokerUrl
tags = [System.getenv("PACT_BRANCH_NAME") ?: 'Dev']
version = project.pacticipantVersion
}
Expand Down
6 changes: 3 additions & 3 deletions config/pmd/ruleset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@
<exclude name="CommentSize"/>
<exclude name="UncommentedEmptyMethodBody"/>
</rule>
<rule ref="category/java/errorprone.xml">
<exclude name="BeanMembersShouldSerialize"/>
</rule>
<!-- <rule ref="category/java/errorprone.xml">-->
<!-- <exclude name="BeanMembersShouldSerialize"/>-->
<!-- </rule>-->
<rule ref="category/java/multithreading.xml"/>
<rule ref="category/java/performance.xml"/>
<rule ref="category/java/security.xml"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package uk.gov.hmcts.reform.wataskmonitor.consumer.ccd;

import au.com.dius.pact.consumer.dsl.LambdaDsl;
import au.com.dius.pact.consumer.dsl.LambdaDslJsonBody;
import au.com.dius.pact.consumer.dsl.LambdaDslObject;
import au.com.dius.pact.consumer.dsl.PactDslWithProvider;
import au.com.dius.pact.consumer.junit5.PactTestFor;
import au.com.dius.pact.core.model.PactSpecVersion;
import au.com.dius.pact.core.model.RequestResponsePact;
import au.com.dius.pact.core.model.annotations.Pact;
import org.json.JSONException;
Expand All @@ -13,6 +17,7 @@

import java.util.Map;

import static io.pactfoundation.consumer.dsl.LambdaDsl.newJsonBody;
import static junit.framework.TestCase.assertNotNull;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
Expand Down Expand Up @@ -46,11 +51,28 @@ public RequestResponsePact startForCaseWorker(PactDslWithProvider builder) {
.matchHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.status(200)
.body(buildStartForCaseWorkerPactDsl(START_APPEAL))
// .body(LambdaDsl.newJsonBody(((lambdaDslJsonBody) -> {
// string
// }))
.toPact();
}

// .body(String.valueOf(newJsonBody(
// o -> o.stringType("event_id", START_APPEAL)
// .stringType("token", null)
// .object("case_details", cd -> {
// cd.stringMatcher("jurisdiction", "[/^[A-Za-z_]+$/]+", "IA");
// cd.stringMatcher("case_type_id", "[/^[A-Za-z_]+$/]+", "Asylum");
// cd.object("case_data", data -> {
// data.stringMatcher("isOutOfCountryEnabled", "Yes|No|YES|NO", "No");
// data.stringMatcher("appealOutOfCountry", "Yes|No|YES|NO", "No");
// });
// }).build()



@Test
@PactTestFor(pactMethod = "startForCaseWorker")
@PactTestFor(pactMethod = "startForCaseWorker", pactVersion = PactSpecVersion.V3)
public void verifyStartEventForCaseworker() throws JSONException {

StartEventResponse startEventResponse = coreCaseDataApi.startForCaseworker(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package uk.gov.hmcts.reform.wataskmonitor.consumer.ccd.util;

import au.com.dius.pact.consumer.junit5.PactTestFor;
import au.com.dius.pact.core.model.PactSpecVersion;
import au.com.dius.pact.core.model.annotations.PactFolder;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package uk.gov.hmcts.reform.wataskmonitor.consumer.ccd.util;

import au.com.dius.pact.consumer.dsl.DslPart;
import au.com.dius.pact.consumer.dsl.PactDslJsonBody;
import au.com.dius.pact.core.support.json.JsonValue;
import io.pactfoundation.consumer.dsl.LambdaDslObject;

import static io.pactfoundation.consumer.dsl.LambdaDsl.newJsonBody;
Expand Down Expand Up @@ -28,6 +30,34 @@ public static DslPart buildStartEventForCaseWorkerPactDsl(String eventId) {
})).build();
}

//TODO: Investigate this further, does not work with current Pact version
public static JsonValue buildStartEventForCaseWorkerPactDslA(String eventId) {
return new PactDslJsonBody()
.stringType("event_id", eventId)
.stringType("token", null)
.object("case_details")
.numberType("id", 2000)
.stringMatcher("jurisdiction", ALPHABETIC_REGEX, "IA")
.stringMatcher("case_type", ALPHABETIC_REGEX, "Asylum")
.stringValue("state", "appealStarted")
.stringValue("securityClassification", "PUBLIC")
.object("case_data", PactDslBuilderForCaseDetailsList::getCaseDataPactDsl)
.closeObject()
.getBody();
}

// String pactDslJson = new PactDslJsonBody()
// .stringType("status", "ON")
// .object("document")
// .stringType("status", "NOT_FOUND")
// .stringType("release", "undefined")
// .closeObject()
// .object("file")
// .stringType("version", "v1.4")
// .stringType("release", "1.1")
// .closeObject()
// .getBody().toString();

public static DslPart buildStartForCaseWorkerPactDsl(String eventId) {
return newJsonBody(
o -> o.stringType("event_id", eventId)
Expand All @@ -42,6 +72,22 @@ public static DslPart buildStartForCaseWorkerPactDsl(String eventId) {
}))
.build();
}
// public static DslPart buildStartForCaseWorkerPactDslAA(String eventId) {
// return PactDslJsonBody(
// o -> o.stringType("event_id", eventId)
// .stringType("token", null)
// .object("case_details", cd -> {
// cd.stringMatcher("jurisdiction", ALPHABETIC_REGEX, "IA");
// cd.stringMatcher("case_type_id", ALPHABETIC_REGEX, "Asylum");
// cd.object("case_data", data -> {
// data.stringMatcher("isOutOfCountryEnabled", "Yes|No|YES|NO", "No");
// data.stringMatcher("appealOutOfCountry", "Yes|No|YES|NO", "No");
// });
// }))
// .build();
// }



public static DslPart buildSubmitForCaseWorkedPactDsl(Long caseId) {
return newJsonBody(
Expand Down
Loading