예제 #1
0
        public async Task DeleteMultiple()
        {
            List <string> resources = new List <string>(2);

            resources.Add(nameof(DeleteMultiple) + "1");
            resources.Add(nameof(DeleteMultiple) + "2");

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

            DeleteMultipleObjectsResponse resp = await ObjectClient.DeleteMultipleObjectsAsync(BucketName, resources, request => request.Quiet = false).ConfigureAwait(false);

            Assert.Equal(2, resp.Deleted.Count);
            Assert.Contains(resp.Deleted, o => o.Key == resources[0]);
            Assert.Contains(resp.Deleted, o => o.Key == resources[1]);

            Assert.All(resp.Deleted, o => Assert.True(o.DeleteMarker));
            Assert.All(resp.Deleted, o => Assert.NotEmpty(o.DeleteMarkerVersionId));
        }
예제 #2
0
        public async Task DeleteMultipleWithError()
        {
            List <S3DeleteInfo> resources = new List <S3DeleteInfo>(2);

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

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

            DeleteMultipleObjectsResponse resp = await ObjectClient.DeleteMultipleObjectsAsync(BucketName, resources, request => request.Quiet = false).ConfigureAwait(false);

            Assert.Equal(1, resp.Deleted.Count);
            Assert.Equal(resources[1].Name, resp.Deleted[0].Key);
            Assert.True(resp.Deleted[0].DeleteMarker);
            Assert.NotEmpty(resp.Deleted[0].DeleteMarkerVersionId);

            Assert.Equal(1, resp.Errors.Count);
            Assert.Equal(resources[0].Name, resp.Errors[0].Key);
            Assert.Equal(resources[0].VersionId, resp.Errors[0].VersionId);
            Assert.Equal("NoSuchVersion", resp.Errors[0].Code);
            Assert.Equal("The specified version does not exist.", resp.Errors[0].Message);
        }