Ejemplo n.º 1
0
        public async Task DeleteObjects()
        {
            List <S3DeleteInfo> resources = new List <S3DeleteInfo>(2);

            resources.Add(new S3DeleteInfo(nameof(DeleteObjects) + "1"));
            resources.Add(new S3DeleteInfo(nameof(DeleteObjects) + "2", "versionnotfound"));

            await UploadAsync(resources[0].Name).ConfigureAwait(false);
            await UploadAsync(resources[1].Name).ConfigureAwait(false);

            DeleteObjectsResponse resp = await ObjectClient.DeleteObjectsAsync(BucketName, resources, req => req.Quiet = false).ConfigureAwait(false);

            S3DeletedObject?delObj = Assert.Single(resp.Deleted);

            Assert.Equal(resources[0].Name, delObj.ObjectKey);
            Assert.True(delObj.IsDeleteMarker);
            Assert.NotEmpty(delObj.DeleteMarkerVersionId);

            S3DeleteError?errorObj = Assert.Single(resp.Errors);

            Assert.Equal(resources[1].Name, errorObj.ObjectKey);
            Assert.Equal(resources[1].VersionId, errorObj.VersionId);
            Assert.Equal(ErrorCode.NoSuchVersion, errorObj.Code);
            Assert.Equal("The specified version does not exist.", errorObj.Message);
        }
Ejemplo n.º 2
0
        public async Task DeleteObjectsRequestPayer()
        {
            PutObjectResponse putResp2 = await ObjectClient.PutObjectAsync(BucketName, nameof(DeleteObjectsRequestPayer), null, req => req.RequestPayer = Payer.Requester).ConfigureAwait(false);

            Assert.True(putResp2.RequestCharged);

            DeleteObjectsResponse delResp2 = await ObjectClient.DeleteObjectsAsync(BucketName, new[] { nameof(DeleteObjectsRequestPayer) }, req => req.RequestPayer = Payer.Requester).ConfigureAwait(false);

            Assert.True(delResp2.RequestCharged);
        }