aboutsummaryrefslogtreecommitdiffstats
path: root/filedistribution/src/test
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-05-25 07:20:42 +0200
committerHarald Musum <musum@yahooinc.com>2022-05-25 07:20:42 +0200
commitda7c902ab345669dd8f4cf86712c80762202295e (patch)
tree83e4f786f61869e5d5b83a92e6cfb7a8651c3d9a /filedistribution/src/test
parent3f26aca24a0f2458638aceac7a2a5e57fb3a00f7 (diff)
Support compressing files (not just directories) in file distribution
Use file distribution compression feature flags and support compressing single files
Diffstat (limited to 'filedistribution/src/test')
-rw-r--r--filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReceiverTest.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReceiverTest.java b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReceiverTest.java
index 5c15f945ae3..4996a439cfe 100644
--- a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReceiverTest.java
+++ b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReceiverTest.java
@@ -15,6 +15,8 @@ import java.io.FileWriter;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.file.Files;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
import static com.yahoo.vespa.filedistribution.FileReferenceData.Type.compressed;
import static org.junit.Assert.assertEquals;
@@ -65,6 +67,21 @@ public class FileReceiverTest {
assertEquals("2", IOUtils.readFile(new File(downloadDir, "b")));
}
+ @Test
+ public void receiveCompressedSingleFile() throws IOException{
+ File inputFile = temporaryFolder.newFile("a-file");
+ FileWriter writer = new FileWriter(inputFile);
+ String content = IntStream.range(1, 1000).mapToObj(a -> "surely this can be compressed").collect(Collectors.joining(","));
+ writer.write(content);
+ writer.close();
+
+ File tempFile = temporaryFolder.newFile();
+ File file = new FileReferenceCompressor(compressed).compress(inputFile, tempFile);
+ transferCompressedData(new FileReference("ref"), "a-file", IOUtils.readFileBytes(file));
+ File downloadDir = new File(root, "ref");
+ assertEquals(content, IOUtils.readFile(new File(downloadDir, "a-file")));
+ }
+
private void transferPartsAndAssert(FileReference ref, String fileName, String all, int numParts) throws IOException {
byte [] allContent = Utf8.toBytes(all);