18
18
19
19
import static com .google .common .truth .Truth .assertThat ;
20
20
import static org .junit .Assert .assertFalse ;
21
- import static org .junit .Assert .assertNull ;
22
21
23
22
import com .google .cloud .secretmanager .v1 .AddSecretVersionRequest ;
24
23
import com .google .cloud .secretmanager .v1 .CreateSecretRequest ;
@@ -68,13 +67,18 @@ public class SnippetsIT {
68
67
private static final String LABEL_VALUE = "examplelabelvalue" ;
69
68
private static final String UPDATED_LABEL_KEY = "updatedlabelkey" ;
70
69
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" ;
71
74
72
75
private static Secret TEST_SECRET ;
73
76
private static Secret TEST_SECRET_TO_DELETE ;
74
77
private static Secret TEST_SECRET_TO_DELETE_WITH_ETAG ;
75
78
private static Secret TEST_SECRET_WITH_VERSIONS ;
76
79
private static SecretName TEST_SECRET_TO_CREATE_NAME ;
77
80
private static SecretName TEST_SECRET_WITH_LABEL_TO_CREATE_NAME ;
81
+ private static SecretName TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME ;
78
82
private static SecretName TEST_UMMR_SECRET_TO_CREATE_NAME ;
79
83
private static SecretVersion TEST_SECRET_VERSION ;
80
84
private static SecretVersion TEST_SECRET_VERSION_TO_DESTROY ;
@@ -90,13 +94,14 @@ public class SnippetsIT {
90
94
public static void beforeAll () throws IOException {
91
95
Assert .assertFalse ("missing GOOGLE_CLOUD_PROJECT" , Strings .isNullOrEmpty (PROJECT_ID ));
92
96
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 );
97
101
TEST_SECRET_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
98
102
TEST_UMMR_SECRET_TO_CREATE_NAME = SecretName .of (PROJECT_ID , randomSecretId ());
99
103
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 ());
100
105
101
106
TEST_SECRET_VERSION = addSecretVersion (TEST_SECRET_WITH_VERSIONS );
102
107
TEST_SECRET_VERSION_TO_DESTROY = addSecretVersion (TEST_SECRET_WITH_VERSIONS );
@@ -129,6 +134,7 @@ public static void afterAll() throws IOException {
129
134
deleteSecret (TEST_SECRET .getName ());
130
135
deleteSecret (TEST_SECRET_TO_CREATE_NAME .toString ());
131
136
deleteSecret (TEST_SECRET_WITH_LABEL_TO_CREATE_NAME .toString ());
137
+ deleteSecret (TEST_SECRET_WITH_ANNOTATION_TO_CREATE_NAME .toString ());
132
138
deleteSecret (TEST_UMMR_SECRET_TO_CREATE_NAME .toString ());
133
139
deleteSecret (TEST_SECRET_TO_DELETE .getName ());
134
140
deleteSecret (TEST_SECRET_TO_DELETE_WITH_ETAG .getName ());
@@ -140,28 +146,42 @@ private static String randomSecretId() {
140
146
return "java-" + random .nextLong ();
141
147
}
142
148
143
- private static Secret createSecret () throws IOException {
149
+ private static Secret createSecret (boolean addAnnotation ) throws IOException {
144
150
ProjectName parent = ProjectName .of (PROJECT_ID );
145
151
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
+
146
172
CreateSecretRequest request =
147
173
CreateSecretRequest .newBuilder ()
148
174
.setParent (parent .toString ())
149
175
.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 )
158
177
.build ();
159
178
160
179
try (SecretManagerServiceClient client = SecretManagerServiceClient .create ()) {
161
180
return client .createSecret (request );
162
181
}
163
182
}
164
183
184
+
165
185
private static SecretVersion addSecretVersion (Secret secret ) throws IOException {
166
186
SecretName parent = SecretName .parse (secret .getName ());
167
187
@@ -237,6 +257,15 @@ public void testCreateSecretWithLabel() throws IOException {
237
257
assertThat (secret .getLabelsMap ()).containsEntry (LABEL_KEY , LABEL_VALUE );
238
258
}
239
259
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
+
240
269
@ Test
241
270
public void testCreateSecretWithUserManagedReplication () throws IOException {
242
271
SecretName name = TEST_UMMR_SECRET_TO_CREATE_NAME ;
@@ -361,6 +390,15 @@ public void testViewSecretLabels() throws IOException {
361
390
assertThat (labels ).containsEntry (LABEL_KEY , LABEL_VALUE );
362
391
}
363
392
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
+
364
402
365
403
@ Test
366
404
public void testIamGrantAccess () throws IOException {
@@ -432,6 +470,16 @@ public void testCreateUpdateSecretLabel() throws IOException {
432
470
UPDATED_LABEL_KEY , UPDATED_LABEL_VALUE );
433
471
}
434
472
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
+
435
483
@ Test
436
484
public void testUpdateSecretWithAlias () throws IOException {
437
485
SecretName name = SecretName .parse (TEST_SECRET_WITH_VERSIONS .getName ());
0 commit comments