@@ -155,26 +155,46 @@ TEST(S3KeyValueStoreTest, SimpleMock_VirtualHost) {
155
155
HttpResponse{200 , absl::Cord (),
156
156
HeaderMap{{" x-amz-bucket-region" , " us-east-1" }}}},
157
157
158
- {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/key_read " ,
158
+ {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/key_read1 " ,
159
159
HttpResponse{
160
160
200 , absl::Cord (" abcd" ),
161
161
HeaderMap{{" etag" , " \" 900150983cd24fb0d6963f7d28e17f72\" " },
162
162
{" x-amz-checksum-sha256" ,
163
163
" iNQmb9TmM40TuEX88olXnSCciXgjuSF9o+Fhk28DFYk=" }}}},
164
164
165
- {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/empty_read" ,
165
+ {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/key_read2" ,
166
+ HttpResponse{200 , absl::Cord (" abcd" ),
167
+ HeaderMap{
168
+ {" etag" , " \" 900150983cd24fb0d6963f7d28e17f72\" " },
169
+ {" x-amz-checksum-sha256" ,
170
+ " iNQmb9TmM40TuEX88olXnSCciXgjuSF9o+Fhk28DFYk=" },
171
+ {" x-amz-checksum-type" , " FULL_OBJECT" },
172
+ }}},
173
+
174
+ {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/key_read3" ,
166
175
HttpResponse{
167
- 200 , absl::Cord (),
168
- HeaderMap{{" etag" , " \" 900150983cd24fb0d6963f7d28e17f73\" " },
169
- {" x-amz-checksum-sha256" ,
170
- " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=" }}}},
176
+ 200 , absl::Cord (" abcd" ),
177
+ HeaderMap{
178
+ {" etag" , " \" 900150983cd24fb0d6963f7d28e17f72\" " },
179
+ {" x-amz-checksum-sha256" ,
180
+ " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=" }, // mismatch
181
+ {" x-amz-checksum-type" , " COMPOSITE" }, // not FULL_OBJECT
182
+ }}},
183
+
184
+ {" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/empty_read" ,
185
+ HttpResponse{200 , absl::Cord (),
186
+ HeaderMap{
187
+ {" etag" , " \" 900150983cd24fb0d6963f7d28e17f73\" " },
188
+ {" x-amz-checksum-sha256" ,
189
+ " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=" },
190
+ }}},
171
191
172
192
{" GET https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/sha_mismatch" ,
173
- HttpResponse{
174
- 200 , absl::Cord ( " xyz " ) ,
175
- HeaderMap{{ " etag " , " \" 900150983cd24fb0d6963f7d28e17f73 \" " } ,
176
- { " x-amz-checksum-sha256 " ,
177
- " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= " }}}},
193
+ HttpResponse{200 , absl::Cord ( " xyz " ),
194
+ HeaderMap{{ " etag " , " \" 900150983cd24fb0d6963f7d28e17f73 \" " } ,
195
+ { " x-amz-checksum-sha256 " ,
196
+ " 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= " } ,
197
+ { " x-amz-checksum-type " , " FULL_OBJECT " }}}},
178
198
179
199
{" PUT https://my-bucket.s3.us-east-1.amazonaws.com/tmp:1/key_write" ,
180
200
HttpResponse{
@@ -197,7 +217,19 @@ TEST(S3KeyValueStoreTest, SimpleMock_VirtualHost) {
197
217
.result ());
198
218
199
219
EXPECT_THAT (
200
- kvstore::Read (store, " key_read" ).result (),
220
+ kvstore::Read (store, " key_read1" ).result (),
221
+ MatchesKvsReadResult (absl::Cord (" abcd" ),
222
+ StorageGeneration::FromString (
223
+ " \" 900150983cd24fb0d6963f7d28e17f72\" " )));
224
+
225
+ EXPECT_THAT (
226
+ kvstore::Read (store, " key_read2" ).result (),
227
+ MatchesKvsReadResult (absl::Cord (" abcd" ),
228
+ StorageGeneration::FromString (
229
+ " \" 900150983cd24fb0d6963f7d28e17f72\" " )));
230
+
231
+ EXPECT_THAT (
232
+ kvstore::Read (store, " key_read3" ).result (),
201
233
MatchesKvsReadResult (absl::Cord (" abcd" ),
202
234
StorageGeneration::FromString (
203
235
" \" 900150983cd24fb0d6963f7d28e17f72\" " )));
0 commit comments