diff options
author | gjoranv <gjoranv@gmail.com> | 2018-12-11 16:55:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-11 16:55:13 +0100 |
commit | 8f9594a7219835c3540b1cc40ec835838b147bbb (patch) | |
tree | 33ebf24837973ea863cd9663d2359e1570a5e1fa /configserver | |
parent | 478fb8d723cf19e7ed19853b26c6ce932057f58e (diff) | |
parent | 7bce09f5e9a5afdd7156eab4196ea4cbf102cad6 (diff) |
Merge pull request #7924 from vespa-engine/hmusum/avoid-tests-writing-to-module-directory
Refactor to avoid writing test data to module directory
Diffstat (limited to 'configserver')
3 files changed, 31 insertions, 36 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java index a8159405edd..2a8abacd24e 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java @@ -72,6 +72,10 @@ public class FileDirectory { return files[0]; } + File getRoot() { + return root; + } + private Long computeHash(File file) throws IOException { XXHash64 hasher = XXHashFactory.fastestInstance().hash64(); if (file.isDirectory()) { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java index 060f92aa2f4..16aaef048b5 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java @@ -93,6 +93,10 @@ public class FileServer { return hasFile(new FileReference(fileReference)); } + FileDirectory getRootDir() { + return root; + } + private boolean hasFile(FileReference reference) { try { return root.getFile(reference).exists(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java index 9ba8adf0aa4..43f5d135e45 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java @@ -5,7 +5,7 @@ import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.io.IOUtils; import com.yahoo.net.HostName; import com.yahoo.vespa.filedistribution.FileReferenceData; -import org.junit.After; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -13,7 +13,6 @@ import org.junit.rules.TemporaryFolder; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -24,55 +23,45 @@ import static org.junit.Assert.assertFalse; public class FileServerTest { - private FileServer fs = new FileServer(new File(".")); - private List<File> created = new LinkedList<>(); - - private void createCleanDir(String name) throws IOException{ - File dir = new File(name); - IOUtils.recursiveDeleteDir(dir); - IOUtils.createDirectory(dir.getName()); - File dummy = new File(dir.getName() +"/dummy"); - IOUtils.writeFile(dummy, "test", true); - assertTrue(dummy.delete()); - created.add(dir); - } + private FileServer fileServer; @Rule public TemporaryFolder temporaryFolder = new TemporaryFolder(); + @Before + public void setup() throws IOException { + File rootDir = new File(temporaryFolder.newFolder("fileserver-root").getAbsolutePath()); + fileServer = new FileServer(rootDir); + } + @Test public void requireThatExistingFileCanBeFound() throws IOException { - createCleanDir("123"); - IOUtils.writeFile("123/f1", "test", true); - assertTrue(fs.hasFile("123")); - cleanup(); + File dir = getFileServerRootDir(); + IOUtils.createDirectory(dir + "/123"); + IOUtils.writeFile(dir + "/123/f1", "test", false); + assertTrue(fileServer.hasFile("123")); } @Test - public void requireThatNonExistingFileCanNotBeFound() throws IOException { - assertFalse(fs.hasFile("12x")); - createCleanDir("12x"); - assertFalse(fs.hasFile("12x")); - cleanup(); + public void requireThatNonExistingFileCanNotBeFound() { + assertFalse(fileServer.hasFile("12x")); } @Test public void requireThatFileReferenceWithDirectoryCanBeFound() throws IOException { - createCleanDir("124/subdir"); - IOUtils.writeFile("124/subdir/f1", "test", false); - IOUtils.writeFile("124/subdir/f2", "test", false); - assertTrue(fs.hasFile("124/subdir")); - cleanup(); + File dir = getFileServerRootDir(); + IOUtils.writeFile(dir + "/124/subdir/f1", "test", false); + IOUtils.writeFile(dir + "/124/subdir/f2", "test", false); + assertTrue(fileServer.hasFile("124/subdir")); } @Test public void requireThatWeCanReplayFile() throws IOException, InterruptedException, ExecutionException { - createCleanDir("12y"); - IOUtils.writeFile("12y/f1", "dummy-data", true); + File dir = getFileServerRootDir(); + IOUtils.writeFile(dir + "/12y/f1", "dummy-data", true); CompletableFuture<byte []> content = new CompletableFuture<>(); - fs.startFileServing("12y", new FileReceiver(content)); + fileServer.startFileServing("12y", new FileReceiver(content)); assertEquals(new String(content.get()), "dummy-data"); - cleanup(); } @Test @@ -121,10 +110,8 @@ public class FileServerTest { } } - @After - public void cleanup() { - created.forEach(IOUtils::recursiveDeleteDir); - created.clear(); + private File getFileServerRootDir() { + return fileServer.getRootDir().getRoot(); } } |