Search in sources :

Example 1 with DAVUploadFeature

use of ch.cyberduck.core.dav.DAVUploadFeature in project cyberduck by iterate-ch.

the class MicrosoftIISDAVLockFeatureTest method testLock.

@Test
public void testLock() throws Exception {
    final Host host = new Host(new DAVProtocol(), "winbuild.iterate.ch", new Credentials(System.getProperties().getProperty("webdav.iis.user"), System.getProperties().getProperty("webdav.iis.password")));
    host.setDefaultPath("/WebDAV");
    final DAVSession session = new DAVSession(host, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    session.open(Proxy.DIRECT, new DisabledHostKeyCallback(), new DisabledLoginCallback(), new DisabledCancelCallback());
    session.login(Proxy.DIRECT, new DisabledLoginCallback(), new DisabledCancelCallback());
    final TransferStatus status = new TransferStatus();
    final Local local = new Local(System.getProperty("java.io.tmpdir"), new AlphanumericRandomStringService().random());
    final byte[] content = "test".getBytes(StandardCharsets.UTF_8);
    final OutputStream out = local.getOutputStream(false);
    IOUtils.write(content, out);
    out.close();
    status.setLength(content.length);
    final Path test = new Path(new DefaultHomeFinderService(session).find(), new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file));
    final HttpUploadFeature upload = new DAVUploadFeature(session);
    upload.upload(test, local, new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), status, new DisabledConnectionCallback());
    final String lock = new DAVLockFeature(session).lock(test);
    assertTrue(new MicrosoftIISDAVFindFeature(session).find(test));
    final PathAttributes attributes = new MicrosoftIISDAVListService(session, new MicrosoftIISDAVAttributesFinderFeature(session)).list(test.getParent(), new DisabledListProgressListener()).get(test).attributes();
    assertEquals(content.length, attributes.getSize(), 0L);
    assertEquals(content.length, new DAVWriteFeature(session).append(test, status.withRemote(attributes)).size, 0L);
    {
        final byte[] buffer = new byte[content.length];
        IOUtils.readFully(new MicrosoftIISDAVReadFeature(session).read(test, new TransferStatus(), new DisabledConnectionCallback()), buffer);
        assertArrayEquals(content, buffer);
    }
    {
        final byte[] buffer = new byte[content.length - 1];
        final InputStream in = new MicrosoftIISDAVReadFeature(session).read(test, new TransferStatus().withLength(content.length - 1L).append(true).withOffset(1L), new DisabledConnectionCallback());
        IOUtils.readFully(in, buffer);
        in.close();
        final byte[] reference = new byte[content.length - 1];
        System.arraycopy(content, 1, reference, 0, content.length - 1);
        assertArrayEquals(reference, buffer);
    }
    new DAVLockFeature(session).unlock(test, lock);
    new DAVDeleteFeature(session).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
}
Also used : Delete(ch.cyberduck.core.features.Delete) DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) DisabledListProgressListener(ch.cyberduck.core.DisabledListProgressListener) OutputStream(java.io.OutputStream) DAVSession(ch.cyberduck.core.dav.DAVSession) DAVDeleteFeature(ch.cyberduck.core.dav.DAVDeleteFeature) DAVWriteFeature(ch.cyberduck.core.dav.DAVWriteFeature) TransferStatus(ch.cyberduck.core.transfer.TransferStatus) DAVLockFeature(ch.cyberduck.core.dav.DAVLockFeature) Path(ch.cyberduck.core.Path) DisabledStreamListener(ch.cyberduck.core.io.DisabledStreamListener) InputStream(java.io.InputStream) PathAttributes(ch.cyberduck.core.PathAttributes) Local(ch.cyberduck.core.Local) Host(ch.cyberduck.core.Host) DefaultHomeFinderService(ch.cyberduck.core.shared.DefaultHomeFinderService) HttpUploadFeature(ch.cyberduck.core.http.HttpUploadFeature) DisabledCancelCallback(ch.cyberduck.core.DisabledCancelCallback) BandwidthThrottle(ch.cyberduck.core.io.BandwidthThrottle) DAVProtocol(ch.cyberduck.core.dav.DAVProtocol) DisabledHostKeyCallback(ch.cyberduck.core.DisabledHostKeyCallback) DisabledLoginCallback(ch.cyberduck.core.DisabledLoginCallback) AlphanumericRandomStringService(ch.cyberduck.core.AlphanumericRandomStringService) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) Credentials(ch.cyberduck.core.Credentials) DAVUploadFeature(ch.cyberduck.core.dav.DAVUploadFeature) DisabledConnectionCallback(ch.cyberduck.core.DisabledConnectionCallback) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Example 2 with DAVUploadFeature

use of ch.cyberduck.core.dav.DAVUploadFeature in project cyberduck by iterate-ch.

the class MicrosoftIISDAVReadFeatureTest method testReadMicrosoft.

