Skip to content

Commit 00555f3

Browse files
author
Frank Natividad
committed
Using snippet policy to verify correctness. Removed extra API calls getIamPolicy
1 parent 8b49ff9 commit 00555f3

2 files changed

Lines changed: 20 additions & 21 deletions

File tree

google-cloud-examples/src/main/java/com/google/cloud/examples/storage/snippets/BucketIamSnippets.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public Policy listBucketIamMembers(String bucketName) {
5353
/**
5454
* Example of adding a member to the Bucket-level IAM
5555
*/
56-
public void addBucketIamMember(String bucketName, Role role, Identity identity) {
56+
public Policy addBucketIamMember(String bucketName, Role role, Identity identity) {
5757
// [START add_bucket_iam_member]
5858
// Initialize a Cloud Storage client
5959
Storage storage = StorageOptions.getDefaultInstance().getService();
@@ -69,12 +69,13 @@ public void addBucketIamMember(String bucketName, Role role, Identity identity)
6969
System.out.printf("Added %s with role %s to %s\n", identity, role, bucketName);
7070
}
7171
// [END add_bucket_iam_member]
72+
return updatedPolicy;
7273
}
7374

7475
/**
7576
* Example of removing a member from the Bucket-level IAM
7677
*/
77-
public void removeBucketIamMember(String bucketName, Role role, Identity identity) {
78+
public Policy removeBucketIamMember(String bucketName, Role role, Identity identity) {
7879
// [START remove_bucket_iam_member]
7980
// Initialize a Cloud Storage client
8081
Storage storage = StorageOptions.getDefaultInstance().getService();
@@ -91,5 +92,6 @@ public void removeBucketIamMember(String bucketName, Role role, Identity identit
9192
System.out.printf("Removed %s with role %s from %s\n", identity, role, bucketName);
9293
}
9394
// [END remove_bucket_iam_member]
95+
return updatedPolicy;
9496
}
9597
}

google-cloud-examples/src/test/java/com/google/cloud/examples/storage/snippets/ITBucketSnippets.java

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,11 @@ public void testBucket() throws InterruptedException {
144144
public void testListBucketIamMembers() {
145145
// Test an added Bucket-level IAM member is listed
146146
Policy policy = storage.getIamPolicy(BUCKET);
147-
storage.setIamPolicy(BUCKET, policy.toBuilder().removeRole(StorageRoles.admin()).build());
148-
policy = storage.getIamPolicy(BUCKET);
147+
policy = storage.setIamPolicy(BUCKET,
148+
policy.toBuilder().removeRole(StorageRoles.admin()).build());
149149
assertNull(policy.getBindings().get(StorageRoles.admin()));
150-
storage.setIamPolicy(BUCKET, policy.toBuilder().addIdentity(StorageRoles.admin(),
151-
Identity.user(USER_EMAIL)).build());
152-
policy = storage.getIamPolicy(BUCKET);
150+
policy = storage.setIamPolicy(BUCKET, policy.toBuilder().addIdentity(StorageRoles.admin(),
151+
Identity.user(USER_EMAIL)).build());
153152
assertTrue(policy.getBindings().get(StorageRoles.admin()).contains(Identity.user(USER_EMAIL)));
154153
Policy snippetPolicy = bucketIamSnippets.listBucketIamMembers(BUCKET);
155154
assertTrue(snippetPolicy.getBindings().get(StorageRoles.admin()).
@@ -160,29 +159,27 @@ public void testListBucketIamMembers() {
160159
public void testAddBucketIamMemeber() {
161160
// Test a member is added to Bucket-level IAM
162161
Policy policy = storage.getIamPolicy(BUCKET);
163-
storage.setIamPolicy(BUCKET, policy.toBuilder().removeRole(StorageRoles.admin()).build());
164-
policy = storage.getIamPolicy(BUCKET);
162+
policy = storage.setIamPolicy(BUCKET,
163+
policy.toBuilder().removeRole(StorageRoles.admin()).build());
165164
assertNull(policy.getBindings().get(StorageRoles.admin()));
166-
bucketIamSnippets.addBucketIamMember(BUCKET, StorageRoles.admin(), Identity.user(USER_EMAIL));
167-
policy = storage.getIamPolicy(BUCKET);
168-
assertTrue(policy.getBindings().get(StorageRoles.admin()).contains(Identity.user(USER_EMAIL)));
165+
Policy snippetPolicy = bucketIamSnippets.addBucketIamMember(BUCKET, StorageRoles.admin(),
166+
Identity.user(USER_EMAIL));
167+
assertTrue(snippetPolicy.getBindings().get(StorageRoles.admin()).
168+
contains(Identity.user(USER_EMAIL)));
169169
}
170170

171171
@Test
172172
public void testRemoveBucketIamMember() {
173173
// Test a member is removed from Bucket-level IAM
174174
Policy policy = storage.getIamPolicy(BUCKET);
175-
storage.setIamPolicy(BUCKET, policy.toBuilder().removeRole(StorageRoles.admin()).build());
176-
policy = storage.getIamPolicy(BUCKET);
175+
policy = storage.setIamPolicy(BUCKET,
176+
policy.toBuilder().removeRole(StorageRoles.admin()).build());
177177
assertNull(policy.getBindings().get(StorageRoles.admin()));
178-
policy = policy.toBuilder().addIdentity(StorageRoles.admin(),
179-
Identity.user(USER_EMAIL)).build();
180-
storage.setIamPolicy(BUCKET, policy);
181-
policy = storage.getIamPolicy(BUCKET);
178+
policy = storage.setIamPolicy(BUCKET, policy.toBuilder().addIdentity(StorageRoles.admin(),
179+
Identity.user(USER_EMAIL)).build());
182180
assertTrue(policy.getBindings().get(StorageRoles.admin()).contains(Identity.user(USER_EMAIL)));
183-
bucketIamSnippets.removeBucketIamMember(BUCKET, StorageRoles.admin(),
181+
Policy snippetPolicy = bucketIamSnippets.removeBucketIamMember(BUCKET, StorageRoles.admin(),
184182
Identity.user(USER_EMAIL));
185-
policy = storage.getIamPolicy(BUCKET);
186-
assertNull(policy.getBindings().get(StorageRoles.admin()));
183+
assertNull(snippetPolicy.getBindings().get(StorageRoles.admin()));
187184
}
188185
}

0 commit comments

Comments
 (0)