public void TestRemoveBucketConditionalIamBinding() { AddBucketConditionalIamBindingSample addBucketConditionalIamBindingSample = new AddBucketConditionalIamBindingSample(); RemoveBucketConditionalIamBindingSample removeBucketConditionalIamBindingSample = new RemoveBucketConditionalIamBindingSample(); ViewBucketIamMembersSample viewBucketIamMembersSample = new ViewBucketIamMembersSample(); EnableUniformBucketLevelAccessSample enableUniformBucketLevelAccessSample = new EnableUniformBucketLevelAccessSample(); DisableUniformBucketLevelAccessSample disableUniformBucketLevelAccessSample = new DisableUniformBucketLevelAccessSample(); string memberType = "serviceAccount"; string role = "roles/storage.objectViewer"; // Enable Uniform bucket level access. enableUniformBucketLevelAccessSample.EnableUniformBucketLevelAccess(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); // Add Conditional Binding. addBucketConditionalIamBindingSample.AddBucketConditionalIamBinding(_fixture.BucketNameGeneric, role, $"{memberType}:{_fixture.ServiceAccountEmail}", "title", "description", "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove Conditional Binding. removeBucketConditionalIamBindingSample.RemoveBucketConditionalIamBinding(_fixture.BucketNameGeneric, role, "title", "description", "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"); _fixture.SleepAfterBucketCreateUpdateDelete(); // Get Bucket Iam Members. var policy = viewBucketIamMembersSample.ViewBucketIamMembers(_fixture.BucketNameGeneric); Assert.DoesNotContain(policy.Bindings, c => c.Members.Contains($"{memberType}:{_fixture.ServiceAccountEmail}")); // Disable Uniform bucket level access disableUniformBucketLevelAccessSample.DisableUniformBucketLevelAccess(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestEnableUniformBucketLevelAccess() { EnableUniformBucketLevelAccessSample enableUniformBucketLevelAccessSample = new EnableUniformBucketLevelAccessSample(); var bucketName = Guid.NewGuid().ToString(); // Create bucket _fixture.CreateBucket(bucketName); // Enable Uniform bucket level access. var updatedBucket = enableUniformBucketLevelAccessSample.EnableUniformBucketLevelAccess(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.True(updatedBucket.IamConfiguration.UniformBucketLevelAccess.Enabled); }
public void TestGetUniformBucketLevelAccess() { EnableUniformBucketLevelAccessSample enableUniformBucketLevelAccessSample = new EnableUniformBucketLevelAccessSample(); GetUniformBucketLevelAccessSample getUniformBucketLevelAccessSample = new GetUniformBucketLevelAccessSample(); var bucketName = Guid.NewGuid().ToString(); // Create bucket _bucketFixture.CreateBucket(bucketName); // Enable Uniform bucket level access. enableUniformBucketLevelAccessSample.EnableUniformBucketLevelAccess(bucketName); _bucketFixture.SleepAfterBucketCreateUpdateDelete(); var uniformBucketLevelAccess = getUniformBucketLevelAccessSample.GetUniformBucketLevelAccess(bucketName); Assert.True(uniformBucketLevelAccess.Enabled); }
public void TestAddBucketConditionalIamBinding() { AddBucketConditionalIamBindingSample addBucketConditionalIamBindingSample = new AddBucketConditionalIamBindingSample(); EnableUniformBucketLevelAccessSample enableUniformBucketLevelAccessSample = new EnableUniformBucketLevelAccessSample(); var bucketName = Guid.NewGuid().ToString(); string memberType = "serviceAccount"; string role = "roles/storage.objectViewer"; // Create bucket _fixture.CreateBucket(bucketName); // Enable Uniform bucket level access. enableUniformBucketLevelAccessSample.EnableUniformBucketLevelAccess(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); // Add Conditional Binding. var policy = addBucketConditionalIamBindingSample.AddBucketConditionalIamBinding(bucketName, role, $"{memberType}:{_fixture.ServiceAccountEmail}", "title", "description", "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Contains(policy.Bindings, c => c.Members.Contains($"{memberType}:{_fixture.ServiceAccountEmail}")); }