Skip to content

Commit a2bb7a4

Browse files
authored
Bump CRT to 0.16.16 (#3264)
1 parent b3ff6d5 commit a2bb7a4

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
<rxjava.version>2.2.21</rxjava.version>
114114
<commons-codec.verion>1.10</commons-codec.verion>
115115
<jmh.version>1.29</jmh.version>
116-
<awscrt.version>0.16.15</awscrt.version>
116+
<awscrt.version>0.16.16</awscrt.version>
117117

118118
<!--Test dependencies -->
119119
<junit5.version>5.8.1</junit5.version>

services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import software.amazon.awssdk.core.exception.SdkClientException;
2323
import software.amazon.awssdk.crt.CRT;
2424
import software.amazon.awssdk.crt.http.HttpHeader;
25+
import software.amazon.awssdk.crt.s3.S3FinishedResponseContext;
2526
import software.amazon.awssdk.crt.s3.S3MetaRequestResponseHandler;
2627
import software.amazon.awssdk.http.SdkCancellationException;
2728
import software.amazon.awssdk.http.SdkHttpResponse;
@@ -68,7 +69,10 @@ public int onResponseBody(ByteBuffer bodyBytesIn, long objectRangeStart, long ob
6869
}
6970

7071
@Override
71-
public void onFinished(int crtCode, int responseStatus, byte[] errorPayload) {
72+
public void onFinished(S3FinishedResponseContext context) {
73+
int crtCode = context.getErrorCode();
74+
int responseStatus = context.getResponseStatus();
75+
byte[] errorPayload = context.getErrorPayload();
7276
if (crtCode != CRT.AWS_CRT_SUCCESS) {
7377
handleError(crtCode, responseStatus, errorPayload);
7478
} else {

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapterTest.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import static org.assertj.core.api.Assertions.assertThat;
2020
import static org.mockito.Mockito.verify;
21+
import static org.mockito.Mockito.when;
2122

2223
import java.nio.ByteBuffer;
2324
import java.nio.charset.StandardCharsets;
@@ -27,9 +28,11 @@
2728
import org.junit.runner.RunWith;
2829
import org.mockito.ArgumentCaptor;
2930
import org.mockito.Mock;
31+
import org.mockito.Mockito;
3032
import org.mockito.junit.MockitoJUnitRunner;
3133
import software.amazon.awssdk.core.exception.SdkClientException;
3234
import software.amazon.awssdk.crt.http.HttpHeader;
35+
import software.amazon.awssdk.crt.s3.S3FinishedResponseContext;
3336
import software.amazon.awssdk.http.SdkHttpResponse;
3437
import software.amazon.awssdk.http.async.SdkAsyncHttpResponseHandler;
3538

@@ -42,6 +45,9 @@ public class S3CrtResponseHandlerAdapterTest {
4245

4346
@Mock
4447
private S3CrtDataPublisher crtDataPublisher;
48+
49+
@Mock
50+
private S3FinishedResponseContext context;
4551
private CompletableFuture<Void> future;
4652

4753
@Before
@@ -71,7 +77,7 @@ public void successfulResponse_shouldCompleteFutureSuccessfully() {
7177

7278
verify(sdkResponseHandler).onStream(crtDataPublisher);
7379

74-
responseHandlerAdapter.onFinished(0, 0, null);
80+
responseHandlerAdapter.onFinished(stubResponseContext(0, 0, null));
7581
assertThat(future).isCompleted();
7682
}
7783

@@ -90,7 +96,8 @@ public void errorResponse_shouldCompleteFutureSuccessfully() {
9096
verify(sdkResponseHandler).onStream(crtDataPublisher);
9197

9298
byte[] errorPayload = "errorResponse".getBytes(StandardCharsets.UTF_8);
93-
responseHandlerAdapter.onFinished(1, statusCode, errorPayload);
99+
100+
responseHandlerAdapter.onFinished(stubResponseContext(1, statusCode, errorPayload));
94101

95102
ArgumentCaptor<ByteBuffer> byteBufferArgumentCaptor = ArgumentCaptor.forClass(ByteBuffer.class);
96103
verify(crtDataPublisher).deliverData(byteBufferArgumentCaptor.capture());
@@ -105,7 +112,7 @@ public void errorResponse_shouldCompleteFutureSuccessfully() {
105112
@Test
106113
public void requestFailed_shouldCompleteFutureExceptionally() {
107114

108-
responseHandlerAdapter.onFinished(1, 0, null);
115+
responseHandlerAdapter.onFinished(stubResponseContext(1, 0, null));
109116

110117
ArgumentCaptor<Exception> exceptionArgumentCaptor = ArgumentCaptor.forClass(Exception.class);
111118
verify(crtDataPublisher).notifyError(exceptionArgumentCaptor.capture());
@@ -115,4 +122,12 @@ public void requestFailed_shouldCompleteFutureExceptionally() {
115122
assertThat(actualException).isInstanceOf(SdkClientException.class);
116123
assertThat(future).isCompletedExceptionally();
117124
}
125+
126+
private S3FinishedResponseContext stubResponseContext(int errorCode, int responseStatus, byte[] errorPayload) {
127+
Mockito.reset(context);
128+
when(context.getErrorCode()).thenReturn(errorCode);
129+
when(context.getResponseStatus()).thenReturn(responseStatus);
130+
when(context.getErrorPayload()).thenReturn(errorPayload);
131+
return context;
132+
}
118133
}

0 commit comments

Comments
 (0)