1 package ch
.cyberduck
.core
.ftp
;
3 import ch
.cyberduck
.core
.AbstractTestCase
;
4 import ch
.cyberduck
.core
.Credentials
;
5 import ch
.cyberduck
.core
.DisabledCancelCallback
;
6 import ch
.cyberduck
.core
.DisabledHostKeyCallback
;
7 import ch
.cyberduck
.core
.DisabledListProgressListener
;
8 import ch
.cyberduck
.core
.DisabledLoginCallback
;
9 import ch
.cyberduck
.core
.DisabledPasswordStore
;
10 import ch
.cyberduck
.core
.DisabledProgressListener
;
11 import ch
.cyberduck
.core
.DisabledTranscriptListener
;
12 import ch
.cyberduck
.core
.Host
;
13 import ch
.cyberduck
.core
.Path
;
14 import ch
.cyberduck
.core
.Permission
;
15 import ch
.cyberduck
.core
.shared
.DefaultHomeFinderService
;
16 import ch
.cyberduck
.core
.shared
.DefaultTouchFeature
;
18 import org
.junit
.Test
;
20 import java
.util
.Collections
;
21 import java
.util
.EnumSet
;
22 import java
.util
.UUID
;
24 import static org
.junit
.Assert
.*;
29 public class FTPUnixPermissionFeatureTest
extends AbstractTestCase
{
32 public void testSetUnixPermission() throws Exception
{
33 final Host host
= new Host(new FTPTLSProtocol(), "test.cyberduck.ch", new Credentials(
34 properties
.getProperty("ftp.user"), properties
.getProperty("ftp.password")
36 final FTPSession session
= new FTPSession(host
);
37 assertNotNull(session
.open(new DisabledHostKeyCallback(), new DisabledTranscriptListener()));
38 assertTrue(session
.isConnected());
39 assertNotNull(session
.getClient());
40 session
.login(new DisabledPasswordStore(), new DisabledLoginCallback(), new DisabledCancelCallback());
41 final Path home
= new DefaultHomeFinderService(session
).find();
42 final long modified
= System
.currentTimeMillis();
43 final Path test
= new Path(new DefaultHomeFinderService(session
).find(), UUID
.randomUUID().toString(), EnumSet
.of(Path
.Type
.file
));
44 new DefaultTouchFeature(session
).touch(test
);
45 new FTPUnixPermissionFeature(session
).setUnixPermission(test
, new Permission(666));
46 assertEquals("666", session
.list(home
, new DisabledListProgressListener()).get(test
).attributes().getPermission().getMode());
47 new FTPDeleteFeature(session
).delete(Collections
.singletonList(test
), new DisabledLoginCallback(), new DisabledProgressListener());