diff --git a/styx-test/src/main/java/com/spotify/styx/storage/DatastoreEmulator.java b/styx-test/src/main/java/com/spotify/styx/storage/DatastoreEmulator.java index 8df18dceb8..c3019d49ff 100644 --- a/styx-test/src/main/java/com/spotify/styx/storage/DatastoreEmulator.java +++ b/styx-test/src/main/java/com/spotify/styx/storage/DatastoreEmulator.java @@ -79,7 +79,9 @@ private void assertGcloudDatastoreEmulator() { var activeRunner = activeRunnerField.get(helper); return activeRunner.getClass(); }).get(); - if (!runnerClass.getName().equals("com.google.cloud.testing.BaseEmulatorHelper$GcloudEmulatorRunner")) { + if (!runnerClass.getName().equals("com.google.cloud.testing.BaseEmulatorHelper$GcloudEmulatorRunner") + && !runnerClass.getName().equals("com.google.cloud.testing.BaseEmulatorHelper$DownloadableEmulatorRunner")) + { throw new AssertionError("Not using gcloud sdk datastore emulator, please run: " + "gcloud components install beta cloud-datastore-emulator"); } diff --git a/styx-test/src/test/java/com/spotify/styx/storage/DatastoreEmulatorTest.java b/styx-test/src/test/java/com/spotify/styx/storage/DatastoreEmulatorTest.java index 2556ce4703..bed47b10fa 100644 --- a/styx-test/src/test/java/com/spotify/styx/storage/DatastoreEmulatorTest.java +++ b/styx-test/src/test/java/com/spotify/styx/storage/DatastoreEmulatorTest.java @@ -23,13 +23,12 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.fail; import com.google.cloud.datastore.Datastore; import com.google.cloud.datastore.Entity; import junitparams.JUnitParamsRunner; import junitparams.Parameters; -import org.hamcrest.Matchers; -import org.junit.Assert; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; @@ -64,12 +63,13 @@ public void testEmulator(Datastore client) { } @Test - public void shouldFailIfNotGcloudEmulator() throws InterruptedException { - environmentVariables.clear("PATH"); + public void shouldBeGcloudEmulator() { var emulator = new DatastoreEmulator(); - var exception = Assert.assertThrows(AssertionError.class, emulator::before); - - assertThat(exception.getMessage(), Matchers.startsWith("Not using gcloud sdk datastore emulator")); + try { + emulator.before(); + } catch (Exception e) { + fail("Not using gcloud sdk datastore emulator"); + } } }