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 TestEnableBucketLifecycleManagement() { var enableBucketLifecycleManagementSample = new EnableBucketLifecycleManagementSample(); var disableBucketLifecycleManagementSample = new DisableBucketLifecycleManagementSample(); // Enable bucket lifecycle management. var bucket = enableBucketLifecycleManagementSample.EnableBucketLifecycleManagement(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Contains(bucket.Lifecycle.Rule, r => r.Condition.Age == 100 && r.Action.Type == "Delete"); // Disable bucket lifecycle management. disableBucketLifecycleManagementSample.DisableBucketLifecycleManagement(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestDisableBucketLifecycleManagement() { EnableBucketLifecycleManagementSample enableBucketLifecycleManagementSample = new EnableBucketLifecycleManagementSample(); DisableBucketLifecycleManagementSample disableBucketLifecycleManagementSample = new DisableBucketLifecycleManagementSample(); // Enable bucket lifecycle management. enableBucketLifecycleManagementSample.EnableBucketLifecycleManagement(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); // Disable bucket lifecycle management. var bucket = disableBucketLifecycleManagementSample.DisableBucketLifecycleManagement(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Null(bucket.Lifecycle); }
public void BucketEnableVersioning() { BucketEnableVersioningSample bucketEnableVersioningSample = new BucketEnableVersioningSample(); BucketDisableVersioningSample bucketDisableVersioningSample = new BucketDisableVersioningSample(); // Enable versioning var bucket = bucketEnableVersioningSample.BucketEnableVersioning(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.True(bucket.Versioning.Enabled); // Then disable versioning bucketDisableVersioningSample.BucketDisableVersioning(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void BucketRemoveCorsConfiguration() { BucketAddCorsConfigurationSample bucketAddCorsConfigurationSample = new BucketAddCorsConfigurationSample(); BucketRemoveCorsConfigurationSample bucketRemoveCorsConfigurationSample = new BucketRemoveCorsConfigurationSample(); // Add Cors Configuration bucketAddCorsConfigurationSample.BucketAddCorsConfiguration(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove Cors Configurations var bucket = bucketRemoveCorsConfigurationSample.BucketRemoveCorsConfiguration(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Null(bucket.Cors); }
public void BucketDisableVersioning() { BucketEnableVersioningSample bucketEnableVersioningSample = new BucketEnableVersioningSample(); BucketDisableVersioningSample bucketDisableVersioningSample = new BucketDisableVersioningSample(); // Versioning is disabled by default, so Enable versioning bucketEnableVersioningSample.BucketEnableVersioning(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); // Disable versioning var bucket = bucketDisableVersioningSample.BucketDisableVersioning(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.False(bucket.Versioning.Enabled); }
public void TestAddBucketOwner() { AddBucketOwnerSample addBucketOwnerSample = new AddBucketOwnerSample(); RemoveBucketOwnerSample removeBucketOwnerSample = new RemoveBucketOwnerSample(); // Add bucket owner. var result = addBucketOwnerSample.AddBucketOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); Assert.Contains(result.Acl, c => c.Role == "OWNER" && c.Email == _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove bucket owner. removeBucketOwnerSample.RemoveBucketOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestAddBucketDefaultOwner() { AddBucketDefaultOwnerSample addBucketDefaultOwnerSample = new AddBucketDefaultOwnerSample(); RemoveBucketDefaultOwnerSample removeBucketDefaultOwnerSample = new RemoveBucketDefaultOwnerSample(); // Add bucket default owner. var updatedBucket = addBucketDefaultOwnerSample.AddBucketDefaultOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); Assert.Contains(updatedBucket.DefaultObjectAcl, acl => acl.Role == "OWNER" && acl.Email == _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove bucket default owner. removeBucketDefaultOwnerSample.RemoveBucketDefaultOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestEnableBucketDefaultEventBasedHold() { EnableBucketDefaultEventBasedHoldSample enableBucketDefaultEventBasedHoldSample = new EnableBucketDefaultEventBasedHoldSample(); DisableDefaultEventBasedHoldSample disableDefaultEventBasedHoldSample = new DisableDefaultEventBasedHoldSample(); // Enable default event based hold. var updatedBucket = enableBucketDefaultEventBasedHoldSample.EnableBucketDefaultEventBasedHold(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.True(updatedBucket.DefaultEventBasedHold); // Disable default event based hold. disableDefaultEventBasedHoldSample.DisableDefaultEventBasedHold(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestSetRetentionPolicy() { SetRetentionPolicySample setRetentionPolicySample = new SetRetentionPolicySample(); RemoveRetentionPolicySample removeRetentionPolicySample = new RemoveRetentionPolicySample(); var retentionPeriod = 5; // Set retention policy. var retentionPolicy = setRetentionPolicySample.SetRetentionPolicy(_fixture.BucketNameGeneric, retentionPeriod); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Equal(retentionPolicy.RetentionPeriod, retentionPeriod); // Remove retention policy. removeRetentionPolicySample.RemoveRetentionPolicy(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void BucketAddLabel() { BucketAddLabelSample bucketAddLabelSample = new BucketAddLabelSample(); BucketRemoveLabelSample bucketRemoveLabelSample = new BucketRemoveLabelSample(); var labelKey = "usage"; var labelValue = "chat-attachments"; // Add Label var bucket = bucketAddLabelSample.BucketAddLabel(_fixture.BucketNameGeneric, labelKey, labelValue); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Contains(bucket.Labels, l => l.Key == labelKey && l.Value == labelValue); // Remove Label bucketRemoveLabelSample.BucketRemoveLabel(_fixture.BucketNameGeneric, labelKey); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void DeleteBucket() { DeleteBucketSample deleteBucketSample = new DeleteBucketSample(); CreateBucketSample createBucketSample = new CreateBucketSample(); GetBucketMetadataSample getBucketMetadataSample = new GetBucketMetadataSample(); var bucketName = Guid.NewGuid().ToString(); createBucketSample.CreateBucket(_fixture.ProjectId, bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); deleteBucketSample.DeleteBucket(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); var exception = Assert.Throws <GoogleApiException>(() => getBucketMetadataSample.GetBucketMetadata(bucketName)); Assert.Equal(System.Net.HttpStatusCode.NotFound, exception.HttpStatusCode); }
public void TestAddBucketIamMember() { string role = "roles/storage.objectViewer"; string memberType = "serviceAccount"; AddBucketIamMemberSample addBucketIamMemberSample = new AddBucketIamMemberSample(); RemoveBucketIamMemberSample removeBucketIamMemberSample = new RemoveBucketIamMemberSample(); // Add bucket Iam member. var result = addBucketIamMemberSample.AddBucketIamMember(_fixture.BucketNameGeneric, role, $"{memberType}:{_fixture.ServiceAccountEmail}"); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Contains(result.Bindings, b => b.Role == role && b.Members.Contains($"{memberType}:{_fixture.ServiceAccountEmail}")); // Remove bucket Iam member. removeBucketIamMemberSample.RemoveBucketIamMember(_fixture.BucketNameGeneric, role, $"{memberType}:{_fixture.ServiceAccountEmail}"); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void EnableDefaultKMSKey() { EnableDefaultKMSKeySample enableDefaultKMSKeySample = new EnableDefaultKMSKeySample(); var bucket = enableDefaultKMSKeySample.EnableDefaultKMSKey(_fixture.ProjectId, _fixture.BucketNameRegional, _fixture.KmsKeyLocation, _fixture.KmsKeyRing, _fixture.KmsKeyName); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.NotNull(bucket.Encryption.DefaultKmsKeyName); }
public void BucketAddCorsConfiguration() { BucketAddCorsConfigurationSample bucketAddCorsConfigurationSample = new BucketAddCorsConfigurationSample(); BucketRemoveCorsConfigurationSample bucketRemoveCorsConfigurationSample = new BucketRemoveCorsConfigurationSample(); // Add Cors Configuration var bucket = bucketAddCorsConfigurationSample.BucketAddCorsConfiguration(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Equal("*", bucket.Cors[0].Origin[0]); Assert.Equal("PUT", bucket.Cors[0].Method[0]); Assert.Equal(3600, bucket.Cors[0].MaxAgeSeconds); // Remove Cors Configurations bucketRemoveCorsConfigurationSample.BucketRemoveCorsConfiguration(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestRemoveRetentionPolicy() { GetRetentionPolicySample getRetentionPolicySample = new GetRetentionPolicySample(); SetRetentionPolicySample setRetentionPolicySample = new SetRetentionPolicySample(); RemoveRetentionPolicySample removeRetentionPolicySample = new RemoveRetentionPolicySample(); var retentionPeriod = 5; // Set retention policy. setRetentionPolicySample.SetRetentionPolicy(_fixture.BucketNameGeneric, retentionPeriod); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove retention policy. removeRetentionPolicySample.RemoveRetentionPolicy(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); var result = getRetentionPolicySample.GetRetentionPolicy(_fixture.BucketNameGeneric); Assert.Null(result); }
public void TestRemoveBucketOwner() { AddBucketOwnerSample addBucketOwnerSample = new AddBucketOwnerSample(); RemoveBucketOwnerSample removeBucketOwnerSample = new RemoveBucketOwnerSample(); GetBucketMetadataSample getBucketMetadataSample = new GetBucketMetadataSample(); // Add bucket owner. addBucketOwnerSample.AddBucketOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove bucket owner. removeBucketOwnerSample.RemoveBucketOwner(_fixture.BucketNameGeneric, _fixture.ServiceAccountEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // Get bucket metadata. var bucketMetadata = getBucketMetadataSample.GetBucketMetadata(_fixture.BucketNameGeneric); Assert.DoesNotContain(bucketMetadata.Acl, acl => acl.Role == "OWNER" && acl.Email == _fixture.ServiceAccountEmail); }
public void TestPrintBucketAclForUser() { PrintBucketAclForUserSample printBucketAclForUserSample = new PrintBucketAclForUserSample(); AddBucketOwnerSample addBucketOwnerSample = new AddBucketOwnerSample(); RemoveBucketOwnerSample removeBucketOwnerSample = new RemoveBucketOwnerSample(); string userEmail = _fixture.ServiceAccountEmail; // Add bucket owner addBucketOwnerSample.AddBucketOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); var bucketAclForUser = printBucketAclForUserSample.PrintBucketAclForUser(_fixture.BucketNameGeneric, userEmail); Assert.All(bucketAclForUser, c => Assert.Equal(c.Email, userEmail)); // Remove bucket owner removeBucketOwnerSample.RemoveBucketOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestGetRequesterPaysStatus() { GetRequesterPaysStatusSample getRequesterPaysStatusSample = new GetRequesterPaysStatusSample(); EnableRequesterPaysSample enableRequesterPaysSample = new EnableRequesterPaysSample(); DisableRequesterPaysSample disableRequesterPaysSample = new DisableRequesterPaysSample(); // Enable request pay. enableRequesterPaysSample.EnableRequesterPays(_fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); // Get status. var status = getRequesterPaysStatusSample.GetRequesterPaysStatus(_fixture.ProjectId, _fixture.BucketNameGeneric); Assert.True(status); // Disable request pay. disableRequesterPaysSample.DisableRequesterPays(_fixture.ProjectId, _fixture.BucketNameGeneric); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestEnableRequesterPays() { EnableRequesterPaysSample enableRequesterPaysSample = new EnableRequesterPaysSample(); DisableRequesterPaysSample disableRequesterPaysSample = new DisableRequesterPaysSample(); var bucketName = Guid.NewGuid().ToString(); // Create bucket _fixture.CreateBucket(bucketName); // Enable request pay. var bucket = enableRequesterPaysSample.EnableRequesterPays(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.True(bucket.Billing?.RequesterPays); // Disable request pay. disableRequesterPaysSample.DisableRequesterPays(_fixture.ProjectId, bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void BucketDeleteDefaultKmsKey() { EnableDefaultKMSKeySample enableDefaultKMSKeySample = new EnableDefaultKMSKeySample(); GetBucketMetadataSample getBucketMetadataSample = new GetBucketMetadataSample(); BucketDeleteDefaultKmsKeySample bucketDeleteDefaultKmsKeySample = new BucketDeleteDefaultKmsKeySample(); // Set default key enableDefaultKMSKeySample.EnableDefaultKMSKey(_fixture.ProjectId, _fixture.BucketNameRegional, _fixture.KmsKeyLocation, _fixture.KmsKeyRing, _fixture.KmsKeyName); _fixture.SleepAfterBucketCreateUpdateDelete(); // Remove default key bucketDeleteDefaultKmsKeySample.BucketDeleteDefaultKmsKey(_fixture.BucketNameRegional); _fixture.SleepAfterBucketCreateUpdateDelete(); // Verify removal var bucketMetadata = getBucketMetadataSample.GetBucketMetadata(_fixture.BucketNameRegional); Assert.Null(bucketMetadata.Encryption?.DefaultKmsKeyName); }
public void TestPrintBucketDefaultAcl() { PrintBucketDefaultAclSample printBucketDefaultAclSample = new PrintBucketDefaultAclSample(); AddBucketDefaultOwnerSample addBucketDefaultOwnerSample = new AddBucketDefaultOwnerSample(); RemoveBucketDefaultOwnerSample removeBucketDefaultOwnerSample = new RemoveBucketDefaultOwnerSample(); string userEmail = _fixture.ServiceAccountEmail; // add default owner addBucketDefaultOwnerSample.AddBucketDefaultOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // print default owner var defaultBucketAcl = printBucketDefaultAclSample.PrintBucketDefaultAcl(_fixture.BucketNameGeneric); Assert.Contains(defaultBucketAcl, c => c.Role == "OWNER" && c.Email == userEmail); // remove default owner removeBucketDefaultOwnerSample.RemoveBucketDefaultOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void CreateBucketWithTurboReplication() { CreateBucketWithTurboReplicationSample createBucketWithTurboReplication = new CreateBucketWithTurboReplicationSample(); // Enabling turbo replication requires a bucket with dual-region configuration var bucketName = Guid.NewGuid().ToString(); var bucket = createBucketWithTurboReplication.CreateBucketWithTurboReplication(_fixture.ProjectId, "nam4", bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); _fixture.TempBucketNames.Add(bucket.Name); Assert.Equal("ASYNC_TURBO", bucket.Rpo); }
public void TestViewBucketIamMembers() { string role = "roles/storage.objectViewer"; string memberType = "serviceAccount"; var addBucketIamMemberSample = new AddBucketIamMemberSample(); RemoveBucketIamMemberSample removeBucketIamMemberSample = new RemoveBucketIamMemberSample(); ViewBucketIamMembersSample viewBucketIamMembersSample = new ViewBucketIamMembersSample(); // Add bucket Iam members. addBucketIamMemberSample.AddBucketIamMember(_fixture.BucketNameGeneric, role, $"{memberType}:{_fixture.ServiceAccountEmail}"); _fixture.SleepAfterBucketCreateUpdateDelete(); // Get bucket Iam members. var result = viewBucketIamMembersSample.ViewBucketIamMembers(_fixture.BucketNameGeneric); Assert.Contains(result.Bindings.Where(b => b.Role == role).SelectMany(b => b.Members), m => m == $"{memberType}:{_fixture.ServiceAccountEmail}"); // Remove bucket Iam members. removeBucketIamMemberSample.RemoveBucketIamMember(_fixture.BucketNameGeneric, role, $"{memberType}:{_fixture.ServiceAccountEmail}"); _fixture.SleepAfterBucketCreateUpdateDelete(); }
public void TestDisableUniformBucketLevelAccess() { EnableUniformBucketLevelAccessSample enableUniformBucketLevelAccessSample = new EnableUniformBucketLevelAccessSample(); DisableUniformBucketLevelAccessSample disableUniformBucketLevelAccessSample = new DisableUniformBucketLevelAccessSample(); var bucketName = Guid.NewGuid().ToString(); // Create bucket _fixture.CreateBucket(bucketName); // Enable Uniform bucket level access. enableUniformBucketLevelAccessSample.EnableUniformBucketLevelAccess(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); // Disable Uniform bucket level access. var updatedBucket = disableUniformBucketLevelAccessSample.DisableUniformBucketLevelAccess(bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.False(updatedBucket.IamConfiguration.UniformBucketLevelAccess.Enabled); }
public void CreateRegionalBucket() { CreateRegionalBucketSample createRegionalBucketSample = new CreateRegionalBucketSample(); var bucketName = Guid.NewGuid().ToString(); var buket = createRegionalBucketSample.CreateRegionalBucket( _fixture.ProjectId, bucketName, _fixture.TestLocation, StorageClasses.Regional); _fixture.SleepAfterBucketCreateUpdateDelete(); _fixture.TempBucketNames.Add(bucketName); Assert.Equal(buket.Location.ToLower(), _fixture.KmsKeyLocation.ToLower()); Assert.Equal("regional", buket.StorageClass.ToLower()); }
public void BucketWebsiteConfiguration() { BucketWebsiteConfigurationSample bucketWebsiteConfigurationSample = new BucketWebsiteConfigurationSample(); var mainPageSuffix = "index.html"; var notFoundPage = "404.html"; var bucket = bucketWebsiteConfigurationSample.BucketWebsiteConfiguration(_fixture.BucketNameGeneric, mainPageSuffix, notFoundPage); _fixture.SleepAfterBucketCreateUpdateDelete(); Assert.Equal(mainPageSuffix, bucket.Website.MainPageSuffix); Assert.Equal(notFoundPage, bucket.Website.NotFoundPage); }
public void CreateBucket() { CreateBucketSample createBucketSample = new CreateBucketSample(); GetBucketMetadataSample getBucketMetadataSample = new GetBucketMetadataSample(); var bucketName = Guid.NewGuid().ToString(); createBucketSample.CreateBucket(_fixture.ProjectId, bucketName); _fixture.SleepAfterBucketCreateUpdateDelete(); _fixture.TempBucketNames.Add(bucketName); var metadata = getBucketMetadataSample.GetBucketMetadata(bucketName); Assert.NotNull(metadata); }
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}")); }
public void TestPrintBucketAcl() { PrintBucketAclSample printBucketAclSample = new PrintBucketAclSample(); AddBucketOwnerSample addBucketOwnerSample = new AddBucketOwnerSample(); RemoveBucketOwnerSample removeBucketOwnerSample = new RemoveBucketOwnerSample(); string userEmail = _fixture.ServiceAccountEmail; // print bucket acl var bucketAcl = printBucketAclSample.PrintBucketAcl(_fixture.BucketNameGeneric); Assert.DoesNotContain(bucketAcl, c => c.Email == userEmail); // add bucket owner addBucketOwnerSample.AddBucketOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); // print bucket acl bucketAcl = printBucketAclSample.PrintBucketAcl(_fixture.BucketNameGeneric); Assert.Contains(bucketAcl, c => c.Email == userEmail); // remove owner. removeBucketOwnerSample.RemoveBucketOwner(_fixture.BucketNameGeneric, userEmail); _fixture.SleepAfterBucketCreateUpdateDelete(); }