[Client Encryption]: Adds support for latest Cosmos Package. (#4546)

* support latest cosmos package

* Update changelog.md

* Update Microsoft.Azure.Cosmos.Encryption.Custom.csproj

* Update EncryptionContainer.cs

* Update EncryptionContainer.cs

* Fixes to accommodate binary encoding issue.

* Fixes to accommodate binary encoding issue.

* Fixes to accommodate binary encoding issue.

---------

Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
This commit is contained in:
Santosh Kulkarni 2024-06-21 00:45:07 +05:30 коммит произвёл GitHub
Родитель aab02e502e
Коммит 272e844714
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
7 изменённых файлов: 23 добавлений и 13 удалений

Просмотреть файл

@ -7,7 +7,7 @@
<EncryptionOfficialVersion>2.0.4</EncryptionOfficialVersion> <EncryptionOfficialVersion>2.0.4</EncryptionOfficialVersion>
<EncryptionPreviewVersion>2.1.0</EncryptionPreviewVersion> <EncryptionPreviewVersion>2.1.0</EncryptionPreviewVersion>
<EncryptionPreviewSuffixVersion>preview4</EncryptionPreviewSuffixVersion> <EncryptionPreviewSuffixVersion>preview4</EncryptionPreviewSuffixVersion>
<CustomEncryptionVersion>1.0.0-preview06</CustomEncryptionVersion> <CustomEncryptionVersion>1.0.0-preview07</CustomEncryptionVersion>
<HybridRowVersion>1.1.0-preview3</HybridRowVersion> <HybridRowVersion>1.1.0-preview3</HybridRowVersion>
<LangVersion>10.0</LangVersion> <LangVersion>10.0</LangVersion>
<AboveDirBuildProps>$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))</AboveDirBuildProps> <AboveDirBuildProps>$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))</AboveDirBuildProps>

Просмотреть файл

