35
35
import org .mockito .Mock ;
36
36
import org .mockito .Mockito ;
37
37
import org .mockito .runners .MockitoJUnitRunner ;
38
- import software .amazon .awssdk .auth . signer . internal .chunkedencoding .AwsChunkedEncodingConfig ;
39
- import software .amazon .awssdk .auth .signer .internal .chunkedencoding .AwsChunkedEncodingInputStream ;
38
+ import software .amazon .awssdk .core . internal .chunked .AwsChunkedEncodingConfig ;
39
+ import software .amazon .awssdk .auth .signer .internal .chunkedencoding .AwsSignedChunkedEncodingInputStream ;
40
40
import software .amazon .awssdk .authcrt .signer .internal .chunkedencoding .AwsS3V4aChunkSigner ;
41
41
42
42
/**
@@ -87,9 +87,9 @@ public class AwsChunkedEncodingInputStreamTest {
87
87
@ Test
88
88
public void streamContentLength_smallObject_calculatedCorrectly () {
89
89
long streamContentLength =
90
- AwsChunkedEncodingInputStream .calculateStreamContentLength (10 ,
91
- AwsS3V4aChunkSigner .getSignatureLength (),
92
- AwsChunkedEncodingConfig .create ());
90
+ AwsSignedChunkedEncodingInputStream .calculateStreamContentLength (10 ,
91
+ AwsS3V4aChunkSigner .getSignatureLength (),
92
+ AwsChunkedEncodingConfig .create ());
93
93
assertThat (streamContentLength ).isEqualTo (342 );
94
94
}
95
95
@@ -103,9 +103,9 @@ public void streamContentLength_smallObject_calculatedCorrectly() {
103
103
@ Test
104
104
public void streamContentLength_largeObject_calculatedCorrectly () {
105
105
long streamContentLength =
106
- AwsChunkedEncodingInputStream .calculateStreamContentLength (DEFAULT_CHUNK_SIZE + 10 ,
107
- AwsS3V4aChunkSigner .getSignatureLength (),
108
- AwsChunkedEncodingConfig .create ());
106
+ AwsSignedChunkedEncodingInputStream .calculateStreamContentLength (DEFAULT_CHUNK_SIZE + 10 ,
107
+ AwsS3V4aChunkSigner .getSignatureLength (),
108
+ AwsChunkedEncodingConfig .create ());
109
109
assertThat (streamContentLength ).isEqualTo (131584 );
110
110
}
111
111
@@ -115,17 +115,17 @@ public void streamContentLength_differentChunkSize_calculatedCorrectly() {
115
115
116
116
AwsChunkedEncodingConfig chunkConfig = AwsChunkedEncodingConfig .builder ().chunkSize (chunkSize ).build ();
117
117
long streamContentLength =
118
- AwsChunkedEncodingInputStream .calculateStreamContentLength (chunkSize + 10 ,
119
- AwsS3V4aChunkSigner .getSignatureLength (),
120
- chunkConfig );
118
+ AwsSignedChunkedEncodingInputStream .calculateStreamContentLength (chunkSize + 10 ,
119
+ AwsS3V4aChunkSigner .getSignatureLength (),
120
+ chunkConfig );
121
121
assertThat (streamContentLength ).isEqualTo (66048 );
122
122
}
123
123
124
124
@ Test (expected = IllegalArgumentException .class )
125
125
public void streamContentLength_negative_throwsException () {
126
- AwsChunkedEncodingInputStream .calculateStreamContentLength (-1 ,
127
- AwsS3V4aChunkSigner .getSignatureLength (),
128
- AwsChunkedEncodingConfig .create ());
126
+ AwsSignedChunkedEncodingInputStream .calculateStreamContentLength (-1 ,
127
+ AwsS3V4aChunkSigner .getSignatureLength (),
128
+ AwsChunkedEncodingConfig .create ());
129
129
}
130
130
131
131
@ Test
@@ -136,10 +136,13 @@ public void chunkedEncodingStream_smallObject_createsCorrectChunks() throws IOEx
136
136
String chunkData = "helloworld" ;
137
137
138
138
ByteArrayInputStream input = new ByteArrayInputStream (chunkData .getBytes ());
139
- AwsChunkedEncodingInputStream stream = new AwsChunkedEncodingInputStream (input ,
140
- REQUEST_SIGNATURE ,
141
- chunkSigner ,
142
- AwsChunkedEncodingConfig .create ());
139
+
140
+ AwsSignedChunkedEncodingInputStream stream = AwsSignedChunkedEncodingInputStream .builder ()
141
+ .inputStream (input )
142
+ .headerSignature (REQUEST_SIGNATURE )
143
+ .awsChunkSigner (chunkSigner )
144
+ .awsChunkedEncodingConfig (AwsChunkedEncodingConfig .create ())
145
+ .build ();
143
146
int expectedChunks = 2 ;
144
147
consumeAndVerify (stream , expectedChunks );
145
148
Mockito .verify (chunkSigner , times (1 )).signChunk (chunkData .getBytes (StandardCharsets .UTF_8 ), REQUEST_SIGNATURE );
@@ -155,10 +158,13 @@ public void chunkedEncodingStream_largeObject_createsCorrectChunks() throws IOEx
155
158
String chunk1Data = StringUtils .repeat ("a" , DEFAULT_CHUNK_SIZE );
156
159
String chunk2Data = "a" ;
157
160
ByteArrayInputStream input = new ByteArrayInputStream (chunk1Data .concat (chunk2Data ).getBytes ());
158
- AwsChunkedEncodingInputStream stream = new AwsChunkedEncodingInputStream (input ,
159
- REQUEST_SIGNATURE ,
160
- chunkSigner ,
161
- AwsChunkedEncodingConfig .create ());
161
+
162
+ AwsSignedChunkedEncodingInputStream stream = AwsSignedChunkedEncodingInputStream .builder ()
163
+ .inputStream (input )
164
+ .headerSignature (REQUEST_SIGNATURE )
165
+ .awsChunkSigner (chunkSigner )
166
+ .awsChunkedEncodingConfig (AwsChunkedEncodingConfig .create ())
167
+ .build ();
162
168
int expectedChunks = 3 ;
163
169
consumeAndVerify (stream , expectedChunks );
164
170
Mockito .verify (chunkSigner , times (1 )).signChunk (chunk1Data .getBytes (StandardCharsets .UTF_8 ), REQUEST_SIGNATURE );
@@ -177,10 +183,14 @@ public void chunkedEncodingStream_differentChunkSize_createsCorrectChunks() thro
177
183
String chunk1Data = StringUtils .repeat ("a" , chunkSize );
178
184
String chunk2Data = "a" ;
179
185
ByteArrayInputStream input = new ByteArrayInputStream (chunk1Data .concat (chunk2Data ).getBytes ());
180
- AwsChunkedEncodingInputStream stream = new AwsChunkedEncodingInputStream (input ,
181
- REQUEST_SIGNATURE ,
182
- chunkSigner ,
183
- chunkConfig );
186
+
187
+
188
+ AwsSignedChunkedEncodingInputStream stream = AwsSignedChunkedEncodingInputStream .builder ()
189
+ .inputStream (input )
190
+ .headerSignature (REQUEST_SIGNATURE )
191
+ .awsChunkSigner (chunkSigner )
192
+ .awsChunkedEncodingConfig (chunkConfig )
193
+ .build ();
184
194
int expectedChunks = 3 ;
185
195
consumeAndVerify (stream , expectedChunks );
186
196
Mockito .verify (chunkSigner , times (1 )).signChunk (chunk1Data .getBytes (StandardCharsets .UTF_8 ), REQUEST_SIGNATURE );
@@ -195,16 +205,19 @@ public void chunkedEncodingStream_emptyString_createsCorrectChunks() throws IOEx
195
205
String chunkData = EMPTY_STRING ;
196
206
197
207
ByteArrayInputStream input = new ByteArrayInputStream (chunkData .getBytes ());
198
- AwsChunkedEncodingInputStream stream = new AwsChunkedEncodingInputStream (input ,
199
- REQUEST_SIGNATURE ,
200
- chunkSigner ,
201
- AwsChunkedEncodingConfig .create ());
208
+
209
+ AwsSignedChunkedEncodingInputStream stream = AwsSignedChunkedEncodingInputStream .builder ()
210
+ .inputStream (input )
211
+ .headerSignature (REQUEST_SIGNATURE )
212
+ .awsChunkSigner (chunkSigner )
213
+ .awsChunkedEncodingConfig (AwsChunkedEncodingConfig .create ())
214
+ .build ();
202
215
int expectedChunks = 1 ;
203
216
consumeAndVerify (stream , expectedChunks );
204
217
Mockito .verify (chunkSigner , times (1 )).signChunk (chunkData .getBytes (StandardCharsets .UTF_8 ), REQUEST_SIGNATURE );
205
218
}
206
219
207
- private void consumeAndVerify (AwsChunkedEncodingInputStream stream , int numChunks ) throws IOException {
220
+ private void consumeAndVerify (AwsSignedChunkedEncodingInputStream stream , int numChunks ) throws IOException {
208
221
ByteArrayOutputStream output = new ByteArrayOutputStream ();
209
222
IOUtils .copy (stream , output );
210
223
String result = new String (output .toByteArray (), StandardCharsets .UTF_8 );
0 commit comments