Merge "Improve DatabaseSchemaCreator"
diff --git a/BUILD b/BUILD
index d2d5e7d..01d9a2f 100644
--- a/BUILD
+++ b/BUILD
@@ -24,15 +24,28 @@
 
 junit_tests(
     name = "spanner-refdb_tests",
-    srcs = glob(["src/test/java/**/*.java"]),
+    srcs = glob(["src/test/java/**/*Test.java"]),
     resources = glob(["src/main/resources/**/*"]),
     tags = ["spanner-refdb"],
     deps = [
+        ":spanner-refdb_test_util",
         ":spanner-refdb__plugin_test_deps",
     ],
 )
 
 java_library(
+    name = "spanner-refdb_test_util",
+    testonly = True,
+    srcs = glob(
+        ["src/test/java/**/*.java"],
+        exclude = ["src/test/java/**/*Test.java"],
+    ),
+    deps = [
+        ":spanner-refdb__plugin_test_deps",
+    ]
+)
+
+java_library(
     name = "spanner-refdb__plugin_test_deps",
     testonly = 1,
     visibility = ["//visibility:public"],
diff --git a/src/main/resources/Documentation/build.md b/src/main/resources/Documentation/build.md
index a816e2b..5f33214 100644
--- a/src/main/resources/Documentation/build.md
+++ b/src/main/resources/Documentation/build.md
@@ -41,11 +41,11 @@
 
 In this case we have to provide an GCP service account key and the instance name
 under which the test refdb will be created. This is done by passing two
-environment variables `SERVICE_ACCOUNT_KEY_PATH` and `SPANNER_INSTANCE`:
+environment variables `GOOGLE_APPLICATION_CREDENTIALS` and `SPANNER_INSTANCE`:
 
 ```
 bazelisk test \
-  --test_env='SERVICE_ACCOUNT_KEY_PATH=/path/to/the/key.json' \
+  --test_env='GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/key.json' \
   --test_env='SPANNER_INSTANCE=test-instance' \
   --test_tag_filters=@PLUGIN@ //...
 ```
@@ -55,7 +55,7 @@
 
 ```
 bazelisk test \
-  --test_env='SERVICE_ACCOUNT_KEY_PATH=/path/to/the/key.json' \
+  --test_env='GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/key.json' \
   --test_env='SPANNER_INSTANCE=test-instance' \
   //plugins/@PLUGIN@/...
 ```
@@ -66,12 +66,12 @@
 the tests. A container running spanner will be created automatically by the
 tests.
 
-The absence of the `SERVICE_ACCOUNT_KEY_PATH` env variable means that the tests
+The absence of the `GOOGLE_APPLICATION_CREDENTIALS` env variable means that the tests
 will create local spanner emulator.
 
 ```
 bazelisk test //plugins/@PLUGIN@/...
-
+```
 
 ### MacOS specifics when using docker based spanner emulator
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
index 20d6973..5ecfcc7 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/EmulatedSpannerRefDb.java
@@ -30,11 +30,9 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
-import org.junit.Ignore;
 import org.testcontainers.containers.SpannerEmulatorContainer;
 import org.testcontainers.utility.DockerImageName;
 
-@Ignore
 public class EmulatedSpannerRefDb extends SpannerTestSystem {
   public static final String PROJECT_ID = "test";
   public static final String SPANNER_INSTANCE_ID = "spanner-instance";
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java
index 48f57dd..499ac57 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RealSpannerRefDb.java
@@ -28,16 +28,14 @@
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
-import org.junit.Ignore;
 
-@Ignore
 public class RealSpannerRefDb extends SpannerTestSystem {
 
   private static RealSpannerRefDb INSTANCE;
 
   public static RealSpannerRefDb create() {
     if (INSTANCE == null) {
-      String keyPath = System.getenv("SERVICE_ACCOUNT_KEY_PATH");
+      String keyPath = System.getenv("GOOGLE_APPLICATION_CREDENTIALS");
       String instance = System.getenv("SPANNER_INSTANCE");
       INSTANCE = new RealSpannerRefDb(keyPath, instance);
     }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RefFixture.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RefFixture.java
index 67e8428..9a0e816 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RefFixture.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/RefFixture.java
@@ -19,9 +19,7 @@
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.ObjectIdRef;
 import org.eclipse.jgit.lib.Ref;
-import org.junit.Ignore;
 
-@Ignore
 public interface RefFixture {
   static final String PROJECT_NAME = "A_TEST_PROJECT_NAME";
   static final Project.NameKey PROJECT_NAME_KEY = Project.nameKey(PROJECT_NAME);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java
index aff7407..3eb6d0c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/spannerrefdb/SpannerTestSystem.java
@@ -15,14 +15,12 @@
 package com.googlesource.gerrit.plugins.spannerrefdb;
 
 import com.google.cloud.spanner.DatabaseClient;
-import org.junit.Ignore;
 
-@Ignore
 public abstract class SpannerTestSystem {
 
   public static SpannerTestSystem create() throws Exception {
     SpannerTestSystem testSystem;
-    if (System.getenv("SERVICE_ACCOUNT_KEY_PATH") == null) {
+    if (System.getenv("GOOGLE_APPLICATION_CREDENTIALS") == null) {
       testSystem = new EmulatedSpannerRefDb();
     } else {
       testSystem = RealSpannerRefDb.create();