|
36 | 36 | import com.google.cloud.spanner.Key;
|
37 | 37 | import com.google.cloud.spanner.KeySet;
|
38 | 38 | import com.google.cloud.spanner.Mutation;
|
| 39 | +import com.google.cloud.spanner.ParallelIntegrationTest; |
39 | 40 | import com.google.cloud.spanner.Spanner;
|
40 | 41 | import com.google.cloud.spanner.SpannerException;
|
41 | 42 | import com.google.cloud.spanner.Struct;
|
|
48 | 49 | import java.util.concurrent.ExecutionException;
|
49 | 50 | import java.util.concurrent.Executor;
|
50 | 51 | import java.util.concurrent.Executors;
|
51 |
| -import org.junit.After; |
52 | 52 | import org.junit.Before;
|
53 | 53 | import org.junit.BeforeClass;
|
54 | 54 | import org.junit.ClassRule;
|
| 55 | +import org.junit.Ignore; |
55 | 56 | import org.junit.Test;
|
| 57 | +import org.junit.experimental.categories.Category; |
56 | 58 | import org.junit.runner.RunWith;
|
57 | 59 | import org.junit.runners.Parameterized;
|
58 | 60 | import org.junit.runners.Parameterized.Parameter;
|
59 | 61 | import org.junit.runners.Parameterized.Parameters;
|
60 | 62 |
|
61 | 63 | @RunWith(Parameterized.class)
|
| 64 | +@Category(ParallelIntegrationTest.class) |
62 | 65 | public class ITTransactionManagerAsyncTest {
|
63 | 66 |
|
64 | 67 | @Parameter(0)
|
@@ -76,8 +79,8 @@ public static Collection<Object[]> data() {
|
76 | 79 |
|
77 | 80 | @ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv();
|
78 | 81 | private static Database db;
|
79 |
| -private Spanner spanner; |
80 |
| -private DatabaseClient client; |
| 82 | +private static Spanner spanner; |
| 83 | +private static DatabaseClient client; |
81 | 84 |
|
82 | 85 | @BeforeClass
|
83 | 86 | public static void setUpDatabase() {
|
@@ -89,20 +92,15 @@ public static void setUpDatabase() {
|
89 | 92 | + " K STRING(MAX) NOT NULL,"
|
90 | 93 | + " BoolValue BOOL,"
|
91 | 94 | + ") PRIMARY KEY (K)");
|
| 95 | +spanner = env.getTestHelper().getClient(); |
| 96 | +client = spanner.getDatabaseClient(db.getId()); |
92 | 97 | }
|
93 | 98 |
|
94 | 99 | @Before
|
95 | 100 | public void clearTable() {
|
96 |
| -spanner = env.getTestHelper().getClient(); |
97 |
| -client = spanner.getDatabaseClient(db.getId()); |
98 | 101 | client.write(ImmutableList.of(Mutation.delete("T", KeySet.all())));
|
99 | 102 | }
|
100 | 103 |
|
101 |
| -@After |
102 |
| -public void closeSpanner() { |
103 |
| -spanner.close(); |
104 |
| -} |
105 |
| - |
106 | 104 | @Test
|
107 | 105 | public void testSimpleInsert() throws ExecutionException, InterruptedException {
|
108 | 106 | try (AsyncTransactionManager manager = client.transactionManagerAsync()) {
|
@@ -224,6 +222,8 @@ public ApiFuture<Void> apply(TransactionContext txn, Void input) throws Exceptio
|
224 | 222 | }
|
225 | 223 | }
|
226 | 224 |
|
| 225 | +@Ignore( |
| 226 | +"Cloud Spanner now seems to return CANCELLED instead of ABORTED when a transaction is invalidated by a later transaction in the same session") |
227 | 227 | @Test
|
228 | 228 | public void testAbortAndRetry() throws InterruptedException, ExecutionException {
|
229 | 229 | assumeFalse(
|
|
0 commit comments