From 6dadc240e76ae6f9afcb7152f915b66ec8f76eb1 Mon Sep 17 00:00:00 2001 From: Sakthivel Subramanian Date: Fri, 4 Sep 2026 12:07:48 +0000 Subject: [PATCH] test(spanner): use ephemeral databases for backup schedule sample tests --- .../CreateFullBackupScheduleSampleIT.java | 10 ++++++++-- ...reateIncrementalBackupScheduleSampleIT.java | 10 ++++++++-- .../spanner/DeleteBackupScheduleSampleIT.java | 10 ++++++++-- .../spanner/GetBackupScheduleSampleIT.java | 10 ++++++++-- .../spanner/ListBackupSchedulesSampleIT.java | 10 ++++++++-- .../com/example/spanner/SampleTestBaseV2.java | 18 ++++++++++++++++++ .../spanner/UpdateBackupScheduleSampleIT.java | 10 ++++++++-- 7 files changed, 66 insertions(+), 12 deletions(-) diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateFullBackupScheduleSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateFullBackupScheduleSampleIT.java index 82b67c4dfe85..abfd44f468c6 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateFullBackupScheduleSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateFullBackupScheduleSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CreateFullBackupScheduleSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(); + } @Test public void testCreateFullBackupScheduleSample() throws Exception { diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateIncrementalBackupScheduleSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateIncrementalBackupScheduleSampleIT.java index ac38150f5203..f4e28aea57d3 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateIncrementalBackupScheduleSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateIncrementalBackupScheduleSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class CreateIncrementalBackupScheduleSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(multiRegionalInstanceId); + } @Test public void testCreateIncrementalBackupScheduleSample() throws Exception { diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/DeleteBackupScheduleSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/DeleteBackupScheduleSampleIT.java index f379c9bfe47d..14b7bc84ff2f 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/DeleteBackupScheduleSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/DeleteBackupScheduleSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class DeleteBackupScheduleSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(); + } @Test public void testDeleteBackupScheduleSample() throws Exception { diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/GetBackupScheduleSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/GetBackupScheduleSampleIT.java index 366093cddd5e..82eed77c2e62 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/GetBackupScheduleSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/GetBackupScheduleSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class GetBackupScheduleSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(); + } @Test public void testGetBackupScheduleSample() throws Exception { diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/ListBackupSchedulesSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/ListBackupSchedulesSampleIT.java index 97feb2d7e9ba..24e3219d00e1 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/ListBackupSchedulesSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/ListBackupSchedulesSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class ListBackupSchedulesSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(); + } @Test public void testListBackupSchedulesSample() throws Exception { diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/SampleTestBaseV2.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/SampleTestBaseV2.java index 5a43261269d9..0b0f8dc2ecb2 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/SampleTestBaseV2.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/SampleTestBaseV2.java @@ -23,7 +23,9 @@ import com.google.cloud.spanner.admin.database.v1.DatabaseAdminSettings; import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient; import com.google.cloud.spanner.admin.instance.v1.InstanceAdminSettings; +import com.google.spanner.admin.database.v1.CreateDatabaseRequest; import com.google.spanner.admin.database.v1.DatabaseDialect; +import com.google.spanner.admin.database.v1.InstanceName; import java.io.IOException; import java.util.concurrent.TimeUnit; import org.junit.AfterClass; @@ -180,4 +182,20 @@ static String getCreateDatabaseStatement( return "CREATE DATABASE \"" + databaseName + "\""; } } + + protected static String createEphemeralDatabase() throws Exception { + return createEphemeralDatabase(instanceId); + } + + protected static String createEphemeralDatabase(String targetInstanceId) throws Exception { + String databaseId = idGenerator.generateDatabaseId(); + CreateDatabaseRequest request = + CreateDatabaseRequest.newBuilder() + .setParent(InstanceName.of(projectId, targetInstanceId).toString()) + .setCreateStatement( + getCreateDatabaseStatement(databaseId, DatabaseDialect.GOOGLE_STANDARD_SQL)) + .build(); + databaseAdminClient.createDatabaseAsync(request).get(5, TimeUnit.MINUTES); + return databaseId; + } } diff --git a/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateBackupScheduleSampleIT.java b/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateBackupScheduleSampleIT.java index eff037459f91..319322ffeec9 100644 --- a/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateBackupScheduleSampleIT.java +++ b/java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateBackupScheduleSampleIT.java @@ -20,14 +20,20 @@ import com.google.spanner.admin.database.v1.BackupScheduleName; import java.util.UUID; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class UpdateBackupScheduleSampleIT extends SampleTestBaseV2 { - // Default instance and given db should exist for tests to pass. - private static String databaseId = System.getProperty("spanner.sample.database", "mysample"); + + private static String databaseId; + + @BeforeClass + public static void setUp() throws Exception { + databaseId = createEphemeralDatabase(); + } @Test public void testUpdateBackupScheduleSample() throws Exception {