@Test
public void testReadMicrosoft() throws Exception {
    final Host host = new Host(new DAVProtocol(), "winbuild.iterate.ch", new Credentials(System.getProperties().getProperty("webdav.iis.user"), System.getProperties().getProperty("webdav.iis.password")));
    host.setDefaultPath("/WebDAV");
    final DAVSession session = new DAVSession(host, new DisabledX509TrustManager(), new DefaultX509KeyManager());
    session.open(Proxy.DIRECT, new DisabledHostKeyCallback(), new DisabledLoginCallback(), new DisabledCancelCallback());
    session.login(Proxy.DIRECT, new DisabledLoginCallback(), new DisabledCancelCallback());
    final Path test = new DAVTouchFeature(session).touch(new Path(new DefaultHomeFinderService(session).find(), new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file)), new TransferStatus());
    final Local local = new Local(System.getProperty("java.io.tmpdir"), new AlphanumericRandomStringService().random());
    final byte[] content = RandomUtils.nextBytes(1023);
    final OutputStream out = local.getOutputStream(false);
    assertNotNull(out);
    IOUtils.write(content, out);
    out.close();
    new DAVUploadFeature(session).upload(test, local, new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), new TransferStatus().withLength(content.length), new DisabledConnectionCallback());
    assertTrue(new MicrosoftIISDAVFindFeature(session).find(test));
    assertEquals(content.length, new MicrosoftIISDAVListService(session, new MicrosoftIISDAVAttributesFinderFeature(session)).list(test.getParent(), new DisabledListProgressListener()).get(test).attributes().getSize(), 0L);
    final TransferStatus status = new TransferStatus();
    status.setLength(-1L);
    final InputStream in = new MicrosoftIISDAVReadFeature(session).read(test, status, new DisabledConnectionCallback());
    assertNotNull(in);
    final ByteArrayOutputStream buffer = new ByteArrayOutputStream(content.length);
    new StreamCopier(status, status).transfer(in, buffer);
    final byte[] reference = new byte[content.length];
    System.arraycopy(content, 0, reference, 0, content.length);
    assertArrayEquals(reference, buffer.toByteArray());
    in.close();
    new DAVDeleteFeature(session).delete(Collections.<Path>singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
}
Also used : Delete(ch.cyberduck.core.features.Delete) DisabledX509TrustManager(ch.cyberduck.core.ssl.DisabledX509TrustManager) DisabledListProgressListener(ch.cyberduck.core.DisabledListProgressListener) ByteArrayOutputStream(java.io.ByteArrayOutputStream) OutputStream(java.io.OutputStream) DAVSession(ch.cyberduck.core.dav.DAVSession) DAVDeleteFeature(ch.cyberduck.core.dav.DAVDeleteFeature) TransferStatus(ch.cyberduck.core.transfer.TransferStatus) Path(ch.cyberduck.core.Path) DisabledStreamListener(ch.cyberduck.core.io.DisabledStreamListener) InputStream(java.io.InputStream) Local(ch.cyberduck.core.Local) Host(ch.cyberduck.core.Host) DefaultHomeFinderService(ch.cyberduck.core.shared.DefaultHomeFinderService) ByteArrayOutputStream(java.io.ByteArrayOutputStream) DisabledCancelCallback(ch.cyberduck.core.DisabledCancelCallback) BandwidthThrottle(ch.cyberduck.core.io.BandwidthThrottle) DAVProtocol(ch.cyberduck.core.dav.DAVProtocol) DisabledHostKeyCallback(ch.cyberduck.core.DisabledHostKeyCallback) DisabledLoginCallback(ch.cyberduck.core.DisabledLoginCallback) AlphanumericRandomStringService(ch.cyberduck.core.AlphanumericRandomStringService) DefaultX509KeyManager(ch.cyberduck.core.ssl.DefaultX509KeyManager) DAVTouchFeature(ch.cyberduck.core.dav.DAVTouchFeature) Credentials(ch.cyberduck.core.Credentials) DAVUploadFeature(ch.cyberduck.core.dav.DAVUploadFeature) DisabledConnectionCallback(ch.cyberduck.core.DisabledConnectionCallback) StreamCopier(ch.cyberduck.core.io.StreamCopier) AbstractDAVTest(ch.cyberduck.core.dav.AbstractDAVTest) Test(org.junit.Test) IntegrationTest(ch.cyberduck.test.IntegrationTest)

Aggregations

AlphanumericRandomStringService (ch.cyberduck.core.AlphanumericRandomStringService)2 Credentials (ch.cyberduck.core.Credentials)2 DisabledCancelCallback (ch.cyberduck.core.DisabledCancelCallback)2 DisabledConnectionCallback (ch.cyberduck.core.DisabledConnectionCallback)2 DisabledHostKeyCallback (ch.cyberduck.core.DisabledHostKeyCallback)2 DisabledListProgressListener (ch.cyberduck.core.DisabledListProgressListener)2 DisabledLoginCallback (ch.cyberduck.core.DisabledLoginCallback)2 Host (ch.cyberduck.core.Host)2 Local (ch.cyberduck.core.Local)2 Path (ch.cyberduck.core.Path)2 DAVDeleteFeature (ch.cyberduck.core.dav.DAVDeleteFeature)2 DAVProtocol (ch.cyberduck.core.dav.DAVProtocol)2 DAVSession (ch.cyberduck.core.dav.DAVSession)2 DAVUploadFeature (ch.cyberduck.core.dav.DAVUploadFeature)2 Delete (ch.cyberduck.core.features.Delete)2 BandwidthThrottle (ch.cyberduck.core.io.BandwidthThrottle)2 DisabledStreamListener (ch.cyberduck.core.io.DisabledStreamListener)2 DefaultHomeFinderService (ch.cyberduck.core.shared.DefaultHomeFinderService)2 DefaultX509KeyManager (ch.cyberduck.core.ssl.DefaultX509KeyManager)2 DisabledX509TrustManager (ch.cyberduck.core.ssl.DisabledX509TrustManager)2