diff --git a/src/test/java/org/janelia/saalfeldlab/n5/s3/AmazonS3KeyValueAccessTest.java b/src/test/java/org/janelia/saalfeldlab/n5/s3/AmazonS3KeyValueAccessTest.java index 0820aa9..90f977a 100644 --- a/src/test/java/org/janelia/saalfeldlab/n5/s3/AmazonS3KeyValueAccessTest.java +++ b/src/test/java/org/janelia/saalfeldlab/n5/s3/AmazonS3KeyValueAccessTest.java @@ -1,10 +1,13 @@ package org.janelia.saalfeldlab.n5.s3; +import static org.junit.Assume.assumeTrue; + import org.janelia.saalfeldlab.n5.KeyValueAccess; import org.janelia.saalfeldlab.n5.N5URI; import org.janelia.saalfeldlab.n5.kva.AbstractKeyValueAccessTest; import org.janelia.saalfeldlab.n5.s3.mock.MockS3Factory; import org.junit.After; +import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; @@ -16,7 +19,14 @@ import java.util.ArrayList; public class AmazonS3KeyValueAccessTest extends AbstractKeyValueAccessTest { - + + @BeforeClass + public static void before() { + + MockS3Factory.getOrCreateS3(); + assumeTrue("mock s3 server not running", MockS3Factory.isMinioServerRunning()); + } + private ArrayList kvas; @Override diff --git a/src/test/java/org/janelia/saalfeldlab/n5/s3/N5AmazonS3MockTests.java b/src/test/java/org/janelia/saalfeldlab/n5/s3/N5AmazonS3MockTests.java index 303136a..6ed6e1d 100644 --- a/src/test/java/org/janelia/saalfeldlab/n5/s3/N5AmazonS3MockTests.java +++ b/src/test/java/org/janelia/saalfeldlab/n5/s3/N5AmazonS3MockTests.java @@ -1,7 +1,9 @@ package org.janelia.saalfeldlab.n5.s3; -import org.janelia.saalfeldlab.n5.s3.mock.MockS3Factory; +import static org.junit.Assume.assumeTrue; +import org.janelia.saalfeldlab.n5.s3.mock.MockS3Factory; +import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; @@ -9,6 +11,13 @@ public class N5AmazonS3MockTests extends N5AmazonS3Tests { + @BeforeClass + public static void before() { + + MockS3Factory.getOrCreateS3(); + assumeTrue("mock s3 server not running", MockS3Factory.isMinioServerRunning()); + } + @Override protected S3Client getS3() { diff --git a/src/test/java/org/janelia/saalfeldlab/n5/s3/mock/MockS3Factory.java b/src/test/java/org/janelia/saalfeldlab/n5/s3/mock/MockS3Factory.java index f01b4d0..d8dae06 100644 --- a/src/test/java/org/janelia/saalfeldlab/n5/s3/mock/MockS3Factory.java +++ b/src/test/java/org/janelia/saalfeldlab/n5/s3/mock/MockS3Factory.java @@ -71,9 +71,6 @@ public static void startMinioServer() throws Exception { return; } - // TODO if the server fails to start for some reason - // e.g. minio server not installed - // probably should not fail, but report "mock test skipped" or something minioServerDirectory = createTmpServerDirectory(); ProcessBuilder processBuilder = new ProcessBuilder("minio", "server", "."); processBuilder.directory(minioServerDirectory.toFile()); @@ -104,7 +101,7 @@ private static Path createTmpServerDirectory() throws IOException { return tempDirectory; } - private static boolean isMinioServerRunning() { + public static boolean isMinioServerRunning() { try { minioUri.toURL().openConnection().connect();