88import static org .springframework .http .HttpStatus .NOT_FOUND ;
99
1010import java .io .IOException ;
11+ import java .util .concurrent .TimeUnit ;
1112import java .util .concurrent .TimeoutException ;
1213import java .util .stream .Stream ;
1314
15+ import mockwebserver3 .MockResponse ;
16+ import mockwebserver3 .MockWebServer ;
1417import org .junit .jupiter .api .AfterEach ;
1518import org .junit .jupiter .api .BeforeEach ;
1619import org .junit .jupiter .api .Test ;
2528import org .springframework .test .context .bean .override .mockito .MockitoSpyBean ;
2629import org .springframework .test .context .junit .jupiter .SpringExtension ;
2730
28- import okhttp3 .mockwebserver .MockResponse ;
29- import okhttp3 .mockwebserver .MockWebServer ;
30- import okhttp3 .mockwebserver .SocketPolicy ;
3131import uk .nhs .adaptors .gp2gp .common .exception .MaximumExternalAttachmentsException ;
3232import uk .nhs .adaptors .gp2gp .common .exception .RetryLimitReachedException ;
3333import uk .nhs .adaptors .gp2gp .mhs .configuration .MhsConfiguration ;
@@ -83,18 +83,18 @@ public void initialise() throws IOException {
8383 }
8484
8585 @ AfterEach
86- public void tearDown () throws IOException {
87- mockWebServer .shutdown ();
86+ public void tearDown () {
87+ mockWebServer .close ();
8888 }
8989
9090 @ ParameterizedTest
9191 @ MethodSource ("maxAttachmentsValidationErrors" )
9292 public void When_SendMessageToMHS_With_HttpStatus400AndMaxExternalAttachments_Expect_CorrectException (String body ) {
93- MockResponse response = new MockResponse ();
94- response
95- .addHeader ("Content-Type" , "text/plain " )
96- .setResponseCode ( BAD_REQUEST . value () )
97- .setBody ( body );
93+ var response = new MockResponse . Builder ()
94+ . code ( BAD_REQUEST . value ())
95+ .addHeader ("Content-Type" , "application/json " )
96+ .body ( body )
97+ .build ( );
9898
9999 mockWebServer .enqueue (response );
100100
@@ -108,11 +108,11 @@ public void When_SendMessageToMHS_With_HttpStatus400AndMaxExternalAttachments_Ex
108108 @ ParameterizedTest
109109 @ MethodSource ("otherValidationErrors" )
110110 public void When_SendMessageToMHS_With_HttpStatus400AndOtherValidationErrors_Expect_CorrectException (String body ) {
111- MockResponse response = new MockResponse ();
112- response
111+ var response = new MockResponse . Builder ()
112+ . code ( BAD_REQUEST . value ())
113113 .addHeader ("Content-Type" , "text/plain" )
114- .setResponseCode ( BAD_REQUEST . value () )
115- .setBody ( body );
114+ .body ( body )
115+ .build ( );
116116
117117 mockWebServer .enqueue (response );
118118
@@ -126,9 +126,9 @@ public void When_SendMessageToMHS_With_HttpStatus400AndOtherValidationErrors_Exp
126126
127127 @ Test
128128 public void When_SendMessageToMHS_With_HttpStatus404_Expect_IllegalStateException () {
129- MockResponse response = new MockResponse ();
130- response
131- .setResponseCode ( NOT_FOUND . value () );
129+ var response = new MockResponse . Builder ()
130+ . code ( NOT_FOUND . value ())
131+ .build ( );
132132
133133 mockWebServer .enqueue (response );
134134
@@ -141,8 +141,10 @@ public void When_SendMessageToMHS_With_HttpStatus404_Expect_IllegalStateExceptio
141141
142142 @ Test
143143 public void When_SendMessageToMHS_With_NoResponse_Expect_RetryExceptionWithTimeoutRootCause () {
144- MockResponse response = new MockResponse ();
145- response .setSocketPolicy (SocketPolicy .NO_RESPONSE );
144+ var response = new MockResponse .Builder ()
145+ .bodyDelay (1 , TimeUnit .HOURS )
146+ .headersDelay (1 , TimeUnit .HOURS )
147+ .build ();
146148
147149 for (int i = 0 ; i < FOUR ; i ++) {
148150 mockWebServer .enqueue (response );
@@ -163,10 +165,13 @@ public void When_SendMessageToMHS_With_NoResponse_Expect_RetryExceptionWithTimeo
163165
164166 @ Test
165167 public void When_SendMessageToMHS_With_ResponseOn404SecondAttempt_Expect_RetryBeforeIllegalStateException () {
166- MockResponse response1 = new MockResponse ();
167- response1 .setSocketPolicy (SocketPolicy .NO_RESPONSE );
168- MockResponse response2 = new MockResponse ();
169- response2 .setResponseCode (NOT_FOUND .value ());
168+ var response1 = new MockResponse .Builder ()
169+ .bodyDelay (1 , TimeUnit .HOURS )
170+ .headersDelay (1 , TimeUnit .HOURS )
171+ .build ();
172+ var response2 = new MockResponse .Builder ()
173+ .code (NOT_FOUND .value ())
174+ .build ();
170175
171176 mockWebServer .enqueue (response1 );
172177 mockWebServer .enqueue (response2 );
@@ -182,8 +187,9 @@ public void When_SendMessageToMHS_With_ResponseOn404SecondAttempt_Expect_RetryBe
182187
183188 @ Test
184189 public void When_SendMessageToMHS_With_HttpStatus5xx_Expect_RetryExceptionWithMhsServerErrorRootCause () {
185- MockResponse response = new MockResponse ();
186- response .setResponseCode (INTERNAL_SERVER_ERROR .value ());
190+ var response = new MockResponse .Builder ()
191+ .code (INTERNAL_SERVER_ERROR .value ())
192+ .build ();
187193
188194 for (int i = 0 ; i < FOUR ; i ++) {
189195 mockWebServer .enqueue (response );
0 commit comments