summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2018-12-11 16:55:13 +0100
committerGitHub <noreply@github.com>2018-12-11 16:55:13 +0100
commit8f9594a7219835c3540b1cc40ec835838b147bbb (patch)
tree33ebf24837973ea863cd9663d2359e1570a5e1fa /configserver
parent478fb8d723cf19e7ed19853b26c6ce932057f58e (diff)
parent7bce09f5e9a5afdd7156eab4196ea4cbf102cad6 (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')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java59
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();
}
}