diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/it/ITReadWriteAutocommitSpannerTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/it/ITReadWriteAutocommitSpannerTest.java index 928fc8869f..6b85d8b44b 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/it/ITReadWriteAutocommitSpannerTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/it/ITReadWriteAutocommitSpannerTest.java @@ -21,6 +21,7 @@ import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeFalse; import com.google.cloud.spanner.ErrorCode; import com.google.cloud.spanner.Mutation; @@ -73,6 +74,9 @@ public void test02_WriteMutation() { @Test public void test03_MultipleStatements_WithTimeouts() { + assumeFalse( + "Rolling back a transaction while an update statement is still in flight can cause the transaction to remain active on the emulator", + env.getTestHelper().isEmulator()); try (ITConnection connection = createConnection()) { // do an insert that should succeed assertThat( @@ -91,10 +95,9 @@ public void test03_MultipleStatements_WithTimeouts() { connection.setStatementTimeout(1L, TimeUnit.MILLISECONDS); try { connection.executeUpdate(Statement.of("UPDATE TEST SET NAME='test18' WHERE ID=1000")); + fail("missing expected exception"); } catch (SpannerException e) { - if (e.getErrorCode() != ErrorCode.DEADLINE_EXCEEDED) { - throw e; - } + assertThat(e.getErrorCode(), is(equalTo(ErrorCode.DEADLINE_EXCEEDED))); } // remove the timeout setting connection.clearStatementTimeout();