@@ -117,57 +117,6 @@ public class GroupByKeyTest implements Serializable {
117117 /** Shared test base class with setup/teardown helpers. */
118118 public abstract static class SharedTestBase {
119119 @ Rule public transient TestPipeline p = TestPipeline .create ();
120-
121- private static final String PROJECT_ID = "apache-beam-testing" ;
122- private static final String SECRET_ID = "gbek-test" ;
123- public static String gcpSecretVersionName ;
124- private static String secretId ;
125-
126- @ BeforeClass
127- public static void setup () throws IOException {
128- secretId = String .format ("%s-%d" , SECRET_ID , new SecureRandom ().nextInt (10000 ));
129- SecretManagerServiceClient client ;
130- try {
131- client = SecretManagerServiceClient .create ();
132- } catch (IOException e ) {
133- gcpSecretVersionName = null ;
134- return ;
135- }
136- ProjectName projectName = ProjectName .of (PROJECT_ID );
137- SecretName secretName = SecretName .of (PROJECT_ID , secretId );
138-
139- try {
140- client .getSecret (secretName );
141- } catch (Exception e ) {
142- com .google .cloud .secretmanager .v1 .Secret secret =
143- com .google .cloud .secretmanager .v1 .Secret .newBuilder ()
144- .setReplication (
145- com .google .cloud .secretmanager .v1 .Replication .newBuilder ()
146- .setAutomatic (
147- com .google .cloud .secretmanager .v1 .Replication .Automatic .newBuilder ()
148- .build ())
149- .build ())
150- .build ();
151- client .createSecret (projectName , secretId , secret );
152- byte [] secretBytes = new byte [32 ];
153- new SecureRandom ().nextBytes (secretBytes );
154- client .addSecretVersion (
155- secretName ,
156- SecretPayload .newBuilder ()
157- .setData (ByteString .copyFrom (java .util .Base64 .getUrlEncoder ().encode (secretBytes )))
158- .build ());
159- }
160- gcpSecretVersionName = secretName .toString () + "/versions/latest" ;
161- }
162-
163- @ AfterClass
164- public static void tearDown () throws IOException {
165- if (gcpSecretVersionName != null ) {
166- SecretManagerServiceClient client = SecretManagerServiceClient .create ();
167- SecretName secretName = SecretName .of (PROJECT_ID , secretId );
168- client .deleteSecret (secretName );
169- }
170- }
171120 }
172121
173122 /** Tests validating basic {@link GroupByKey} scenarios. */
@@ -673,6 +622,61 @@ public void testLargeKeys10MB() throws Exception {
673622 public void testLargeKeys100MB () throws Exception {
674623 runLargeKeysTest (p , 100 << 20 );
675624 }
625+ }
626+
627+ /** Tests validating GroupByKey behaviors with the gbek flag set. */
628+ @ RunWith (JUnit4 .class )
629+ public static class GbekTests extends SharedTestBase {
630+ private static final String PROJECT_ID = "apache-beam-testing" ;
631+ private static final String SECRET_ID = "gbek-test" ;
632+ public static String gcpSecretVersionName ;
633+ private static String secretId ;
634+
635+ @ BeforeClass
636+ public static void setup () throws IOException {
637+ secretId = String .format ("%s-%d" , SECRET_ID , new SecureRandom ().nextInt (10000 ));
638+ SecretManagerServiceClient client ;
639+ try {
640+ client = SecretManagerServiceClient .create ();
641+ } catch (IOException e ) {
642+ gcpSecretVersionName = null ;
643+ return ;
644+ }
645+ ProjectName projectName = ProjectName .of (PROJECT_ID );
646+ SecretName secretName = SecretName .of (PROJECT_ID , secretId );
647+
648+ try {
649+ client .getSecret (secretName );
650+ } catch (Exception e ) {
651+ com .google .cloud .secretmanager .v1 .Secret secret =
652+ com .google .cloud .secretmanager .v1 .Secret .newBuilder ()
653+ .setReplication (
654+ com .google .cloud .secretmanager .v1 .Replication .newBuilder ()
655+ .setAutomatic (
656+ com .google .cloud .secretmanager .v1 .Replication .Automatic .newBuilder ()
657+ .build ())
658+ .build ())
659+ .build ();
660+ client .createSecret (projectName , secretId , secret );
661+ byte [] secretBytes = new byte [32 ];
662+ new SecureRandom ().nextBytes (secretBytes );
663+ client .addSecretVersion (
664+ secretName ,
665+ SecretPayload .newBuilder ()
666+ .setData (ByteString .copyFrom (java .util .Base64 .getUrlEncoder ().encode (secretBytes )))
667+ .build ());
668+ }
669+ gcpSecretVersionName = secretName .toString () + "/versions/latest" ;
670+ }
671+
672+ @ AfterClass
673+ public static void tearDown () throws IOException {
674+ if (gcpSecretVersionName != null ) {
675+ SecretManagerServiceClient client = SecretManagerServiceClient .create ();
676+ SecretName secretName = SecretName .of (PROJECT_ID , secretId );
677+ client .deleteSecret (secretName );
678+ }
679+ }
676680
677681 @ Test
678682 @ Category (NeedsRunner .class )
0 commit comments