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();