Rename SourceConditions->SourceAccessConditions (#1267)
This commit is contained in:
parent
36fbcd9cee
commit
b212d287ab
@ -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 `SourceConditions` in API options to `SourceAccessConditions`.
|
||||
|
||||
## 12.0.0-beta.5 (2020-11-13)
|
||||
|
||||
|
||||
@ -628,7 +628,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
/**
|
||||
* @brief Optional conditions that the source must meet to perform this operation.
|
||||
*/
|
||||
BlobAccessConditions SourceConditions;
|
||||
BlobAccessConditions SourceAccessConditions;
|
||||
|
||||
/**
|
||||
* @brief Specifies the tier to be set on the target blob.
|
||||
@ -1026,7 +1026,7 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
*/
|
||||
struct : public ModifiedTimeConditions, public ETagAccessConditions
|
||||
{
|
||||
} SourceConditions;
|
||||
} SourceAccessConditions;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -563,13 +563,13 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
protocolLayerOptions.IfMatch = options.AccessConditions.IfMatch;
|
||||
protocolLayerOptions.IfNoneMatch = options.AccessConditions.IfNoneMatch;
|
||||
protocolLayerOptions.IfTags = options.AccessConditions.TagConditions;
|
||||
protocolLayerOptions.SourceLeaseId = options.SourceConditions.LeaseId;
|
||||
protocolLayerOptions.SourceIfModifiedSince = options.SourceConditions.IfModifiedSince;
|
||||
protocolLayerOptions.SourceIfUnmodifiedSince = options.SourceConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.SourceIfMatch = options.SourceConditions.IfMatch;
|
||||
protocolLayerOptions.SourceIfNoneMatch = options.SourceConditions.IfNoneMatch;
|
||||
protocolLayerOptions.SourceLeaseId = options.SourceAccessConditions.LeaseId;
|
||||
protocolLayerOptions.SourceIfModifiedSince = options.SourceAccessConditions.IfModifiedSince;
|
||||
protocolLayerOptions.SourceIfUnmodifiedSince = options.SourceAccessConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.SourceIfMatch = options.SourceAccessConditions.IfMatch;
|
||||
protocolLayerOptions.SourceIfNoneMatch = options.SourceAccessConditions.IfNoneMatch;
|
||||
protocolLayerOptions.ShouldSealDestination = options.ShouldSealDestination;
|
||||
protocolLayerOptions.SourceIfTags = options.SourceConditions.TagConditions;
|
||||
protocolLayerOptions.SourceIfTags = options.SourceAccessConditions.TagConditions;
|
||||
return Details::BlobRestClient::Blob::StartCopyFromUri(
|
||||
options.Context, *m_pipeline, m_blobUrl, protocolLayerOptions);
|
||||
}
|
||||
|
||||
@ -292,10 +292,10 @@ namespace Azure { namespace Storage { namespace Blobs {
|
||||
protocolLayerOptions.SourceRange = options.SourceRange;
|
||||
protocolLayerOptions.TransactionalContentHash = options.TransactionalContentHash;
|
||||
protocolLayerOptions.LeaseId = options.AccessConditions.LeaseId;
|
||||
protocolLayerOptions.SourceIfModifiedSince = options.SourceConditions.IfModifiedSince;
|
||||
protocolLayerOptions.SourceIfUnmodifiedSince = options.SourceConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.SourceIfMatch = options.SourceConditions.IfMatch;
|
||||
protocolLayerOptions.SourceIfNoneMatch = options.SourceConditions.IfNoneMatch;
|
||||
protocolLayerOptions.SourceIfModifiedSince = options.SourceAccessConditions.IfModifiedSince;
|
||||
protocolLayerOptions.SourceIfUnmodifiedSince = options.SourceAccessConditions.IfUnmodifiedSince;
|
||||
protocolLayerOptions.SourceIfMatch = options.SourceAccessConditions.IfMatch;
|
||||
protocolLayerOptions.SourceIfNoneMatch = options.SourceAccessConditions.IfNoneMatch;
|
||||
if (m_customerProvidedKey.HasValue())
|
||||
{
|
||||
protocolLayerOptions.EncryptionKey = m_customerProvidedKey.GetValue().Key;
|
||||
|
||||
@ -213,45 +213,45 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
|
||||
{
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
options.SourceConditions.LeaseId = CreateUniqueLeaseId();
|
||||
options.SourceAccessConditions.LeaseId = CreateUniqueLeaseId();
|
||||
/*
|
||||
don't know why, the copy operation also succeeds even if the lease id doesn't match.
|
||||
EXPECT_THROW(
|
||||
destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options), StorageException);
|
||||
*/
|
||||
options.SourceConditions.LeaseId = leaseId;
|
||||
options.SourceAccessConditions.LeaseId = leaseId;
|
||||
EXPECT_NO_THROW(destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options));
|
||||
}
|
||||
sourceBlobClient.BreakLease();
|
||||
{
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
options.SourceConditions.IfMatch = eTag;
|
||||
options.SourceAccessConditions.IfMatch = eTag;
|
||||
EXPECT_NO_THROW(destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options));
|
||||
options.SourceConditions.IfMatch = DummyETag;
|
||||
options.SourceAccessConditions.IfMatch = DummyETag;
|
||||
EXPECT_THROW(
|
||||
destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options), StorageException);
|
||||
}
|
||||
{
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
options.SourceConditions.IfNoneMatch = DummyETag;
|
||||
options.SourceAccessConditions.IfNoneMatch = DummyETag;
|
||||
EXPECT_NO_THROW(destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options));
|
||||
options.SourceConditions.IfNoneMatch = eTag;
|
||||
options.SourceAccessConditions.IfNoneMatch = eTag;
|
||||
EXPECT_THROW(
|
||||
destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options), StorageException);
|
||||
}
|
||||
{
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
options.SourceConditions.IfModifiedSince = timeBeforeStr;
|
||||
options.SourceAccessConditions.IfModifiedSince = timeBeforeStr;
|
||||
EXPECT_NO_THROW(destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options));
|
||||
options.SourceConditions.IfModifiedSince = timeAfterStr;
|
||||
options.SourceAccessConditions.IfModifiedSince = timeAfterStr;
|
||||
EXPECT_THROW(
|
||||
destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options), StorageException);
|
||||
}
|
||||
{
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
options.SourceConditions.IfUnmodifiedSince = timeAfterStr;
|
||||
options.SourceAccessConditions.IfUnmodifiedSince = timeAfterStr;
|
||||
EXPECT_NO_THROW(destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options));
|
||||
options.SourceConditions.IfUnmodifiedSince = timeBeforeStr;
|
||||
options.SourceAccessConditions.IfUnmodifiedSince = timeBeforeStr;
|
||||
EXPECT_THROW(
|
||||
destBlobClient.StartCopyFromUri(sourceBlobClient.GetUrl(), options), StorageException);
|
||||
}
|
||||
|
||||
@ -930,12 +930,12 @@ namespace Azure { namespace Storage { namespace Test {
|
||||
Blobs::StartCopyBlobFromUriOptions options;
|
||||
auto blobClient2 = Azure::Storage::Blobs::AppendBlobClient::CreateFromConnectionString(
|
||||
StandardStorageConnectionString(), m_containerName, RandomString());
|
||||
options.SourceConditions.TagConditions = failWhereExpression;
|
||||
options.SourceAccessConditions.TagConditions = failWhereExpression;
|
||||
EXPECT_THROW(blobClient2.StartCopyFromUri(url, options), StorageException);
|
||||
options.SourceConditions.TagConditions = successWhereExpression;
|
||||
options.SourceAccessConditions.TagConditions = successWhereExpression;
|
||||
EXPECT_NO_THROW(blobClient2.StartCopyFromUri(url, options));
|
||||
|
||||
options.SourceConditions.TagConditions.Reset();
|
||||
options.SourceAccessConditions.TagConditions.Reset();
|
||||
blobClient2.SetTags(tags);
|
||||
|
||||
options.AccessConditions.TagConditions = failWhereExpression;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user