Bloom.WebLibraryIntegration.BloomS3Client.EmptyUnitTestBucket C# (CSharp) Method

EmptyUnitTestBucket() public method

public EmptyUnitTestBucket ( string prefix ) : void
prefix string
return void
        public void EmptyUnitTestBucket(string prefix)
        {
            var matchingFilesResponse = GetAmazonS3(BloomS3Client.UnitTestBucketName).ListObjects(new ListObjectsRequest()
            {
                //NB: this one intentionally hard-codes the folder it can delete, to protect from accidents
                BucketName = UnitTestBucketName,
                Prefix = prefix,
            });
            if (matchingFilesResponse.S3Objects.Count == 0)
                return;

            var deleteObjectsRequest = new DeleteObjectsRequest()
            {
                BucketName = UnitTestBucketName,
                Objects = matchingFilesResponse.S3Objects.Select(s3Object => new KeyVersion() {Key = s3Object.Key}).ToList()
            };

            var response = GetAmazonS3(BloomS3Client.UnitTestBucketName).DeleteObjects(deleteObjectsRequest);
            Debug.Assert(response.DeleteErrors.Count == 0);
        }

Usage Example

        public void Setup()
        {
            _workFolder = new TemporaryFolder("unittest");
            _workFolderPath = _workFolder.FolderPath;
            Assert.AreEqual(0,Directory.GetDirectories(_workFolderPath).Count(),"Some stuff was left over from a previous test");
            Assert.AreEqual(0, Directory.GetFiles(_workFolderPath).Count(),"Some stuff was left over from a previous test");

            _client = new BloomS3Client(BloomS3Client.UnitTestBucketName);
            _client.EmptyUnitTestBucket();
        }