@@ -36,22 +36,40 @@ public class CopySourceInterceptorTest {
36
36
public static Collection <String []> parameters () throws Exception {
37
37
return Arrays .asList (new String [][] {
38
38
{"bucket" , "simpleKey" , null ,
39
- "/ bucket/simpleKey" },
39
+ "bucket/simpleKey" },
40
40
41
41
{"bucket" , "key/with/slashes" , null ,
42
- "/ bucket/key/with/slashes" },
42
+ "bucket/key/with/slashes" },
43
43
44
44
{"bucket" , "\uD83E \uDEA3 " , null ,
45
- "/ bucket/%F0%9F%AA%A3" },
45
+ "bucket/%F0%9F%AA%A3" },
46
46
47
47
{"bucket" , "specialChars._ +!#$&'()*,:;=?@\" " , null ,
48
- "/ bucket/specialChars._%20%2B%21%23%24%26%27%28%29%2A%2C%3A%3B%3D%3F%40%22" },
48
+ "bucket/specialChars._%20%2B%21%23%24%26%27%28%29%2A%2C%3A%3B%3D%3F%40%22" },
49
49
50
50
{"bucket" , "%20" , null ,
51
- "/ bucket/%2520" },
51
+ "bucket/%2520" },
52
52
53
53
{"bucket" , "key/with/version" , "ZJlqdTGGfnWjRWjm.WtQc5XRTNJn3sz_" ,
54
- "/bucket/key/with/version?versionId=ZJlqdTGGfnWjRWjm.WtQc5XRTNJn3sz_" }
54
+ "bucket/key/with/version?versionId=ZJlqdTGGfnWjRWjm.WtQc5XRTNJn3sz_" },
55
+
56
+ {"source-bucke-e00000144705073101keauk155va6smod88ynqbeta0--op-s3" , "CT-debug-Info-16" , null ,
57
+ "source-bucke-e00000144705073101keauk155va6smod88ynqbeta0--op-s3/CT-debug-Info-16" },
58
+
59
+ {"source-bucke-e00000144705073101keauk155va6smod88ynqbeta0--op-s3" , "CT-debug-Info-16" , "123" ,
60
+ "source-bucke-e00000144705073101keauk155va6smod88ynqbeta0--op-s3/CT-debug-Info-16?versionId=123" },
61
+
62
+ {"arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/my-bucket" , "my-key" , null ,
63
+ "arn%3Aaws%3As3-outposts%3Aus-west-2%3A123456789012%3Aoutpost/my-outpost/bucket/my-bucket/object/my-key" },
64
+
65
+ {"arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/my-bucket" , "my-key" , "123" ,
66
+ "arn%3Aaws%3As3-outposts%3Aus-west-2%3A123456789012%3Aoutpost/my-outpost/bucket/my-bucket/object/my-key?versionId=123" },
67
+
68
+ {"arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" , "my-key" , null ,
69
+ "arn%3Aaws%3As3%3Aus-west-2%3A123456789012%3Aaccesspoint/my-access-point/object/my-key" },
70
+
71
+ {"arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" , "my-key" , "123" ,
72
+ "arn%3Aaws%3As3%3Aus-west-2%3A123456789012%3Aaccesspoint/my-access-point/object/my-key?versionId=123" }
55
73
});
56
74
}
57
75
@@ -125,7 +143,10 @@ public void modifyRequest_Throws_whenCopySourceUsedWithSourceBucket_withUploadPa
125
143
126
144
@ Test
127
145
public void modifyRequest_Throws_whenSourceBucketNotSpecified_withCopyObjectRequest () {
128
- CopyObjectRequest originalRequest = CopyObjectRequest .builder ().build ();
146
+ CopyObjectRequest originalRequest = CopyObjectRequest .builder ()
147
+ .sourceKey (sourceKey )
148
+ .sourceVersionId (sourceVersionId )
149
+ .build ();
129
150
130
151
assertThatThrownBy (() -> {
131
152
interceptor .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
@@ -135,7 +156,10 @@ public void modifyRequest_Throws_whenSourceBucketNotSpecified_withCopyObjectRequ
135
156
136
157
@ Test
137
158
public void modifyRequest_Throws_whenSourceBucketNotSpecified_withUploadPartCopyRequest () {
138
- UploadPartCopyRequest originalRequest = UploadPartCopyRequest .builder ().build ();
159
+ UploadPartCopyRequest originalRequest = UploadPartCopyRequest .builder ()
160
+ .sourceKey (sourceKey )
161
+ .sourceVersionId (sourceVersionId )
162
+ .build ();
139
163
140
164
assertThatThrownBy (() -> {
141
165
interceptor .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
@@ -144,30 +168,28 @@ public void modifyRequest_Throws_whenSourceBucketNotSpecified_withUploadPartCopy
144
168
}
145
169
146
170
@ Test
147
- public void modifyRequest_insertsSlashObject_whenAccessPointArn () {
148
- String accessPointArn = "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" ;
171
+ public void modifyRequest_Throws_whenSourceKeyNotSpecified_withCopyObjectRequest () {
149
172
CopyObjectRequest originalRequest = CopyObjectRequest .builder ()
150
- .sourceBucket (accessPointArn )
151
- .sourceKey ( "my-key" )
173
+ .sourceBucket (sourceBucket )
174
+ .sourceVersionId ( sourceVersionId )
152
175
.build ();
153
- CopyObjectRequest modifiedRequest = (CopyObjectRequest ) interceptor
154
- .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
155
176
156
- assertThat (modifiedRequest .copySource ()).isEqualTo (
157
- "arn%3Aaws%3As3%3Aus-west-2%3A123456789012%3Aaccesspoint/my-access-point/object/my-key" );
177
+ assertThatThrownBy (() -> {
178
+ interceptor .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
179
+ }).isInstanceOf (IllegalArgumentException .class )
180
+ .hasMessage ("Parameter 'sourceKey' must not be null" );
158
181
}
159
182
160
183
@ Test
161
- public void modifyRequest_insertsSlashObject_whenOutpostArn () {
162
- String outpostBucketArn = "arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/my-bucket" ;
163
- CopyObjectRequest originalRequest = CopyObjectRequest .builder ()
164
- .sourceBucket (outpostBucketArn )
165
- .sourceKey ("my-key" )
166
- .build ();
167
- CopyObjectRequest modifiedRequest = (CopyObjectRequest ) interceptor
168
- .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
184
+ public void modifyRequest_Throws_whenSourceKeyNotSpecified_withUploadPartCopyRequest () {
185
+ UploadPartCopyRequest originalRequest = UploadPartCopyRequest .builder ()
186
+ .sourceBucket (sourceBucket )
187
+ .sourceVersionId (sourceVersionId )
188
+ .build ();
169
189
170
- assertThat (modifiedRequest .copySource ()).isEqualTo (
171
- "arn%3Aaws%3As3-outposts%3Aus-west-2%3A123456789012%3Aoutpost/my-outpost/bucket/my-bucket/object/my-key" );
190
+ assertThatThrownBy (() -> {
191
+ interceptor .modifyRequest (() -> originalRequest , new ExecutionAttributes ());
192
+ }).isInstanceOf (IllegalArgumentException .class )
193
+ .hasMessage ("Parameter 'sourceKey' must not be null" );
172
194
}
173
195
}
0 commit comments