Skip to content

Commit

Permalink
test: Creating dummy spanner instance for ITInstanceAdminTest (#1977)
Browse files Browse the repository at this point in the history
test: Updated ITInstanceAdminTest to run in a parallel environment with a new dummy instance
  • Loading branch information
gauravpurohit06 committed Aug 22, 2022
1 parent e6bbac0 commit 7f5bac6
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
Expand Up @@ -58,8 +58,17 @@ public class IntegrationTestEnv extends ExternalResource {
private InstanceAdminClient instanceAdminClient;
private DatabaseAdminClient databaseAdminClient;
private boolean isOwnedInstance;
private final boolean alwaysCreateNewInstance;
private RemoteSpannerHelper testHelper;

public IntegrationTestEnv() {
this(false);
}

public IntegrationTestEnv(final boolean alwaysCreateNewInstance) {
this.alwaysCreateNewInstance = alwaysCreateNewInstance;
}

public RemoteSpannerHelper getTestHelper() {
checkInitialized();
return testHelper;
Expand All @@ -84,7 +93,7 @@ protected void before() throws Throwable {
SpannerOptions options = config.spannerOptions();
String instanceProperty = System.getProperty(TEST_INSTANCE_PROPERTY, "");
InstanceId instanceId;
if (!instanceProperty.isEmpty()) {
if (!instanceProperty.isEmpty() && !alwaysCreateNewInstance) {
instanceId = InstanceId.of(instanceProperty);
isOwnedInstance = false;
logger.log(Level.INFO, "Using existing test instance: {0}", instanceId);
Expand Down
Expand Up @@ -27,13 +27,13 @@
import com.google.cloud.spanner.InstanceInfo;
import com.google.cloud.spanner.IntegrationTestEnv;
import com.google.cloud.spanner.Options;
import com.google.cloud.spanner.SerialIntegrationTest;
import com.google.cloud.spanner.ParallelIntegrationTest;
import com.google.common.collect.Iterators;
import com.google.spanner.admin.instance.v1.UpdateInstanceMetadata;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
Expand All @@ -42,14 +42,15 @@
import org.junit.runners.JUnit4;

/** Integration tests for {@link com.google.cloud.spanner.InstanceAdminClient}. */
@Category(SerialIntegrationTest.class)
@Category(ParallelIntegrationTest.class)
@RunWith(JUnit4.class)
public class ITInstanceAdminTest {
@ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv();
InstanceAdminClient instanceClient;

@Before
public void setUp() {
@ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv(true);
static InstanceAdminClient instanceClient;

@BeforeClass
public static void setUp() {
instanceClient = env.getTestHelper().getClient().getInstanceAdminClient();
}

Expand Down Expand Up @@ -78,6 +79,8 @@ public void instanceConfigLeaderOptions() {

@Test
public void listInstances() {
assumeFalse("The emulator does not support filtering on instances", isUsingEmulator());

Instance instance =
Iterators.getOnlyElement(
instanceClient
Expand Down

0 comments on commit 7f5bac6

Please sign in to comment.