Skip to content

Commit 5b8fdbc

Browse files
authored
Move GCloud tests to JUnit Jupiter (#10736)
1 parent b226866 commit 5b8fdbc

File tree

7 files changed

+198
-185
lines changed

7 files changed

+198
-185
lines changed

modules/gcloud/build.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ description = "Testcontainers :: GCloud"
33
dependencies {
44
api project(':testcontainers')
55

6+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.0'
7+
8+
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.4'
69
testImplementation platform("com.google.cloud:libraries-bom:26.66.0")
710
testImplementation 'com.google.cloud:google-cloud-bigquery'
811
testImplementation 'com.google.cloud:google-cloud-datastore'
@@ -12,3 +15,7 @@ dependencies {
1215
testImplementation 'com.google.cloud:google-cloud-bigtable'
1316
testImplementation 'org.assertj:assertj-core:3.27.4'
1417
}
18+
19+
test {
20+
useJUnitPlatform()
21+
}

modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
import com.google.cloud.bigquery.BigQueryOptions;
66
import com.google.cloud.bigquery.QueryJobConfiguration;
77
import com.google.cloud.bigquery.TableResult;
8-
import org.junit.Test;
8+
import org.junit.jupiter.api.Test;
99

1010
import java.math.BigDecimal;
1111
import java.util.List;
1212
import java.util.stream.Collectors;
1313

1414
import static org.assertj.core.api.Assertions.assertThat;
1515

16-
public class BigQueryEmulatorContainerTest {
16+
class BigQueryEmulatorContainerTest {
1717

1818
@Test
19-
public void test() throws Exception {
19+
void test() throws Exception {
2020
try (
2121
// emulatorContainer {
2222
BigQueryEmulatorContainer container = new BigQueryEmulatorContainer("ghcr.io/goccy/bigquery-emulator:0.4.3")

modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -19,57 +19,60 @@
1919
import com.google.cloud.bigtable.data.v2.models.TableId;
2020
import io.grpc.ManagedChannel;
2121
import io.grpc.ManagedChannelBuilder;
22-
import org.junit.Rule;
23-
import org.junit.Test;
22+
import org.junit.jupiter.api.Test;
2423
import org.testcontainers.utility.DockerImageName;
2524

2625
import java.io.IOException;
2726
import java.util.List;
2827

2928
import static org.assertj.core.api.Assertions.assertThat;
3029

31-
public class BigtableEmulatorContainerTest {
30+
class BigtableEmulatorContainerTest {
3231

33-
public static final String PROJECT_ID = "test-project";
32+
private static final String PROJECT_ID = "test-project";
3433

35-
public static final String INSTANCE_ID = "test-instance";
36-
37-
@Rule
38-
// emulatorContainer {
39-
public BigtableEmulatorContainer emulator = new BigtableEmulatorContainer(
40-
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
41-
);
42-
43-
// }
34+
private static final String INSTANCE_ID = "test-instance";
4435

4536
@Test
4637
// testWithEmulatorContainer {
47-
public void testSimple() throws IOException {
48-
ManagedChannel channel = ManagedChannelBuilder.forTarget(emulator.getEmulatorEndpoint()).usePlaintext().build();
49-
50-
TransportChannelProvider channelProvider = FixedTransportChannelProvider.create(
51-
GrpcTransportChannel.create(channel)
52-
);
53-
NoCredentialsProvider credentialsProvider = NoCredentialsProvider.create();
54-
createTable(channelProvider, credentialsProvider, "test-table");
38+
void testSimple() throws IOException {
5539
try (
56-
BigtableDataClient client = BigtableDataClient.create(
57-
BigtableDataSettings
58-
.newBuilderForEmulator(emulator.getHost(), emulator.getEmulatorPort())
59-
.setProjectId(PROJECT_ID)
60-
.setInstanceId(INSTANCE_ID)
61-
.build()
62-
)
40+
// emulatorContainer {
41+
BigtableEmulatorContainer emulator = new BigtableEmulatorContainer(
42+
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
43+
);
44+
// }
6345
) {
64-
client.mutateRow(RowMutation.create(TableId.of("test-table"), "1").setCell("name", "firstName", "Ray"));
46+
emulator.start();
47+
ManagedChannel channel = ManagedChannelBuilder
48+
.forTarget(emulator.getEmulatorEndpoint())
49+
.usePlaintext()
50+
.build();
51+
52+
TransportChannelProvider channelProvider = FixedTransportChannelProvider.create(
53+
GrpcTransportChannel.create(channel)
54+
);
55+
NoCredentialsProvider credentialsProvider = NoCredentialsProvider.create();
56+
createTable(channelProvider, credentialsProvider, "test-table");
57+
try (
58+
BigtableDataClient client = BigtableDataClient.create(
59+
BigtableDataSettings
60+
.newBuilderForEmulator(emulator.getHost(), emulator.getEmulatorPort())
61+
.setProjectId(PROJECT_ID)
62+
.setInstanceId(INSTANCE_ID)
63+
.build()
64+
)
65+
) {
66+
client.mutateRow(RowMutation.create(TableId.of("test-table"), "1").setCell("name", "firstName", "Ray"));
6567

66-
Row row = client.readRow(TableId.of("test-table"), "1");
67-
List<RowCell> cells = row.getCells("name", "firstName");
68+
Row row = client.readRow(TableId.of("test-table"), "1");
69+
List<RowCell> cells = row.getCells("name", "firstName");
6870

69-
assertThat(cells).isNotNull().hasSize(1);
70-
assertThat(cells.get(0).getValue().toStringUtf8()).isEqualTo("Ray");
71-
} finally {
72-
channel.shutdown();
71+
assertThat(cells).isNotNull().hasSize(1);
72+
assertThat(cells.get(0).getValue().toStringUtf8()).isEqualTo("Ray");
73+
} finally {
74+
channel.shutdown();
75+
}
7376
}
7477
}
7578

modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import com.google.cloud.datastore.DatastoreOptions;
77
import com.google.cloud.datastore.Entity;
88
import com.google.cloud.datastore.Key;
9-
import org.junit.Rule;
10-
import org.junit.Test;
9+
import org.junit.jupiter.api.Test;
1110
import org.testcontainers.utility.DockerImageName;
1211

1312
import java.io.IOException;
@@ -16,37 +15,38 @@
1615

1716
public class DatastoreEmulatorContainerTest {
1817

19-
@Rule
20-
// creatingDatastoreEmulatorContainer {
21-
public DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer(
22-
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
23-
);
24-
25-
// }
26-
2718
// startingDatastoreEmulatorContainer {
2819
@Test
2920
public void testSimple() {
30-
DatastoreOptions options = DatastoreOptions
31-
.newBuilder()
32-
.setHost(emulator.getEmulatorEndpoint())
33-
.setCredentials(NoCredentials.getInstance())
34-
.setRetrySettings(ServiceOptions.getNoRetrySettings())
35-
.setProjectId(emulator.getProjectId())
36-
.build();
37-
Datastore datastore = options.getService();
21+
try (
22+
// creatingDatastoreEmulatorContainer {
23+
DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer(
24+
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
25+
);
26+
// }
27+
) {
28+
emulator.start();
29+
DatastoreOptions options = DatastoreOptions
30+
.newBuilder()
31+
.setHost(emulator.getEmulatorEndpoint())
32+
.setCredentials(NoCredentials.getInstance())
33+
.setRetrySettings(ServiceOptions.getNoRetrySettings())
34+
.setProjectId(emulator.getProjectId())
35+
.build();
36+
Datastore datastore = options.getService();
3837

39-
Key key = datastore.newKeyFactory().setKind("Task").newKey("sample");
40-
Entity entity = Entity.newBuilder(key).set("description", "my description").build();
41-
datastore.put(entity);
38+
Key key = datastore.newKeyFactory().setKind("Task").newKey("sample");
39+
Entity entity = Entity.newBuilder(key).set("description", "my description").build();
40+
datastore.put(entity);
4241

43-
assertThat(datastore.get(key).getString("description")).isEqualTo("my description");
42+
assertThat(datastore.get(key).getString("description")).isEqualTo("my description");
43+
}
4444
}
4545

4646
// }
4747

4848
@Test
49-
public void testWithFlags() throws IOException, InterruptedException {
49+
void testWithFlags() throws IOException, InterruptedException {
5050
try (
5151
DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer(
5252
"gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators"
@@ -61,7 +61,7 @@ public void testWithFlags() throws IOException, InterruptedException {
6161
}
6262

6363
@Test
64-
public void testWithMultipleFlags() throws IOException, InterruptedException {
64+
void testWithMultipleFlags() throws IOException, InterruptedException {
6565
try (
6666
DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer(
6767
"gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators"

modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
import com.google.cloud.firestore.FirestoreOptions;
99
import com.google.cloud.firestore.QuerySnapshot;
1010
import com.google.cloud.firestore.WriteResult;
11-
import org.junit.Rule;
12-
import org.junit.Test;
11+
import org.junit.jupiter.api.Test;
1312
import org.testcontainers.utility.DockerImageName;
1413

1514
import java.util.HashMap;
@@ -18,46 +17,47 @@
1817

1918
import static org.assertj.core.api.Assertions.assertThat;
2019

21-
public class FirestoreEmulatorContainerTest {
22-
23-
@Rule
24-
// emulatorContainer {
25-
public FirestoreEmulatorContainer emulator = new FirestoreEmulatorContainer(
26-
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
27-
);
28-
29-
// }
20+
class FirestoreEmulatorContainerTest {
3021

3122
// testWithEmulatorContainer {
3223
@Test
33-
public void testSimple() throws ExecutionException, InterruptedException {
34-
FirestoreOptions options = FirestoreOptions
35-
.getDefaultInstance()
36-
.toBuilder()
37-
.setHost(emulator.getEmulatorEndpoint())
38-
.setCredentials(NoCredentials.getInstance())
39-
.setProjectId("test-project")
40-
.build();
41-
Firestore firestore = options.getService();
24+
void testSimple() throws ExecutionException, InterruptedException {
25+
try (
26+
// emulatorContainer {
27+
FirestoreEmulatorContainer emulator = new FirestoreEmulatorContainer(
28+
DockerImageName.parse("gcr.io/google.com/cloudsdktool/google-cloud-cli:441.0.0-emulators")
29+
);
30+
// }
31+
) {
32+
emulator.start();
33+
FirestoreOptions options = FirestoreOptions
34+
.getDefaultInstance()
35+
.toBuilder()
36+
.setHost(emulator.getEmulatorEndpoint())
37+
.setCredentials(NoCredentials.getInstance())
38+
.setProjectId("test-project")
39+
.build();
40+
Firestore firestore = options.getService();
4241

43-
CollectionReference users = firestore.collection("users");
44-
DocumentReference docRef = users.document("alovelace");
45-
Map<String, Object> data = new HashMap<>();
46-
data.put("first", "Ada");
47-
data.put("last", "Lovelace");
48-
ApiFuture<WriteResult> result = docRef.set(data);
49-
result.get();
42+
CollectionReference users = firestore.collection("users");
43+
DocumentReference docRef = users.document("alovelace");
44+
Map<String, Object> data = new HashMap<>();
45+
data.put("first", "Ada");
46+
data.put("last", "Lovelace");
47+
ApiFuture<WriteResult> result = docRef.set(data);
48+
result.get();
5049

51-
ApiFuture<QuerySnapshot> query = users.get();
52-
QuerySnapshot querySnapshot = query.get();
50+
ApiFuture<QuerySnapshot> query = users.get();
51+
QuerySnapshot querySnapshot = query.get();
5352

54-
assertThat(querySnapshot.getDocuments().get(0).getData()).containsEntry("first", "Ada");
53+
assertThat(querySnapshot.getDocuments().get(0).getData()).containsEntry("first", "Ada");
54+
}
5555
}
5656

5757
// }
5858

5959
@Test
60-
public void testWithFlags() {
60+
void testWithFlags() {
6161
try (
6262
FirestoreEmulatorContainer emulator = new FirestoreEmulatorContainer(
6363
"gcr.io/google.com/cloudsdktool/google-cloud-cli:465.0.0-emulators"

0 commit comments

Comments
 (0)