diff --git a/examples/pom.xml b/examples/pom.xml index 42abdba..9d87c9e 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -5,7 +5,7 @@ com.opengamma corporate-parent - 2.8.1 + 3.0.3 com.opengamma.sdk @@ -66,6 +66,10 @@ + + 1.8 + 1.8 + 8 1.2.13 diff --git a/modules/margin/src/test/java/com/opengamma/sdk/margin/PortfolioDataFileTest.java b/modules/margin/src/test/java/com/opengamma/sdk/margin/PortfolioDataFileTest.java index 4787c95..b20d257 100644 --- a/modules/margin/src/test/java/com/opengamma/sdk/margin/PortfolioDataFileTest.java +++ b/modules/margin/src/test/java/com/opengamma/sdk/margin/PortfolioDataFileTest.java @@ -7,6 +7,7 @@ import static org.assertj.core.api.Assertions.assertThat; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -15,9 +16,12 @@ import java.nio.file.Paths; import java.util.Arrays; import java.util.Base64; +import java.util.LinkedHashMap; +import java.util.Map; import java.util.Random; import java.util.zip.GZIPOutputStream; import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; import org.joda.beans.Bean; @@ -34,7 +38,7 @@ public class PortfolioDataFileTest { public void test_ofString_small() { PortfolioDataFile test = PortfolioDataFile.of("name.txt", "a=b"); assertThat(test.getName()).isEqualTo("name.txt.gz.base64"); - assertThat(test.getData()).isEqualTo("H4sIAAAAAAAAAEu0TQIAzzAAfwMAAAA="); + assertThat(test.getData()).isEqualTo(Base64.getEncoder().encodeToString(gzip("a=b"))); } @Test @@ -101,12 +105,30 @@ public void test_ofBean_trade() { //------------------------------------------------------------------------- @Test - public void test_ofCombined() { + public void test_ofCombined() throws IOException { Path path1 = Paths.get("src/test/resources/simple.xml"); Path path2 = Paths.get("src/test/resources/simple.xls"); PortfolioDataFile test = PortfolioDataFile.ofCombined(Arrays.asList(path1, path2)); assertThat(test.getName()).isEqualTo("JavaSDK.zip.base64"); - assertThat(test.getData()).isEqualTo(Base64.getEncoder().encodeToString(zip(path1, path2))); + byte[] actualZipBytes = Base64.getDecoder().decode(test.getData()); + assertThat(unzipEntries(actualZipBytes)).isEqualTo(unzipEntries(zip(path1, path2))); + } + + private static Map unzipEntries(byte[] zipBytes) throws IOException { + Map entries = new LinkedHashMap<>(); + try (ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(zipBytes))) { + ZipEntry entry; + while ((entry = zis.getNextEntry()) != null) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] buf = new byte[4096]; + int len; + while ((len = zis.read(buf)) != -1) { + baos.write(buf, 0, len); + } + entries.put(entry.getName(), Base64.getEncoder().encodeToString(baos.toByteArray())); + } + } + return entries; } private static byte[] gzip(String str) { diff --git a/modules/pom.xml b/modules/pom.xml index ecc7f78..3f561fe 100644 --- a/modules/pom.xml +++ b/modules/pom.xml @@ -5,7 +5,7 @@ com.opengamma corporate-parent - 2.8.1 + 3.0.3 com.opengamma.sdk @@ -411,6 +411,10 @@ + + 1.8 + 1.8 + 8 3.25.3 1.82