rename delete blob snapshot options, add delete blob snapshot test cases (#1272)
* rename delete blob snapshot options, add delete blob snapshot test cases * changelog * Apply suggestions from code review * Update sdk/storage/azure-storage-blobs/test/block_blob_client_test.cpp * Update sdk/storage/azure-storage-blobs/test/block_blob_client_test.cpp
This commit is contained in:
parent
b212d287ab
commit
d6c838e9e0
@ -62,6 +62,7 @@
|
||||
- Replace `std::pair<int64_t, int64_t>` with `Azure::Core::Http::Range` to denote blob ranges.
|
||||
- Move version strings into `Details` namespace.
|
||||
- Replace scoped enums that don't support bitwise operations with extensible enum.
|
||||
- Rename `Models::DeleteSnapshotsOption::Only` to `Models::DeleteSnapshotsOption::OnlySnapshots`.
|
||||
- Rename `SourceConditions` in API options to `SourceAccessConditions`.
|
||||
|
||||
## 12.0.0-beta.5 (2020-11-13)
|
||||
|
||||
@ -349,7 +349,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
bool operator!=(const DeleteSnapshotsOption& other) const { return !(*this == other); }
|
||||
const std::string& Get() const { return m_value; }
|
||||
const static DeleteSnapshotsOption IncludeSnapshots;
|
||||
const static DeleteSnapshotsOption Only;
|
||||
const static DeleteSnapshotsOption OnlySnapshots;
|
||||
|
||||
private:
|
||||
std::string m_value;
|
||||
|
||||
@ -61,7 +61,7 @@ namespace Azure { namespace Storage { namespace Blobs { namespace Models {
|
||||
const CopyStatus CopyStatus::Pending("pending");
|
||||
|
||||
const DeleteSnapshotsOption DeleteSnapshotsOption::IncludeSnapshots("include");
|
||||
const DeleteSnapshotsOption DeleteSnapshotsOption::Only("only");
|
||||
const DeleteSnapshotsOption DeleteSnapshotsOption::OnlySnapshots("only");
|
||||
|
||||
const EncryptionAlgorithmType EncryptionAlgorithmType::Aes256("AES256");
|
||||
|
||||
|
||||
@ -802,4 +802,24 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(BlockBlobClientTest, DeleteSnapshots)
|
||||
{
|
||||
std::vector<uint8_t> emptyContent;
|
||||
auto blobClient = Azure::Storage::Blobs::BlockBlobClient::CreateFromConnectionString(
|
||||
StandardStorageConnectionString(), m_containerName, RandomString());
|
||||
blobClient.UploadFrom(emptyContent.data(), emptyContent.size());
|
||||
auto s1 = blobClient.CreateSnapshot()->Snapshot;
|
||||
Blobs::DeleteBlobOptions deleteOptions;
|
||||
EXPECT_THROW(blobClient.Delete(deleteOptions), StorageException);
|
||||
deleteOptions.DeleteSnapshots = Blobs::Models::DeleteSnapshotsOption::OnlySnapshots;
|
||||
EXPECT_NO_THROW(blobClient.Delete(deleteOptions));
|
||||
EXPECT_NO_THROW(blobClient.GetProperties());
|
||||
EXPECT_THROW(blobClient.WithSnapshot(s1).GetProperties(), StorageException);
|
||||
auto s2 = blobClient.CreateSnapshot()->Snapshot;
|
||||
deleteOptions.DeleteSnapshots = Blobs::Models::DeleteSnapshotsOption::IncludeSnapshots;
|
||||
EXPECT_NO_THROW(blobClient.Delete(deleteOptions));
|
||||
EXPECT_THROW(blobClient.GetProperties(), StorageException);
|
||||
EXPECT_THROW(blobClient.WithSnapshot(s2).GetProperties(), StorageException);
|
||||
}
|
||||
|
||||
}}} // namespace Azure::Storage::Test
|
||||
|
||||
Loading…
Reference in New Issue
Block a user