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();
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }
Example #7
0
    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();
    }
Example #8
0
    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();
    }
Example #9
0
    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();
    }
Example #10
0
    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();
    }
Example #12
0
    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);
    }
Example #15
0
    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();
    }
Example #16
0
    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);
    }
Example #17
0
    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);
    }
Example #18
0
    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);
    }
Example #22
0
    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();
    }
Example #25
0
    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);
    }
Example #26
0
    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);
    }
Example #29
0
    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}"));
    }
Example #30
0
    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();
    }