public void ModifyRequest_MatchNotMatchConflicts()
        {
            var request = new PatchRequest(null, null, "bucket");

            Assert.Throws <ArgumentException>(() =>
            {
                var options = new PatchBucketOptions {
                    IfMetagenerationMatch = 1L, IfMetagenerationNotMatch = 2L
                };
                options.ModifyRequest(request);
            });
        }
        public void ModifyRequest_DefaultOptions()
        {
            var request = new PatchRequest(null, null, "bucket");
            var options = new PatchBucketOptions();

            options.ModifyRequest(request);
            Assert.Null(request.IfMetagenerationMatch);
            Assert.Null(request.IfMetagenerationNotMatch);
            Assert.Null(request.PredefinedAcl);
            Assert.Null(request.PredefinedDefaultObjectAcl);
            Assert.Null(request.Projection);
        }
        public void ModifyRequest_NegativeMatchOptions()
        {
            var request = new PatchRequest(null, null, "bucket");
            var options = new PatchBucketOptions
            {
                IfMetagenerationNotMatch   = 1L,
                PredefinedAcl              = PredefinedBucketAcl.AuthenticatedRead,
                PredefinedDefaultObjectAcl = PredefinedObjectAcl.BucketOwnerFullControl,
                Projection = Projection.Full
            };

            options.ModifyRequest(request);
            Assert.Null(request.IfMetagenerationMatch);
            Assert.Equal(1L, request.IfMetagenerationNotMatch);
            Assert.Equal(PredefinedAclEnum.AuthenticatedRead, request.PredefinedAcl);
            Assert.Equal(PredefinedDefaultObjectAclEnum.BucketOwnerFullControl, request.PredefinedDefaultObjectAcl);
            Assert.Equal(ProjectionEnum.Full, request.Projection);
        }