Skip to content

Commit

Permalink
fix response for addLogEntry as should return a 200 for a success, no…
Browse files Browse the repository at this point in the history
…t 201 (#390)
  • Loading branch information
cmagowan-hmcts authored Apr 26, 2024
1 parent bbc833b commit ab789df
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ public class PostCourtLogsApiStub extends DartsApiStub {

private static final String EVENTS_API_SUCCESS_BODY = """
{
"code": "200",
"message": "OK"
"code": "201",
"message": "CREATED"
}""";


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.github.tomakehurst.wiremock.matching.RegexPattern;
import com.service.mojdarts.synapps.com.AddLogEntryResponse;
import com.service.mojdarts.synapps.com.GetCourtLogResponse;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ArgumentsSource;
Expand All @@ -31,6 +30,7 @@
import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
import static java.util.stream.Collectors.toList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
Expand Down Expand Up @@ -141,13 +141,13 @@ void testRoutesGetCourtLogRequestWithAuthenticationToken(DartsGatewayClient clie

com.synapps.moj.dfs.response.GetCourtLogResponse actualResponse = response.getResponse().getValue().getReturn();

Assertions.assertEquals("200", actualResponse.getCode());
Assertions.assertEquals("OK", actualResponse.getMessage());
Assertions.assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
Assertions.assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
Assertions.assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
Assertions.assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
Assertions.assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
assertEquals("200", actualResponse.getCode());
assertEquals("OK", actualResponse.getMessage());
assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
}, getContextClient(), getGatewayUri(), DEFAULT_HEADER_USERNAME, DEFAULT_HEADER_PASSWORD);

courtLogsApi.verifyReceivedGetCourtLogsRequestFor(SOME_COURTHOUSE, "some-case");
Expand Down Expand Up @@ -182,13 +182,13 @@ void testRoutesGetCourtLogRequestWithAuthenticationTokenRefresh(DartsGatewayClie

com.synapps.moj.dfs.response.GetCourtLogResponse actualResponse = response.getResponse().getValue().getReturn();

Assertions.assertEquals("200", actualResponse.getCode());
Assertions.assertEquals("OK", actualResponse.getMessage());
Assertions.assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
Assertions.assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
Assertions.assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
Assertions.assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
Assertions.assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
assertEquals("200", actualResponse.getCode());
assertEquals("OK", actualResponse.getMessage());
assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
}, getContextClient(), getGatewayUri(), DEFAULT_HEADER_USERNAME, DEFAULT_HEADER_PASSWORD);

courtLogsApi.verifyReceivedGetCourtLogsRequestFor(SOME_COURTHOUSE, "some-case");
Expand All @@ -215,13 +215,13 @@ void testRoutesGetCourtLogRequest(DartsGatewayClient client) throws Exception {

com.synapps.moj.dfs.response.GetCourtLogResponse actualResponse = response.getResponse().getValue().getReturn();

Assertions.assertEquals("200", actualResponse.getCode());
Assertions.assertEquals("OK", actualResponse.getMessage());
Assertions.assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
Assertions.assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
Assertions.assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
Assertions.assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
Assertions.assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
assertEquals("200", actualResponse.getCode());
assertEquals("OK", actualResponse.getMessage());
assertEquals(SOME_COURTHOUSE, actualResponse.getCourtLog().getCourthouse());
assertEquals(SOME_CASE_NUMBER, actualResponse.getCourtLog().getCaseNumber());
assertEquals("some-log-text-1", actualResponse.getCourtLog().getEntry().get(0).getValue());
assertEquals("some-log-text-2", actualResponse.getCourtLog().getEntry().get(1).getValue());
assertEquals("some-log-text-3", actualResponse.getCourtLog().getEntry().get(2).getValue());
}, DEFAULT_HEADER_USERNAME, DEFAULT_HEADER_PASSWORD);
courtLogsApi.verifyReceivedGetCourtLogsRequestFor(SOME_COURTHOUSE, "some-case");

