Skip to content

Commit 99ac6f1

Browse files
committed
update pact flow test
1 parent 316a6e4 commit 99ac6f1

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

src/main/java/uk/gov/hmcts/cp/repositories/InMemoryCourtScheduleClientImpl.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,32 @@
1010
import java.time.ZoneOffset;
1111
import java.time.temporal.ChronoUnit;
1212
import java.util.List;
13+
import java.util.Map;
1314
import java.util.UUID;
15+
import java.util.concurrent.ConcurrentHashMap;
1416

1517
@Component("inMemoryCourtScheduleClientImpl")
1618
public class InMemoryCourtScheduleClientImpl implements CourtScheduleClient {
19+
private final Map<String, CourtScheduleResponse> courtScheduleResponseMap = new ConcurrentHashMap<>();
20+
21+
public void saveCourtSchedule(final String caseUrn, final CourtScheduleResponse courtScheduleResponse) {
22+
courtScheduleResponseMap.put(caseUrn, courtScheduleResponse);
23+
}
1724

1825
public CourtScheduleResponse getCourtScheduleByCaseId(final String caseId) {
26+
if (!courtScheduleResponseMap.containsKey(caseId)) {
27+
saveCourtSchedule(caseId, createCourtScheduleResponse());
28+
}
29+
return courtScheduleResponseMap.get(caseId);
30+
}
1931

32+
public void clearAll() {
33+
courtScheduleResponseMap.clear();
34+
}
35+
36+
private CourtScheduleResponse createCourtScheduleResponse() {
2037
final OffsetDateTime sittingStartTime = OffsetDateTime.now(ZoneOffset.UTC)
2138
.truncatedTo(ChronoUnit.SECONDS);
22-
2339
final Hearing hearing = Hearing.builder()
2440
.hearingId(UUID.randomUUID().toString())
2541
.listNote("Requires interpreter")

src/pactVerificationTest/java/uk/gov/hmcts/cp/pact/provider/CourtScheduleProviderPactTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.springframework.test.context.junit.jupiter.SpringExtension;
2020
import uk.gov.hmcts.cp.openapi.model.CourtScheduleResponse;
2121
import uk.gov.hmcts.cp.pact.helper.JsonFileToObject;
22-
import uk.gov.hmcts.cp.repositories.CourtScheduleClient;
22+
import uk.gov.hmcts.cp.repositories.InMemoryCourtScheduleClientImpl;
2323

2424
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
2525
@ExtendWith({SpringExtension.class, PactVerificationInvocationContextProvider.class})
@@ -34,7 +34,7 @@ public class CourtScheduleProviderPactTest {
3434
private static final Logger LOG = LoggerFactory.getLogger(CourtScheduleProviderPactTest.class);
3535

3636
@Autowired
37-
private CourtScheduleClient courtScheduleClient;
37+
private InMemoryCourtScheduleClientImpl inMemoryCourtScheduleClient;
3838

3939
@LocalServerPort
4040
private int port;
@@ -48,9 +48,9 @@ void setupTarget(PactVerificationContext context) {
4848

4949
@State("court schedule for case 456789 exists")
5050
public void setupCourtSchedule() throws Exception{
51-
// courtScheduleClient.clearAll();
52-
// CourtScheduleResponse courtScheduleResponse = JsonFileToObject.readJsonFromResources("courtSchedule.json", CourtScheduleResponse.class);
53-
// courtScheduleClient.saveCourtSchedule("456789", courtScheduleResponse);
51+
inMemoryCourtScheduleClient.clearAll();
52+
CourtScheduleResponse courtScheduleResponse = JsonFileToObject.readJsonFromResources("courtSchedule.json", CourtScheduleResponse.class);
53+
inMemoryCourtScheduleClient.saveCourtSchedule("456789", courtScheduleResponse);
5454
}
5555

5656
@TestTemplate

0 commit comments

Comments
 (0)