Skip to content

Commit 3b6d56a

Browse files
committed
Add test.
1 parent a97ea04 commit 3b6d56a

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

s3/src/test/java/ch/cyberduck/core/s3/S3DirectoryFeatureTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,4 +296,20 @@ public void testBackslash() throws Exception {
296296
new S3DefaultDeleteFeature(session, new S3AccessControlListFeature(session)).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
297297
assertFalse(new S3FindFeature(session, new S3AccessControlListFeature(session)).find(test));
298298
}
299+
300+
@Test
301+
public void testTouchUriEncoding() throws Exception {
302+
final Path container = new Path("test-eu-central-1-cyberduck", EnumSet.of(Path.Type.volume, Path.Type.directory));
303+
final S3AccessControlListFeature acl = new S3AccessControlListFeature(session);
304+
final Path directory = new S3DirectoryFeature(session, new S3WriteFeature(session, new S3AccessControlListFeature(session)), new S3AccessControlListFeature(session)).mkdir(
305+
new Path(container, String.format("%s-+*~@([", new AsciiRandomStringService().random()), EnumSet.of(Path.Type.file)), new TransferStatus());
306+
assertNull(directory.attributes().getVersionId());
307+
assertTrue(new S3FindFeature(session, acl).find(directory));
308+
assertEquals(directory.attributes(), new S3AttributesFinderFeature(session, acl).find(directory));
309+
final Path test = new S3TouchFeature(session, acl).touch(
310+
new Path(directory, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file)), new TransferStatus());
311+
assertTrue(new S3FindFeature(session, acl).find(test));
312+
new S3DefaultDeleteFeature(session, acl).delete(Arrays.asList(test, directory), new DisabledLoginCallback(), new Delete.DisabledCallback());
313+
assertFalse(new S3FindFeature(session, acl).find(directory));
314+
}
299315
}

0 commit comments

Comments
 (0)