Search in sources :

Example 1 with S3Session

use of ch.cyberduck.core.s3.S3Session in project cyberduck by iterate-ch.

the class CloudFrontDistributionConfigurationTest method testGetOrigin.

@Test
public void testGetOrigin() throws Exception {
    final S3Session session = new S3Session(new Host(new S3Protocol(), new S3Protocol().getDefaultHostname()));
    final CloudFrontDistributionConfiguration configuration = new CloudFrontDistributionConfiguration(session, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    assertEquals("bbb.s3.amazonaws.com", configuration.getOrigin(new Path("/bbb", EnumSet.of(Path.Type.directory, Path.Type.volume)), Distribution.DOWNLOAD).getHost());
}
Also used : Path(ch.cyberduck.core.Path) DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) S3Session(ch.cyberduck.core.s3.S3Session) Host(ch.cyberduck.core.Host) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) S3Protocol(ch.cyberduck.core.s3.S3Protocol) AbstractS3Test(ch.cyberduck.core.s3.AbstractS3Test) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Example 2 with S3Session

use of ch.cyberduck.core.s3.S3Session in project cyberduck by iterate-ch.

the class CloudFrontDistributionConfigurationTest method testGetName.

@Test
public void testGetName() {
    final S3Session session = new S3Session(new Host(new S3Protocol(), new S3Protocol().getDefaultHostname()));
    final DistributionConfiguration configuration = new CloudFrontDistributionConfiguration(session, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    assertEquals("Amazon CloudFront", configuration.getName());
}
Also used : DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) S3Session(ch.cyberduck.core.s3.S3Session) DistributionConfiguration(ch.cyberduck.core.cdn.DistributionConfiguration) Host(ch.cyberduck.core.Host) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) S3Protocol(ch.cyberduck.core.s3.S3Protocol) AbstractS3Test(ch.cyberduck.core.s3.AbstractS3Test) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Example 3 with S3Session

use of ch.cyberduck.core.s3.S3Session in project cyberduck by iterate-ch.

the class S3SingleTransferWorkerTest method testTransferredSizeRepeat.

