diff options
author | Harald Musum <musum@yahooinc.com> | 2022-05-25 07:20:42 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-05-25 07:20:42 +0200 |
commit | da7c902ab345669dd8f4cf86712c80762202295e (patch) | |
tree | 83e4f786f61869e5d5b83a92e6cfb7a8651c3d9a /filedistribution/src/test | |
parent | 3f26aca24a0f2458638aceac7a2a5e57fb3a00f7 (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.java | 17 |
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); |