Expand Down Expand Up @@ -257,9 +257,14 @@ void testRejectsInvalidSoapMessage(DartsGatewayClient client) throws Exception {
void testPostCourtLogsRoute(DartsGatewayClient client) throws Exception {
authenticationStub.assertWithUserNameAndPasswordHeader(client, () -> {
postCourtLogsApi.returnsEventResponse();
client.postCourtLogs(getGatewayUri(), postCourtLogs.getContentAsString(Charset.defaultCharset()));
SoapAssertionUtil<AddLogEntryResponse> response = client.postCourtLogs(
getGatewayUri(),
postCourtLogs.getContentAsString(Charset.defaultCharset())
);

postCourtLogsApi.verifyReceivedPostCourtLogsRequestForCaseNumber("CASE000001");

assertEquals("200", response.getResponse().getValue().getReturn().getCode());
}, DEFAULT_HEADER_USERNAME, DEFAULT_HEADER_PASSWORD);

verify(mockOauthTokenGenerator, times(2)).acquireNewToken(DEFAULT_HEADER_USERNAME, DEFAULT_HEADER_PASSWORD);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public DARTSResponse route(String document) {
throw ce;
}

return MapperUtility.mapResponse(response.getBody());
return MapperUtility.mapResponse(response.getBody(), true);
}

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
package uk.gov.hmcts.darts.event.service.impl;

import com.synapps.moj.dfs.response.DARTSResponse;
import org.springframework.stereotype.Service;
import uk.gov.courtservice.events.DartsEvent;
import uk.gov.hmcts.darts.model.event.EventsResponse;
import uk.gov.hmcts.darts.utilities.DateUtil;
import uk.gov.hmcts.darts.ws.CodeAndMessage;

import java.time.LocalDateTime;
import java.time.Month;
Expand Down Expand Up @@ -42,17 +39,4 @@ private static OffsetDateTime toOffsetDateTime(DartsEvent dartsEvent) {
//date comes in as localTime from xhibit.
return DateUtil.toOffsetDateTime(localDateTime);
}

public DARTSResponse toLegacyAddDocumentResponse(EventsResponse eventResponse) {
var dartsResponse = new DARTSResponse();
if (eventResponse.getCode().equals("201")) {
dartsResponse.setCode(CodeAndMessage.OK.getCode());
dartsResponse.setMessage(CodeAndMessage.OK.getMessage());
} else {
dartsResponse.setMessage(eventResponse.getMessage());
dartsResponse.setCode(eventResponse.getCode());
}

return dartsResponse;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import uk.gov.courtservice.events.DartsEvent;
import uk.gov.hmcts.darts.common.client.EventsClient;
import uk.gov.hmcts.darts.model.event.EventsResponse;
import uk.gov.hmcts.darts.utilities.MapperUtility;
import uk.gov.hmcts.darts.utilities.XmlParser;
import uk.gov.hmcts.darts.utilities.XmlValidator;

Expand Down Expand Up @@ -35,6 +36,6 @@ public DARTSResponse handle(String document, String messageId, String type, Stri

ResponseEntity<EventsResponse> eventResponse = eventsClient.eventsPost(eventRequest);

return dartsXmlMapper.toLegacyAddDocumentResponse(eventResponse.getBody());
return MapperUtility.mapResponse(eventResponse.getBody(), true);
}
}
13 changes: 9 additions & 4 deletions src/main/java/uk/gov/hmcts/darts/utilities/MapperUtility.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import lombok.experimental.UtilityClass;
import uk.gov.hmcts.darts.addlogentry.LogEntry;
import uk.gov.hmcts.darts.model.event.EventsResponse;
import uk.gov.hmcts.darts.ws.CodeAndMessage;

import java.time.LocalDateTime;
import java.time.Month;
Expand Down Expand Up @@ -34,11 +35,15 @@ public static OffsetDateTime toOffsetDateTime(LogEntry logEntry) {

}

public static DARTSResponse mapResponse(EventsResponse eventResponse) {
public static DARTSResponse mapResponse(EventsResponse eventResponse, boolean convert201to200) {
var dartsResponse = new DARTSResponse();
dartsResponse.setMessage(eventResponse.getMessage());
dartsResponse.setCode(eventResponse.getCode());

if (convert201to200 && eventResponse.getCode().equals("201")) {
dartsResponse.setCode(CodeAndMessage.OK.getCode());
dartsResponse.setMessage(CodeAndMessage.OK.getMessage());
} else {
dartsResponse.setMessage(eventResponse.getMessage());
dartsResponse.setCode(eventResponse.getCode());
}
return dartsResponse;
}

Expand Down

0 comments on commit ab789df

Please sign in to comment.