@Test
public void testTransferredSizeRepeat() throws Exception {
    final Local local = new Local(System.getProperty("java.io.tmpdir"), new AlphanumericRandomStringService().random());
    // Minimum multipart upload size
    final byte[] content = new byte[6 * 1024 * 1024];
    new Random().nextBytes(content);
    final OutputStream out = local.getOutputStream(false);
    IOUtils.write(content, out);
    out.close();
    final ProtocolFactory factory = new ProtocolFactory(new HashSet<>(Collections.singleton(new S3Protocol())));
    final Profile profile = new ProfilePlistReader(factory).read(this.getClass().getResourceAsStream("/S3 (HTTPS).cyberduckprofile"));
    final Host host = new Host(profile, profile.getDefaultHostname(), new Credentials(System.getProperties().getProperty("s3.key"), System.getProperties().getProperty("s3.secret")));
    final AtomicBoolean failed = new AtomicBoolean();
    final S3Session session = new S3Session(host, new DefaultX509TrustManager(), new DefaultX509KeyManager()) {

        @Override
        @SuppressWarnings("unchecked")
        public <T> T _getFeature(final Class<T> type) {
            if (type == Upload.class) {
                return (T) new S3MultipartUploadService(this, new S3WriteFeature(this), 5 * 1024L * 1024L, 5) {

                    @Override
                    protected InputStream decorate(final InputStream in, final MessageDigest digest) {
                        if (failed.get()) {
                            // Second attempt successful
                            return in;
                        }
                        return new CountingInputStream(in) {

                            @Override
                            protected void beforeRead(final int n) throws IOException {
                                super.beforeRead(n);
                                if (this.getByteCount() >= 1024L * 1024L) {
                                    failed.set(true);
                                    throw new SocketTimeoutException();
                                }
                            }
                        };
                    }
                };
            }
            return super._getFeature(type);
        }
    };
    session.open(Proxy.DIRECT, new DisabledHostKeyCallback(), new DisabledLoginCallback(), new DisabledCancelCallback());
    session.login(Proxy.DIRECT, new DisabledLoginCallback(), new DisabledCancelCallback());
    final Path home = new Path("test-eu-central-1-cyberduck", EnumSet.of(Path.Type.volume, Path.Type.directory));
    final Path test = new Path(home, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file));
    final Transfer t = new UploadTransfer(session.getHost(), test, local);
    final BytecountStreamListener counter = new BytecountStreamListener();
    assertTrue(new SingleTransferWorker(session, session, t, new TransferOptions(), new TransferSpeedometer(t), new DisabledTransferPrompt() {

        @Override
        public TransferAction prompt(final TransferItem file) {
            return TransferAction.overwrite;
        }
    }, new DisabledTransferErrorCallback(), new DisabledProgressListener(), counter, new DisabledLoginCallback(), new DisabledNotificationService()) {
    }.run(session));
    local.delete();
    assertTrue(t.isComplete());
    assertEquals(content.length, new S3AttributesFinderFeature(session).find(test).getSize());
    assertEquals(content.length, counter.getRecv(), 0L);
    assertEquals(content.length, counter.getSent(), 0L);
    assertTrue(failed.get());
    new S3DefaultDeleteFeature(session).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
}
Also used : Delete(ch.cyberduck.core.features.Delete) S3AttributesFinderFeature(ch.cyberduck.core.s3.S3AttributesFinderFeature) S3MultipartUploadService(ch.cyberduck.core.s3.S3MultipartUploadService) TransferAction(ch.cyberduck.core.transfer.TransferAction) OutputStream(java.io.OutputStream) StatusOutputStream(ch.cyberduck.core.io.StatusOutputStream) ProfilePlistReader(ch.cyberduck.core.serializer.impl.dd.ProfilePlistReader) TransferOptions(ch.cyberduck.core.transfer.TransferOptions) Random(java.util.Random) MessageDigest(java.security.MessageDigest) DisabledTransferErrorCallback(ch.cyberduck.core.transfer.DisabledTransferErrorCallback) DisabledNotificationService(ch.cyberduck.core.notification.DisabledNotificationService) S3Session(ch.cyberduck.core.s3.S3Session) S3DefaultDeleteFeature(ch.cyberduck.core.s3.S3DefaultDeleteFeature) ByteArrayInputStream(java.io.ByteArrayInputStream) CountingInputStream(org.apache.commons.io.input.CountingInputStream) InputStream(java.io.InputStream) CountingInputStream(org.apache.commons.io.input.CountingInputStream) IOException(java.io.IOException) S3Protocol(ch.cyberduck.core.s3.S3Protocol) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) DisabledTransferPrompt(ch.cyberduck.core.transfer.DisabledTransferPrompt) SocketTimeoutException(java.net.SocketTimeoutException) UploadTransfer(ch.cyberduck.core.transfer.UploadTransfer) DownloadTransfer(ch.cyberduck.core.transfer.DownloadTransfer) Transfer(ch.cyberduck.core.transfer.Transfer) UploadTransfer(ch.cyberduck.core.transfer.UploadTransfer) TransferSpeedometer(ch.cyberduck.core.transfer.TransferSpeedometer) S3WriteFeature(ch.cyberduck.core.s3.S3WriteFeature) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) TransferItem(ch.cyberduck.core.transfer.TransferItem) DefaultX509TrustManager(ch.cyberduck.core.ssl.DefaultX509TrustManager) AbstractS3Test(ch.cyberduck.core.s3.AbstractS3Test) IntegrationTest(ch.cyberduck.test.IntegrationTest) Test(org.junit.Test)

Example 4 with S3Session

use of ch.cyberduck.core.s3.S3Session in project cyberduck by iterate-ch.

the class WebsiteCloudFrontDistributionConfigurationTest method testGetMethodsAWS.