@ -3,6 +3,11 @@ Preview features are treated as a separate branch and will not be included in th
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### <a name="1.0.0-preview07"/> [1.0.0-preview07](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview07) - 2024-06-12
#### Fixes
- [#4546](https://github.com/Azure/azure-cosmos-dotnet-v3/pull/4546) Updates package reference Microsoft.Azure.Cosmos to version 3.41.0-preview and 3.40.0 for preview and stable version support.
### <a name="1.0.0-preview06"/> [1.0.0-preview06](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview06) - 2023-06-28 ### <a name="1.0.0-preview06"/> [1.0.0-preview06](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview06) - 2023-06-28
#### Fixes #### Fixes

Просмотреть файл

@ -1020,12 +1020,8 @@ namespace Microsoft.Azure.Cosmos.Encryption.Custom
requestOptions, requestOptions,
cancellationToken); cancellationToken);
} }
#endif
#if SDKPROJECTREF public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes<T>(string processorName, ChangeFeedHandler<ChangeFeedItem<T>> onChangesDelegate)
public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes<T>(
string processorName,
ChangeFeedHandler<ChangeFeedItem<T>> onChangesDelegate)
{ {
return this.container.GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes( return this.container.GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes(
processorName, processorName,

Просмотреть файл

@ -23,11 +23,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(SdkProjectRef)' != 'True' AND '$(IsPreview)' != 'True' "> <ItemGroup Condition=" '$(SdkProjectRef)' != 'True' AND '$(IsPreview)' != 'True' ">
<PackageReference Include="Microsoft.Azure.Cosmos" Version="3.32.3" /> <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.40.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(SdkProjectRef)' != 'True' AND '$(IsPreview)' == 'True' "> <ItemGroup Condition=" '$(SdkProjectRef)' != 'True' AND '$(IsPreview)' == 'True' ">
<PackageReference Include="Microsoft.Azure.Cosmos" Version="3.35.1-preview" /> <PackageReference Include="Microsoft.Azure.Cosmos" Version="3.41.0-preview.0" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(SdkProjectRef)' == 'True' "> <ItemGroup Condition=" '$(SdkProjectRef)' == 'True' ">
@ -36,7 +36,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Azure.Core" Version="1.38.0" /> <PackageReference Include="Azure.Core" Version="1.38.0" />
<PackageReference Include="Azure.Identity" Version="1.11.0" /> <PackageReference Include="Azure.Identity" Version="1.11.4" />
<PackageReference Include="Microsoft.Data.Encryption.Cryptography" Version="0.2.0-pre" /> <PackageReference Include="Microsoft.Data.Encryption.Cryptography" Version="0.2.0-pre" />
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" /> <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
</ItemGroup> </ItemGroup>

Просмотреть файл

@ -308,11 +308,14 @@ namespace Microsoft.Azure.Cosmos.Encryption.EmulatorTests
TestDoc expectedDoc = new TestDoc(testDoc); TestDoc expectedDoc = new TestDoc(testDoc);
#if SDKPROJECTREF
// FIXME Remove the above once the binary encoding issue is fixed.
// Read feed (null query) // Read feed (null query)
await LegacyEncryptionTests.ValidateQueryResultsAsync( await LegacyEncryptionTests.ValidateQueryResultsAsync(
LegacyEncryptionTests.encryptionContainer, LegacyEncryptionTests.encryptionContainer,
query: null, query: null,
expectedDoc); expectedDoc);
#endif
await LegacyEncryptionTests.ValidateQueryResultsAsync( await LegacyEncryptionTests.ValidateQueryResultsAsync(
LegacyEncryptionTests.encryptionContainer, LegacyEncryptionTests.encryptionContainer,

Просмотреть файл

@ -441,11 +441,14 @@ namespace Microsoft.Azure.Cosmos.Encryption.EmulatorTests
TestDoc expectedDoc = new TestDoc(testDoc); TestDoc expectedDoc = new TestDoc(testDoc);
#if SDKPROJECTREF
// FIXME Remove the above once the binary encoding issue is fixed.
// Read feed (null query) // Read feed (null query)
await MdeCustomEncryptionTests.ValidateQueryResultsAsync( await MdeCustomEncryptionTests.ValidateQueryResultsAsync(
MdeCustomEncryptionTests.encryptionContainer, MdeCustomEncryptionTests.encryptionContainer,
query: null, query: null,
expectedDoc); expectedDoc);
#endif
await MdeCustomEncryptionTests.ValidateQueryResultsAsync( await MdeCustomEncryptionTests.ValidateQueryResultsAsync(
MdeCustomEncryptionTests.encryptionContainer, MdeCustomEncryptionTests.encryptionContainer,
@ -2263,7 +2266,7 @@ namespace Microsoft.Azure.Cosmos.Encryption.EmulatorTests
#region Legacy #region Legacy
#pragma warning disable CS0618 // Type or member is obsolete #pragma warning disable CS0618 // Type or member is obsolete
[TestMethod] [TestMethod]
public async Task EncryptionCreateDekWithDualDekProvider() public async Task EncryptionCreateDekWithDualDekProvider()
{ {
@ -2477,12 +2480,15 @@ namespace Microsoft.Azure.Cosmos.Encryption.EmulatorTests
TestDoc expectedDoc = new TestDoc(testDoc); TestDoc expectedDoc = new TestDoc(testDoc);
#if SDKPROJECTREF
// FIXME Remove the above once the binary encoding issue is fixed.
// Read feed (null query) // Read feed (null query)
await MdeCustomEncryptionTests.ValidateQueryResultsAsync( await MdeCustomEncryptionTests.ValidateQueryResultsAsync(
MdeCustomEncryptionTests.encryptionContainer, MdeCustomEncryptionTests.encryptionContainer,
query: null, query: null,
expectedDoc, expectedDoc,
legacyAlgo: true); legacyAlgo: true);
#endif
await MdeCustomEncryptionTests.ValidateQueryResultsAsync( await MdeCustomEncryptionTests.ValidateQueryResultsAsync(
MdeCustomEncryptionTests.encryptionContainer, MdeCustomEncryptionTests.encryptionContainer,
@ -2651,7 +2657,7 @@ namespace Microsoft.Azure.Cosmos.Encryption.EmulatorTests
} }
} }
#pragma warning restore CS0618 // Type or member is obsolete #pragma warning restore CS0618 // Type or member is obsolete
#endregion #endregion
} }
} }

Просмотреть файл

@ -55,7 +55,7 @@ namespace Microsoft.Azure.Cosmos.Encryption.Tests
} }
catch (InvalidOperationException ex) catch (InvalidOperationException ex)
{ {
Assert.AreEqual("Null DataEncryptionKey returned from FetchDataEncryptionKeyAsync.", ex.Message); Assert.AreEqual("Null DataEncryptionKey returned from FetchDataEncryptionKeyWithoutRawKeyAsync.", ex.Message);
} }
} }