From 28ea812510bd69e50bec587b656024cabf1a952b Mon Sep 17 00:00:00 2001 From: Thiago Nunes Date: Wed, 11 Nov 2020 09:15:01 +1100 Subject: [PATCH 1/4] fix: updates project / instance for samples tests Updates the project and instance for the samples tests, so that they use the same configuration as the integration tests. --- .kokoro/nightly/java11-samples.cfg | 4 ++-- .kokoro/nightly/java8-samples.cfg | 4 ++-- .kokoro/nightly/samples.cfg | 4 ++-- .kokoro/presubmit/java11-samples.cfg | 4 ++-- .kokoro/presubmit/java8-samples.cfg | 4 ++-- .kokoro/presubmit/samples.cfg | 6 +++--- samples/install-without-bom/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.kokoro/nightly/java11-samples.cfg b/.kokoro/nightly/java11-samples.cfg index a01c8349fd..6a19950ffc 100644 --- a/.kokoro/nightly/java11-samples.cfg +++ b/.kokoro/nightly/java11-samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { diff --git a/.kokoro/nightly/java8-samples.cfg b/.kokoro/nightly/java8-samples.cfg index 587b095256..485bc21594 100644 --- a/.kokoro/nightly/java8-samples.cfg +++ b/.kokoro/nightly/java8-samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { diff --git a/.kokoro/nightly/samples.cfg b/.kokoro/nightly/samples.cfg index f25429314f..ee4beff26f 100644 --- a/.kokoro/nightly/samples.cfg +++ b/.kokoro/nightly/samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { diff --git a/.kokoro/presubmit/java11-samples.cfg b/.kokoro/presubmit/java11-samples.cfg index 8301d58abb..71775e885b 100644 --- a/.kokoro/presubmit/java11-samples.cfg +++ b/.kokoro/presubmit/java11-samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { diff --git a/.kokoro/presubmit/java8-samples.cfg b/.kokoro/presubmit/java8-samples.cfg index 95f0f81ffb..ce43cd982c 100644 --- a/.kokoro/presubmit/java8-samples.cfg +++ b/.kokoro/presubmit/java8-samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { diff --git a/.kokoro/presubmit/samples.cfg b/.kokoro/presubmit/samples.cfg index 01e0960047..a32792944e 100644 --- a/.kokoro/presubmit/samples.cfg +++ b/.kokoro/presubmit/samples.cfg @@ -14,12 +14,12 @@ env_vars: { # TODO: remove this after we've migrated all tests and scripts env_vars: { key: "GCLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { key: "GOOGLE_CLOUD_PROJECT" - value: "java-docs-samples-testing" + value: "gcloud-devel" } env_vars: { @@ -30,4 +30,4 @@ env_vars: { env_vars: { key: "SECRET_MANAGER_KEYS" value: "java-docs-samples-service-account" -} \ No newline at end of file +} diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 0137c2c95d..35cd733b11 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -142,7 +142,7 @@ 3.0.0-M5 - default-instance + spanner-testing mysample quickstart-db diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 788a0b08ea..8a56fb3cc0 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -141,7 +141,7 @@ 3.0.0-M5 - default-instance + spanner-testing mysample quickstart-db diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 05ae6b7cd8..11c118e694 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -146,7 +146,7 @@ 3.0.0-M5 - default-instance + spanner-testing mysample quickstart-db From 20fc4b530aeb571d935afba3833942265e0f5595 Mon Sep 17 00:00:00 2001 From: Thiago Nunes Date: Wed, 11 Nov 2020 09:25:01 +1100 Subject: [PATCH 2/4] fix: excludes modified kokoro / pom.xml files Excludes modified kokoro / pom.xml files from the synth. --- synth.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/synth.py b/synth.py index 02ed0e05ef..4dbba62d79 100644 --- a/synth.py +++ b/synth.py @@ -78,5 +78,14 @@ java.common_templates(excludes=[ '.kokoro/continuous/common.cfg', '.kokoro/nightly/common.cfg', + '.kokoro/nightly/java8-samples.cfg', + '.kokoro/nightly/java11-samples.cfg', + '.kokoro/nightly/samples.cfg', '.kokoro/presubmit/common.cfg', + '.kokoro/presubmit/java8-samples.cfg', + '.kokoro/presubmit/java11-samples.cfg', + '.kokoro/presubmit/samples.cfg', + 'samples/install-without-bom/pom.xml', + 'samples/snapshot/pom.xml', + 'samples/snippets/pom.xml', ]) From 90ebe33bfe9f43e5983a802d31c2ca4be6964b19 Mon Sep 17 00:00:00 2001 From: Thiago Nunes Date: Wed, 11 Nov 2020 09:34:11 +1100 Subject: [PATCH 3/4] fix: fixes the account used to run samples tests --- .kokoro/nightly/java11-samples.cfg | 4 ++-- .kokoro/nightly/java8-samples.cfg | 4 ++-- .kokoro/nightly/samples.cfg | 4 ++-- .kokoro/presubmit/java11-samples.cfg | 4 ++-- .kokoro/presubmit/java8-samples.cfg | 4 ++-- .kokoro/presubmit/samples.cfg | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.kokoro/nightly/java11-samples.cfg b/.kokoro/nightly/java11-samples.cfg index 6a19950ffc..bbcb3f2715 100644 --- a/.kokoro/nightly/java11-samples.cfg +++ b/.kokoro/nightly/java11-samples.cfg @@ -24,12 +24,12 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } env_vars: { diff --git a/.kokoro/nightly/java8-samples.cfg b/.kokoro/nightly/java8-samples.cfg index 485bc21594..7284cfeb18 100644 --- a/.kokoro/nightly/java8-samples.cfg +++ b/.kokoro/nightly/java8-samples.cfg @@ -24,12 +24,12 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } env_vars: { diff --git a/.kokoro/nightly/samples.cfg b/.kokoro/nightly/samples.cfg index ee4beff26f..2cabe201bc 100644 --- a/.kokoro/nightly/samples.cfg +++ b/.kokoro/nightly/samples.cfg @@ -24,12 +24,12 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } env_vars: { diff --git a/.kokoro/presubmit/java11-samples.cfg b/.kokoro/presubmit/java11-samples.cfg index 71775e885b..2812301e78 100644 --- a/.kokoro/presubmit/java11-samples.cfg +++ b/.kokoro/presubmit/java11-samples.cfg @@ -24,11 +24,11 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } diff --git a/.kokoro/presubmit/java8-samples.cfg b/.kokoro/presubmit/java8-samples.cfg index ce43cd982c..49a231b9f2 100644 --- a/.kokoro/presubmit/java8-samples.cfg +++ b/.kokoro/presubmit/java8-samples.cfg @@ -24,11 +24,11 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } diff --git a/.kokoro/presubmit/samples.cfg b/.kokoro/presubmit/samples.cfg index a32792944e..724216504e 100644 --- a/.kokoro/presubmit/samples.cfg +++ b/.kokoro/presubmit/samples.cfg @@ -24,10 +24,10 @@ env_vars: { env_vars: { key: "GOOGLE_APPLICATION_CREDENTIALS" - value: "secret_manager/java-docs-samples-service-account" + value: "secret_manager/java-it-service-account" } env_vars: { key: "SECRET_MANAGER_KEYS" - value: "java-docs-samples-service-account" + value: "java-it-service-account" } From adf1b53a50deda88fda397a827bf7f5d31631ca0 Mon Sep 17 00:00:00 2001 From: Thiago Nunes Date: Wed, 11 Nov 2020 11:04:53 +1100 Subject: [PATCH 4/4] fix: creates quickstart db for test Creates the quickstart database for the integration test. --- samples/install-without-bom/pom.xml | 2 +- samples/snapshot/pom.xml | 2 +- samples/snippets/pom.xml | 2 +- .../example/spanner/QuickstartSampleIT.java | 33 +++++++++++++++++-- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 35cd733b11..a971506e64 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -144,7 +144,7 @@ spanner-testing mysample - quickstart-db + quick-db diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 8a56fb3cc0..005eaf3cc0 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -143,7 +143,7 @@ spanner-testing mysample - quickstart-db + quick-db diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 11c118e694..a06b68f798 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -148,7 +148,7 @@ spanner-testing mysample - quickstart-db + quick-db diff --git a/samples/snippets/src/test/java/com/example/spanner/QuickstartSampleIT.java b/samples/snippets/src/test/java/com/example/spanner/QuickstartSampleIT.java index 707018d71c..ce0edd73e1 100644 --- a/samples/snippets/src/test/java/com/example/spanner/QuickstartSampleIT.java +++ b/samples/snippets/src/test/java/com/example/spanner/QuickstartSampleIT.java @@ -18,10 +18,19 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.cloud.spanner.DatabaseAdminClient; +import com.google.cloud.spanner.DatabaseNotFoundException; +import com.google.cloud.spanner.Spanner; +import com.google.cloud.spanner.SpannerOptions; import java.io.ByteArrayOutputStream; import java.io.PrintStream; +import java.util.Arrays; +import java.util.Collections; +import java.util.UUID; import org.junit.After; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -32,13 +41,27 @@ @RunWith(JUnit4.class) @SuppressWarnings("checkstyle:abbreviationaswordinname") public class QuickstartSampleIT { - private String instanceId = System.getProperty("spanner.test.instance"); - // This database needs to exist for test to pass. - private String dbId = System.getProperty("spanner.quickstart.database"); + private static String instanceId = System.getProperty("spanner.test.instance"); + private static String dbId = formatForTest(System.getProperty("spanner.quickstart.database")); + private static DatabaseAdminClient dbClient; + private ByteArrayOutputStream bout; private PrintStream stdOut = System.out; private PrintStream out; + @BeforeClass + public static void createDatabase() { + final SpannerOptions options = SpannerOptions.newBuilder().build(); + final Spanner spanner = options.getService(); + dbClient = spanner.getDatabaseAdminClient(); + dbClient.createDatabase(instanceId, dbId, Collections.emptyList()); + } + + @AfterClass + public static void dropDatabase() { + dbClient.dropDatabase(instanceId, dbId); + } + @Before public void setUp() { bout = new ByteArrayOutputStream(); @@ -59,4 +82,8 @@ public void testQuickstart() throws Exception { String got = bout.toString(); assertThat(got).contains("1"); } + + private static String formatForTest(String name) { + return name + "-" + UUID.randomUUID().toString().substring(0, 20); + } }