@Test
public void testGetMethodsAWS() {
    final S3Session session = new S3Session(new Host(new S3Protocol()));
    final WebsiteCloudFrontDistributionConfiguration configuration = new WebsiteCloudFrontDistributionConfiguration(session, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    assertTrue(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.DOWNLOAD));
    assertTrue(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.STREAMING));
    assertFalse(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.CUSTOM));
    assertTrue(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.WEBSITE_CDN));
    assertTrue(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.WEBSITE));
    assertFalse(configuration.getMethods(new Path(new Path("/", EnumSet.of(Path.Type.directory, Path.Type.volume)), "bbb_b", EnumSet.of(Path.Type.directory, Path.Type.volume))).contains(Distribution.WEBSITE));
}
Also used : Path(ch.cyberduck.core.Path) DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) S3Session(ch.cyberduck.core.s3.S3Session) Host(ch.cyberduck.core.Host) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) S3Protocol(ch.cyberduck.core.s3.S3Protocol) AbstractS3Test(ch.cyberduck.core.s3.AbstractS3Test) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Example 5 with S3Session

use of ch.cyberduck.core.s3.S3Session in project cyberduck by iterate-ch.

the class WebsiteCloudFrontDistributionConfigurationTest method testFeatures.

@Test
public void testFeatures() {
    final WebsiteCloudFrontDistributionConfiguration d = new WebsiteCloudFrontDistributionConfiguration(new S3Session(new Host(new S3Protocol(), new S3Protocol().getDefaultHostname())), new DisabledX509TrustManager(), new DefaultX509KeyManager());
    assertNotNull(d.getFeature(Purge.class, Distribution.DOWNLOAD));
    assertNotNull(d.getFeature(Purge.class, Distribution.WEBSITE_CDN));
    assertNull(d.getFeature(Purge.class, Distribution.STREAMING));
    assertNull(d.getFeature(Purge.class, Distribution.WEBSITE));
    assertNotNull(d.getFeature(Index.class, Distribution.DOWNLOAD));
    assertNotNull(d.getFeature(Index.class, Distribution.WEBSITE_CDN));
    assertNotNull(d.getFeature(Index.class, Distribution.WEBSITE));
    assertNull(d.getFeature(Index.class, Distribution.STREAMING));
    assertNotNull(d.getFeature(DistributionLogging.class, Distribution.DOWNLOAD));
    assertNotNull(d.getFeature(Cname.class, Distribution.DOWNLOAD));
    assertNotNull(d.getFeature(Cname.class, Distribution.WEBSITE));
}
Also used : DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) S3Session(ch.cyberduck.core.s3.S3Session) Purge(ch.cyberduck.core.cdn.features.Purge) DistributionLogging(ch.cyberduck.core.cdn.features.DistributionLogging) Host(ch.cyberduck.core.Host) Index(ch.cyberduck.core.cdn.features.Index) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) Cname(ch.cyberduck.core.cdn.features.Cname) S3Protocol(ch.cyberduck.core.s3.S3Protocol) AbstractS3Test(ch.cyberduck.core.s3.AbstractS3Test) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Aggregations

S3Protocol (ch.cyberduck.core.s3.S3Protocol)13 S3Session (ch.cyberduck.core.s3.S3Session)13 IntegrationTest (ch.cyberduck.test.IntegrationTest)13 Test (org.junit.Test)13 DefaultX509KeyManager (ch.cyberduck.core.ssl.DefaultX509KeyManager)12 Host (ch.cyberduck.core.Host)11 DisabledX509TrustManager (ch.cyberduck.core.ssl.DisabledX509TrustManager)11 AbstractS3Test (ch.cyberduck.core.s3.AbstractS3Test)10 Path (ch.cyberduck.core.Path)6 DisabledCancelCallback (ch.cyberduck.core.DisabledCancelCallback)5 DisabledHostKeyCallback (ch.cyberduck.core.DisabledHostKeyCallback)5 DisabledLoginCallback (ch.cyberduck.core.DisabledLoginCallback)5 Credentials (ch.cyberduck.core.Credentials)4 HostParser (ch.cyberduck.core.HostParser)3 ProtocolFactory (ch.cyberduck.core.ProtocolFactory)3 Session (ch.cyberduck.core.Session)3 ProfilePlistReader (ch.cyberduck.core.serializer.impl.dd.ProfilePlistReader)3 Collections (java.util.Collections)3 Set (java.util.Set)3 Category (org.junit.experimental.categories.Category)3