mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-08-18 21:26:02 +00:00
Refactored WebDav test servers
* Moved common code into own type
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016 Markus Kreusch and others.
|
||||
* This file is licensed under the terms of the MIT license.
|
||||
* See the LICENSE.txt file for more info.
|
||||
*
|
||||
* Contributors:
|
||||
* Markus Kreusch - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.cryptomator.frontend.webdav;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.EnumSet;
|
||||
|
||||
import javax.servlet.DispatcherType;
|
||||
|
||||
import org.cryptomator.filesystem.FileSystem;
|
||||
import org.cryptomator.frontend.webdav.filters.LoggingHttpFilter;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
|
||||
class FileSystemWebDabServer {
|
||||
|
||||
private static final WebDavComponent WEVDAV_COMP = DaggerWebDavComponent.create();
|
||||
|
||||
private final FileSystem fileSystem;
|
||||
|
||||
public FileSystemWebDabServer(FileSystem fileSystem) {
|
||||
this.fileSystem = fileSystem;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
tryRun();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private void tryRun() throws Exception {
|
||||
WebDavServer server = WEVDAV_COMP.server();
|
||||
server.setPort(8080);
|
||||
server.start();
|
||||
|
||||
ServletContextHandler servlet = server.addServlet(fileSystem, URI.create("http://localhost:8080/foo"));
|
||||
servlet.addFilter(LoggingHttpFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
|
||||
servlet.start();
|
||||
|
||||
System.out.println("Server started. Press any key to stop it...");
|
||||
System.in.read();
|
||||
server.stop();
|
||||
}
|
||||
|
||||
}
|
||||
+1
-20
@@ -8,39 +8,20 @@
|
||||
*******************************************************************************/
|
||||
package org.cryptomator.frontend.webdav;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.EnumSet;
|
||||
|
||||
import javax.servlet.DispatcherType;
|
||||
|
||||
import org.cryptomator.filesystem.FileSystem;
|
||||
import org.cryptomator.filesystem.crypto.CryptoEngineTestModule;
|
||||
import org.cryptomator.filesystem.crypto.CryptoFileSystemDelegate;
|
||||
import org.cryptomator.filesystem.crypto.CryptoFileSystemTestComponent;
|
||||
import org.cryptomator.filesystem.crypto.DaggerCryptoFileSystemTestComponent;
|
||||
import org.cryptomator.filesystem.inmem.InMemoryFileSystem;
|
||||
import org.cryptomator.frontend.webdav.filters.LoggingHttpFilter;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
public class InMemoryWebDavServer {
|
||||
|
||||
private static final CryptoFileSystemTestComponent CRYPTO_FS_COMP = DaggerCryptoFileSystemTestComponent.builder().cryptoEngineModule(new CryptoEngineTestModule()).build();
|
||||
private static final WebDavComponent WEVDAV_COMP = DaggerWebDavComponent.create();
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
WebDavServer server = WEVDAV_COMP.server();
|
||||
server.setPort(8080);
|
||||
server.start();
|
||||
|
||||
FileSystem fileSystem = cryptoFileSystem();
|
||||
ServletContextHandler servlet = server.addServlet(fileSystem, URI.create("http://localhost:8080/foo"));
|
||||
servlet.addFilter(LoggingHttpFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
|
||||
servlet.start();
|
||||
|
||||
System.out.println("Server started. Press any key to stop it...");
|
||||
System.in.read();
|
||||
server.stop();
|
||||
new FileSystemWebDabServer(cryptoFileSystem()).run();
|
||||
}
|
||||
|
||||
private static FileSystem cryptoFileSystem() {
|
||||
|
||||
+2
-20
@@ -12,42 +12,24 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.net.URI;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.servlet.DispatcherType;
|
||||
|
||||
import org.cryptomator.filesystem.FileSystem;
|
||||
import org.cryptomator.filesystem.nio.NioFileSystem;
|
||||
import org.cryptomator.frontend.webdav.filters.LoggingHttpFilter;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
|
||||
public class NioWebDavServer {
|
||||
|
||||
private static final String PATH_TO_SERVE_PROPERTY = "pathToServe";
|
||||
private static final WebDavComponent WEVDAV_COMP = DaggerWebDavComponent.create();
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
WebDavServer server = WEVDAV_COMP.server();
|
||||
server.setPort(8080);
|
||||
server.start();
|
||||
|
||||
FileSystem fileSystem = setupFilesystem();
|
||||
ServletContextHandler servlet = server.addServlet(fileSystem, URI.create("http://localhost:8080/foo"));
|
||||
servlet.addFilter(LoggingHttpFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
|
||||
servlet.start();
|
||||
|
||||
System.out.println("Server started. Press any key to stop it...");
|
||||
System.in.read();
|
||||
server.stop();
|
||||
new FileSystemWebDabServer(nioFileSystem()).run();
|
||||
}
|
||||
|
||||
private static FileSystem setupFilesystem() {
|
||||
private static FileSystem nioFileSystem() {
|
||||
return NioFileSystem.rootedAt(pathToServe());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user