This is an automated email from the ASF dual-hosted git repository.
damccorm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new fb8058454c0 Refactor GBEK tests to split out secret setup for tests
that dont need it (#36479)
fb8058454c0 is described below
commit fb8058454c0e97c9fdb2147177e868f883bff3fc
Author: Danny McCormick <[email protected]>
AuthorDate: Fri Oct 10 21:14:25 2025 -0400
Refactor GBEK tests to split out secret setup for tests that dont need it
(#36479)
---
.../beam_PostCommit_Java_PVR_Spark3_Streaming.json | 2 +-
.../apache/beam/sdk/transforms/GroupByKeyTest.java | 106 +++++++++++----------
2 files changed, 56 insertions(+), 52 deletions(-)
diff --git
a/.github/trigger_files/beam_PostCommit_Java_PVR_Spark3_Streaming.json
b/.github/trigger_files/beam_PostCommit_Java_PVR_Spark3_Streaming.json
index e0266d62f2e..f1ba03a243e 100644
--- a/.github/trigger_files/beam_PostCommit_Java_PVR_Spark3_Streaming.json
+++ b/.github/trigger_files/beam_PostCommit_Java_PVR_Spark3_Streaming.json
@@ -1,4 +1,4 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to
run",
- "modification": 4
+ "modification": 5
}
diff --git
a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/GroupByKeyTest.java
b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/GroupByKeyTest.java
index d9a3e3ed20d..3ff98d47939 100644
---
a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/GroupByKeyTest.java
+++
b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/GroupByKeyTest.java
@@ -117,57 +117,6 @@ public class GroupByKeyTest implements Serializable {
/** Shared test base class with setup/teardown helpers. */
public abstract static class SharedTestBase {
@Rule public transient TestPipeline p = TestPipeline.create();
-
- private static final String PROJECT_ID = "apache-beam-testing";
- private static final String SECRET_ID = "gbek-test";
- public static String gcpSecretVersionName;
- private static String secretId;
-
- @BeforeClass
- public static void setup() throws IOException {
- secretId = String.format("%s-%d", SECRET_ID, new
SecureRandom().nextInt(10000));
- SecretManagerServiceClient client;
- try {
- client = SecretManagerServiceClient.create();
- } catch (IOException e) {
- gcpSecretVersionName = null;
- return;
- }
- ProjectName projectName = ProjectName.of(PROJECT_ID);
- SecretName secretName = SecretName.of(PROJECT_ID, secretId);
-
- try {
- client.getSecret(secretName);
- } catch (Exception e) {
- com.google.cloud.secretmanager.v1.Secret secret =
- com.google.cloud.secretmanager.v1.Secret.newBuilder()
- .setReplication(
- com.google.cloud.secretmanager.v1.Replication.newBuilder()
- .setAutomatic(
-
com.google.cloud.secretmanager.v1.Replication.Automatic.newBuilder()
- .build())
- .build())
- .build();
- client.createSecret(projectName, secretId, secret);
- byte[] secretBytes = new byte[32];
- new SecureRandom().nextBytes(secretBytes);
- client.addSecretVersion(
- secretName,
- SecretPayload.newBuilder()
-
.setData(ByteString.copyFrom(java.util.Base64.getUrlEncoder().encode(secretBytes)))
- .build());
- }
- gcpSecretVersionName = secretName.toString() + "/versions/latest";
- }
-
- @AfterClass
- public static void tearDown() throws IOException {
- if (gcpSecretVersionName != null) {
- SecretManagerServiceClient client =
SecretManagerServiceClient.create();
- SecretName secretName = SecretName.of(PROJECT_ID, secretId);
- client.deleteSecret(secretName);
- }
- }
}
/** Tests validating basic {@link GroupByKey} scenarios. */
@@ -673,6 +622,61 @@ public class GroupByKeyTest implements Serializable {
public void testLargeKeys100MB() throws Exception {
runLargeKeysTest(p, 100 << 20);
}
+ }
+
+ /** Tests validating GroupByKey behaviors with the gbek flag set. */
+ @RunWith(JUnit4.class)
+ public static class GbekTests extends SharedTestBase {
+ private static final String PROJECT_ID = "apache-beam-testing";
+ private static final String SECRET_ID = "gbek-test";
+ public static String gcpSecretVersionName;
+ private static String secretId;
+
+ @BeforeClass
+ public static void setup() throws IOException {
+ secretId = String.format("%s-%d", SECRET_ID, new
SecureRandom().nextInt(10000));
+ SecretManagerServiceClient client;
+ try {
+ client = SecretManagerServiceClient.create();
+ } catch (IOException e) {
+ gcpSecretVersionName = null;
+ return;
+ }
+ ProjectName projectName = ProjectName.of(PROJECT_ID);
+ SecretName secretName = SecretName.of(PROJECT_ID, secretId);
+
+ try {
+ client.getSecret(secretName);
+ } catch (Exception e) {
+ com.google.cloud.secretmanager.v1.Secret secret =
+ com.google.cloud.secretmanager.v1.Secret.newBuilder()
+ .setReplication(
+ com.google.cloud.secretmanager.v1.Replication.newBuilder()
+ .setAutomatic(
+
com.google.cloud.secretmanager.v1.Replication.Automatic.newBuilder()
+ .build())
+ .build())
+ .build();
+ client.createSecret(projectName, secretId, secret);
+ byte[] secretBytes = new byte[32];
+ new SecureRandom().nextBytes(secretBytes);
+ client.addSecretVersion(
+ secretName,
+ SecretPayload.newBuilder()
+
.setData(ByteString.copyFrom(java.util.Base64.getUrlEncoder().encode(secretBytes)))
+ .build());
+ }
+ gcpSecretVersionName = secretName.toString() + "/versions/latest";
+ }
+
+ @AfterClass
+ public static void tearDown() throws IOException {
+ if (gcpSecretVersionName != null) {
+ SecretManagerServiceClient client =
SecretManagerServiceClient.create();
+ SecretName secretName = SecretName.of(PROJECT_ID, secretId);
+ client.deleteSecret(secretName);
+ }
+ }
@Test
@Category(NeedsRunner.class)