package be.bagofwords.virtualfile.remote; import be.bagofwords.application.ApplicationContext; import be.bagofwords.application.MinimalApplicationContextFactory; import be.bagofwords.util.Utils; import be.bagofwords.virtualfile.VirtualFile; import be.bagofwords.virtualfile.local.LocalFileService; import org.apache.commons.io.IOUtils; import org.junit.Assert; import org.junit.Test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; public class TestRemoteFileService { @Test public void testWriteAndRead() throws IOException { Map<String, String> config = new HashMap<>(); config.put("data_directory", "/tmp/myFiles"); ApplicationContext context = new MinimalApplicationContextFactory().createApplicationContext(config); context.registerBean(new LocalFileService(context)); RemoteFileServer remoteFileServer = new RemoteFileServer(context); remoteFileServer.start(); Utils.threadSleep(1000); //Make sure server has started RemoteFileService remoteFileService = new RemoteFileService(context); VirtualFile dir = remoteFileService.getRootDirectory(); VirtualFile file = dir.getFile("test1"); OutputStream os1 = file.createOutputStream(); IOUtils.write("test", os1); os1.close(); BufferedReader rdr = new BufferedReader(new InputStreamReader(file.createInputStream())); Assert.assertEquals("test", rdr.readLine()); rdr.close(); remoteFileServer.terminate(); } }