Skip to content

Commit 7f5bac6

Browse files
test: Creating dummy spanner instance for ITInstanceAdminTest (#1977)
test: Updated ITInstanceAdminTest to run in a parallel environment with a new dummy instance
1 parent e6bbac0 commit 7f5bac6

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

google-cloud-spanner/src/test/java/com/google/cloud/spanner/IntegrationTestEnv.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,17 @@ public class IntegrationTestEnv extends ExternalResource {
5858
private InstanceAdminClient instanceAdminClient;
5959
private DatabaseAdminClient databaseAdminClient;
6060
private boolean isOwnedInstance;
61+
private final boolean alwaysCreateNewInstance;
6162
private RemoteSpannerHelper testHelper;
6263

64+
public IntegrationTestEnv() {
65+
this(false);
66+
}
67+
68+
public IntegrationTestEnv(final boolean alwaysCreateNewInstance) {
69+
this.alwaysCreateNewInstance = alwaysCreateNewInstance;
70+
}
71+
6372
public RemoteSpannerHelper getTestHelper() {
6473
checkInitialized();
6574
return testHelper;
@@ -84,7 +93,7 @@ protected void before() throws Throwable {
8493
SpannerOptions options = config.spannerOptions();
8594
String instanceProperty = System.getProperty(TEST_INSTANCE_PROPERTY, "");
8695
InstanceId instanceId;
87-
if (!instanceProperty.isEmpty()) {
96+
if (!instanceProperty.isEmpty() && !alwaysCreateNewInstance) {
8897
instanceId = InstanceId.of(instanceProperty);
8998
isOwnedInstance = false;
9099
logger.log(Level.INFO, "Using existing test instance: {0}", instanceId);

google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITInstanceAdminTest.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
import com.google.cloud.spanner.InstanceInfo;
2828
import com.google.cloud.spanner.IntegrationTestEnv;
2929
import com.google.cloud.spanner.Options;
30-
import com.google.cloud.spanner.SerialIntegrationTest;
30+
import com.google.cloud.spanner.ParallelIntegrationTest;
3131
import com.google.common.collect.Iterators;
3232
import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
3333
import java.util.ArrayList;
3434
import java.util.List;
3535
import java.util.Random;
36-
import org.junit.Before;
36+
import org.junit.BeforeClass;
3737
import org.junit.ClassRule;
3838
import org.junit.Ignore;
3939
import org.junit.Test;
@@ -42,14 +42,15 @@
4242
import org.junit.runners.JUnit4;
4343

4444
/** Integration tests for {@link com.google.cloud.spanner.InstanceAdminClient}. */
45-
@Category(SerialIntegrationTest.class)
45+
@Category(ParallelIntegrationTest.class)
4646
@RunWith(JUnit4.class)
4747
public class ITInstanceAdminTest {
48-
@ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv();
49-
InstanceAdminClient instanceClient;
5048

51-
@Before
52-
public void setUp() {
49+
@ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv(true);
50+
static InstanceAdminClient instanceClient;
51+
52+
@BeforeClass
53+
public static void setUp() {
5354
instanceClient = env.getTestHelper().getClient().getInstanceAdminClient();
5455
}
5556

@@ -78,6 +79,8 @@ public void instanceConfigLeaderOptions() {
7879

7980
@Test
8081
public void listInstances() {
82+
assumeFalse("The emulator does not support filtering on instances", isUsingEmulator());
83+
8184
Instance instance =
8285
Iterators.getOnlyElement(
8386
instanceClient

0 commit comments

Comments
 (0)