public async Task EncryptionBulkCrud() { TestDoc docToReplace = await EncryptionTests.CreateItemAsync(EncryptionTests.containerCore, EncryptionTests.dekId, TestDoc.PathsToEncrypt); docToReplace.NonSensitive = Guid.NewGuid().ToString(); docToReplace.Sensitive = Guid.NewGuid().ToString(); TestDoc docToUpsert = await EncryptionTests.CreateItemAsync(EncryptionTests.containerCore, EncryptionTests.dekId, TestDoc.PathsToEncrypt); docToUpsert.NonSensitive = Guid.NewGuid().ToString(); docToUpsert.Sensitive = Guid.NewGuid().ToString(); TestDoc docToDelete = await EncryptionTests.CreateItemAsync(EncryptionTests.containerCore, EncryptionTests.dekId, TestDoc.PathsToEncrypt); (string endpoint, string authKey) = TestCommon.GetAccountInfo(); CosmosClient clientWithBulk = new CosmosClientBuilder(endpoint, authKey) .WithEncryptionKeyWrapProvider(new TestKeyWrapProvider()) .WithBulkExecution(true) .Build(); DatabaseCore databaseWithBulk = (DatabaseInlineCore)clientWithBulk.GetDatabase(EncryptionTests.databaseCore.Id); ContainerCore containerWithBulk = (ContainerInlineCore)databaseWithBulk.GetContainer(EncryptionTests.container.Id); List <Task> tasks = new List <Task>(); tasks.Add(EncryptionTests.CreateItemAsync(containerWithBulk, EncryptionTests.dekId, TestDoc.PathsToEncrypt)); tasks.Add(EncryptionTests.UpsertItemAsync(containerWithBulk, TestDoc.Create(), EncryptionTests.dekId, TestDoc.PathsToEncrypt, HttpStatusCode.Created)); tasks.Add(EncryptionTests.ReplaceItemAsync(containerWithBulk, docToReplace, EncryptionTests.dekId, TestDoc.PathsToEncrypt)); tasks.Add(EncryptionTests.UpsertItemAsync(containerWithBulk, docToUpsert, EncryptionTests.dekId, TestDoc.PathsToEncrypt, HttpStatusCode.OK)); tasks.Add(EncryptionTests.DeleteItemAsync(containerWithBulk, docToDelete)); await Task.WhenAll(tasks); }
public async Task EncryptionRudItem() { TestDoc testDoc = await EncryptionTests.UpsertItemAsync( EncryptionTests.containerCore, TestDoc.Create(), EncryptionTests.dekId, TestDoc.PathsToEncrypt, HttpStatusCode.Created); await EncryptionTests.VerifyItemByReadAsync(EncryptionTests.containerCore, testDoc); testDoc.NonSensitive = Guid.NewGuid().ToString(); testDoc.Sensitive = Guid.NewGuid().ToString(); ItemResponse <TestDoc> upsertResponse = await EncryptionTests.UpsertItemAsync( EncryptionTests.containerCore, testDoc, EncryptionTests.dekId, TestDoc.PathsToEncrypt, HttpStatusCode.OK); TestDoc updatedDoc = upsertResponse.Resource; await EncryptionTests.VerifyItemByReadAsync(EncryptionTests.containerCore, updatedDoc); updatedDoc.NonSensitive = Guid.NewGuid().ToString(); updatedDoc.Sensitive = Guid.NewGuid().ToString(); TestDoc replacedDoc = await EncryptionTests.ReplaceItemAsync( EncryptionTests.containerCore, updatedDoc, EncryptionTests.dekId, TestDoc.PathsToEncrypt, upsertResponse.ETag); await EncryptionTests.VerifyItemByReadAsync(EncryptionTests.containerCore, replacedDoc); await EncryptionTests.DeleteItemAsync(EncryptionTests.containerCore, replacedDoc); }