1818
1919import static com .google .common .truth .Truth .assertThat ;
2020import static org .junit .Assert .assertFalse ;
21- import static org .junit .Assert .assertNull ;
2221
2322import com .google .cloud .secretmanager .v1 .AddSecretVersionRequest ;
2423import com .google .cloud .secretmanager .v1 .CreateSecretRequest ;
@@ -68,13 +67,18 @@ public class SnippetsIT {
6867 private static final String LABEL_VALUE = "examplelabelvalue" ;
6968 private static final String UPDATED_LABEL_KEY = "updatedlabelkey" ;
7069 private static final String UPDATED_LABEL_VALUE = "updatedlabelvalue" ;
70+ private static final String ANNOTATION_KEY = "exampleannotationkey" ;
71+ private static final String ANNOTATION_VALUE = "exampleannotationvalue" ;
72+ private static final String UPDATED_ANNOTATION_KEY = "updatedannotationkey" ;
73+ private static final String UPDATED_ANNOTATION_VALUE = "updatedannotationvalue" ;
7174
7275 private static Secret TEST_SECRET ;
7376 private static Secret TEST_SECRET_TO_DELETE ;
7477 private static Secret TEST_SECRET_TO_DELETE_WITH_ETAG ;
7578 private static Secret TEST_SECRET_WITH_VERSIONS ;
7679 private static SecretName TEST_SECRET_TO_CREATE_NAME ;
7780 private static SecretName TEST_SECRET_WITH_LABEL_TO_CREATE_NAME ;
81+ private static SecretName TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME ;
7882 private static SecretName TEST_UMMR_SECRET_TO_CREATE_NAME ;
7983 private static SecretVersion TEST_SECRET_VERSION ;
8084 private static SecretVersion TEST_SECRET_VERSION_TO_DESTROY ;
@@ -90,13 +94,14 @@ public class SnippetsIT {
9094 public static void beforeAll () throws IOException {
9195 Assert .assertFalse ("missing GOOGLE_CLOUD_PROJECT" , Strings .isNullOrEmpty (PROJECT_ID ));
9296
93- TEST_SECRET = createSecret ();
94- TEST_SECRET_TO_DELETE = createSecret ();
95- TEST_SECRET_TO_DELETE_WITH_ETAG = createSecret ();
96- TEST_SECRET_WITH_VERSIONS = createSecret ();
97+ TEST_SECRET = createSecret (true );
98+ TEST_SECRET_TO_DELETE = createSecret (false );
99+ TEST_SECRET_TO_DELETE_WITH_ETAG = createSecret (false );
100+ TEST_SECRET_WITH_VERSIONS = createSecret (false );
97101 TEST_SECRET_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
98102 TEST_UMMR_SECRET_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
99103 TEST_SECRET_WITH_LABEL_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
104+ TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
100105
101106 TEST_SECRET_VERSION = addSecretVersion (TEST_SECRET_WITH_VERSIONS );
102107 TEST_SECRET_VERSION_TO_DESTROY = addSecretVersion (TEST_SECRET_WITH_VERSIONS );
@@ -129,6 +134,7 @@ public static void afterAll() throws IOException {
129134 deleteSecret (TEST_SECRET .getName ());
130135 deleteSecret (TEST_SECRET_TO_CREATE_NAME .toString ());
131136 deleteSecret (TEST_SECRET_WITH_LABEL_TO_CREATE_NAME .toString ());
137+ deleteSecret (TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME .toString ());
132138 deleteSecret (TEST_UMMR_SECRET_TO_CREATE_NAME .toString ());
133139 deleteSecret (TEST_SECRET_TO_DELETE .getName ());
134140 deleteSecret (TEST_SECRET_TO_DELETE_WITH_ETAG .getName ());
@@ -140,28 +146,42 @@ private static String randomSecretId() {
140146 return "java-" + random .nextLong ();
141147 }
142148
143- private static Secret createSecret () throws IOException {
149+ private static Secret createSecret (boolean addAnnotation ) throws IOException {
144150 ProjectName parent = ProjectName .of (PROJECT_ID );
145151
152+ Secret secret ;
153+ if (addAnnotation ) {
154+ secret = Secret .newBuilder ()
155+ .setReplication (
156+ Replication .newBuilder ()
157+ .setAutomatic (Replication .Automatic .newBuilder ().build ())
158+ .build ())
159+ .putLabels (LABEL_KEY , LABEL_VALUE )
160+ .putAnnotations (ANNOTATION_KEY , ANNOTATION_VALUE )
161+ .build ();
162+ } else {
163+ secret = Secret .newBuilder ()
164+ .setReplication (
165+ Replication .newBuilder ()
166+ .setAutomatic (Replication .Automatic .newBuilder ().build ())
167+ .build ())
168+ .putLabels (LABEL_KEY , LABEL_VALUE )
169+ .build ();
170+ }
171+
146172 CreateSecretRequest request =
147173 CreateSecretRequest .newBuilder ()
148174 .setParent (parent .toString ())
149175 .setSecretId (randomSecretId ())
150- .setSecret (
151- Secret .newBuilder ()
152- .setReplication (
153- Replication .newBuilder ()
154- .setAutomatic (Replication .Automatic .newBuilder ().build ())
155- .build ())
156- .putLabels (LABEL_KEY , LABEL_VALUE )
157- .build ())
176+ .setSecret (secret )
158177 .build ();
159178
160179 try (SecretManagerServiceClient client = SecretManagerServiceClient .create ()) {
161180 return client .createSecret (request );
162181 }
163182 }
164183
184+
165185 private static SecretVersion addSecretVersion (Secret secret ) throws IOException {
166186 SecretName parent = SecretName .parse (secret .getName ());
167187
@@ -237,6 +257,15 @@ public void testCreateSecretWithLabel() throws IOException {
237257 assertThat (secret .getLabelsMap ()).containsEntry (LABEL_KEY , LABEL_VALUE );
238258 }
239259
260+ @ Test
261+ public void testCreateSecretWithAnnotations () throws IOException {
262+ SecretName name = TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME ;
263+ Secret secret = CreateSecretWithAnnotations .createSecretWithAnnotations (
264+ name .getProject (), name .getSecret (), ANNOTATION_KEY , ANNOTATION_VALUE );
265+
266+ assertThat (secret .getAnnotationsMap ()).containsEntry (ANNOTATION_KEY , ANNOTATION_VALUE );
267+ }
268+
240269 @ Test
241270 public void testCreateSecretWithUserManagedReplication () throws IOException {
242271 SecretName name = TEST_UMMR_SECRET_TO_CREATE_NAME ;
@@ -361,6 +390,15 @@ public void testViewSecretLabels() throws IOException {
361390 assertThat (labels ).containsEntry (LABEL_KEY , LABEL_VALUE );
362391 }
363392
393+ @ Test
394+ public void testViewSecretAnnotations () throws IOException {
395+ SecretName name = SecretName .parse (TEST_SECRET .getName ());
396+ Map <String , String > annotations =
397+ ViewSecretAnnotations .viewSecretAnnotations (name .getProject (), name .getSecret ());
398+
399+ assertThat (annotations ).containsEntry (ANNOTATION_KEY , ANNOTATION_VALUE );
400+ }
401+
364402
365403 @ Test
366404 public void testIamGrantAccess () throws IOException {
@@ -432,6 +470,16 @@ public void testCreateUpdateSecretLabel() throws IOException {
432470 UPDATED_LABEL_KEY , UPDATED_LABEL_VALUE );
433471 }
434472
473+ @ Test
474+ public void testEditSecretAnnotations () throws IOException {
475+ SecretName name = SecretName .parse (TEST_SECRET .getName ());
476+ Secret updatedSecret = EditSecretAnnotations .editSecretAnnotations (
477+ name .getProject (), name .getSecret (), UPDATED_ANNOTATION_KEY , UPDATED_ANNOTATION_VALUE );
478+
479+ assertThat (updatedSecret .getAnnotationsMap ()).containsEntry (
480+ UPDATED_ANNOTATION_KEY , UPDATED_ANNOTATION_VALUE );
481+ }
482+
435483 @ Test
436484 public void testUpdateSecretWithAlias () throws IOException {
437485 SecretName name = SecretName .parse (TEST_SECRET_WITH_VERSIONS .getName ());
0 commit comments