Skip to content

Commit 700e70a

Browse files
test(spanner): use ephemeral databases for backup schedule sample tests (#14263)
1 parent eef74d2 commit 700e70a

7 files changed

Lines changed: 66 additions & 12 deletions

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateFullBackupScheduleSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class CreateFullBackupScheduleSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase();
36+
}
3137

3238
@Test
3339
public void testCreateFullBackupScheduleSample() throws Exception {

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/CreateIncrementalBackupScheduleSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class CreateIncrementalBackupScheduleSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase(multiRegionalInstanceId);
36+
}
3137

3238
@Test
3339
public void testCreateIncrementalBackupScheduleSample() throws Exception {

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/DeleteBackupScheduleSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class DeleteBackupScheduleSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase();
36+
}
3137

3238
@Test
3339
public void testDeleteBackupScheduleSample() throws Exception {

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/GetBackupScheduleSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class GetBackupScheduleSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase();
36+
}
3137

3238
@Test
3339
public void testGetBackupScheduleSample() throws Exception {

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/ListBackupSchedulesSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class ListBackupSchedulesSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase();
36+
}
3137

3238
@Test
3339
public void testListBackupSchedulesSample() throws Exception {

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/SampleTestBaseV2.java‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import com.google.cloud.spanner.admin.database.v1.DatabaseAdminSettings;
2424
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient;
2525
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminSettings;
26+
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
2627
import com.google.spanner.admin.database.v1.DatabaseDialect;
28+
import com.google.spanner.admin.database.v1.InstanceName;
2729
import java.io.IOException;
2830
import java.util.concurrent.TimeUnit;
2931
import org.junit.AfterClass;
@@ -180,4 +182,20 @@ static String getCreateDatabaseStatement(
180182
return "CREATE DATABASE \"" + databaseName + "\"";
181183
}
182184
}
185+
186+
protected static String createEphemeralDatabase() throws Exception {
187+
return createEphemeralDatabase(instanceId);
188+
}
189+
190+
protected static String createEphemeralDatabase(String targetInstanceId) throws Exception {
191+
String databaseId = idGenerator.generateDatabaseId();
192+
CreateDatabaseRequest request =
193+
CreateDatabaseRequest.newBuilder()
194+
.setParent(InstanceName.of(projectId, targetInstanceId).toString())
195+
.setCreateStatement(
196+
getCreateDatabaseStatement(databaseId, DatabaseDialect.GOOGLE_STANDARD_SQL))
197+
.build();
198+
databaseAdminClient.createDatabaseAsync(request).get(5, TimeUnit.MINUTES);
199+
return databaseId;
200+
}
183201
}

‎java-spanner/samples/snippets/src/test/java/com/example/spanner/UpdateBackupScheduleSampleIT.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,20 @@
2020

2121
import com.google.spanner.admin.database.v1.BackupScheduleName;
2222
import java.util.UUID;
23+
import org.junit.BeforeClass;
2324
import org.junit.Test;
2425
import org.junit.runner.RunWith;
2526
import org.junit.runners.JUnit4;
2627

2728
@RunWith(JUnit4.class)
2829
public class UpdateBackupScheduleSampleIT extends SampleTestBaseV2 {
29-
// Default instance and given db should exist for tests to pass.
30-
private static String databaseId = System.getProperty("spanner.sample.database", "mysample");
30+
31+
private static String databaseId;
32+
33+
@BeforeClass
34+
public static void setUp() throws Exception {
35+
databaseId = createEphemeralDatabase();
36+
}
3137

3238
@Test
3339
public void testUpdateBackupScheduleSample() throws Exception {

0 commit comments

Comments
 (0)