private void RunEncryptDecryptTest(int testIterations, string partitionId, int payloadSizeBytesBase) { try { using (AppEncryption <JObject, byte[]> partition = appEncryptionSessionFactory.GetAppEncryptionJson(partitionId)) { Dictionary <string, byte[]> dataStore = new Dictionary <string, byte[]>(); string partitionPart = "partition-" + partitionId + "-"; for (int i = 0; i < testIterations; i++) { // Note the size will be slightly larger since we're adding extra unique meta JObject jsonObject = PayloadGenerator.CreateRandomJsonPayload(payloadSizeBytesBase); string keyPart = $"iteration-{i}"; jsonObject.Add("payload", partitionPart + keyPart); dataStore.Add(keyPart, partition.Encrypt(jsonObject)); } foreach (KeyValuePair <string, byte[]> keyValuePair in dataStore) { JObject decryptedObject = partition.Decrypt(keyValuePair.Value); Assert.Equal(partitionPart + keyValuePair.Key, decryptedObject.GetValue("payload").ToObject <string>()); } } } catch (Exception e) { Logger.LogError(e, "unexpected error during call"); throw; } }
public AppEncryptionJsonMultiThreadedTest() { payload = PayloadGenerator.CreateDefaultRandomJsonPayload(); appEncryptionSessionFactory = SessionFactoryGenerator.CreateDefaultAppEncryptionSessionFactory(); partitionId = DefaultPartitionId + "_" + DateTimeUtils.GetCurrentTimeAsUtcIsoDateTimeOffset(); appEncryptionJson = appEncryptionSessionFactory.GetAppEncryptionJson(partitionId); }
private void TestGetAppEncryptionJson() { AppEncryption <JObject, byte[]> appEncryptionJson = appEncryptionSessionFactory.GetAppEncryptionJson(TestPartitionId); Assert.NotNull(appEncryptionJson); }
public AppEncryptionJsonMultiThreadedTest(ConfigFixture configFixture) { payload = PayloadGenerator.CreateDefaultRandomJsonPayload(); appEncryptionSessionFactory = SessionFactoryGenerator.CreateDefaultAppEncryptionSessionFactory( configFixture.KeyManagementService, configFixture.MetastorePersistence); partitionId = DefaultPartitionId + "_" + DateTimeUtils.GetCurrentTimeAsUtcIsoDateTimeOffset(); appEncryptionJson = appEncryptionSessionFactory.GetAppEncryptionJson(partitionId); }
private void JsonEncryptDecryptWithDifferentSession() { byte[] dataRowRecord = appEncryptionJson.Encrypt(payload); using (AppEncryption <JObject, byte[]> appEncryptionBytesNew = appEncryptionSessionFactory.GetAppEncryptionJson(partitionId)) { JObject decryptedPayload = appEncryptionBytesNew.Decrypt(dataRowRecord); Assert.Equal(payload, decryptedPayload); } }
private void RunPartitionTest(int testIterations, string partitionId, int payloadSizeBytesBase) { try { using (AppEncryptionSessionFactory factory = SessionFactoryGenerator.CreateDefaultAppEncryptionSessionFactory( configFixture.KeyManagementService, configFixture.MetastorePersistence)) { using (AppEncryption <JObject, byte[]> partition = factory.GetAppEncryptionJson(partitionId)) { Dictionary <string, byte[]> dataStore = new Dictionary <string, byte[]>(); string partitionPart = $"partition-{partitionId}-"; for (int i = 0; i < testIterations; i++) { // Note the size will be slightly larger since we're adding extra unique meta JObject jObject = PayloadGenerator.CreateRandomJsonPayload(payloadSizeBytesBase); string keyPart = $"iteration-{i}"; jObject["payload"] = partitionPart + keyPart; dataStore.Add(keyPart, partition.Encrypt(jObject)); } foreach (KeyValuePair <string, byte[]> keyValuePair in dataStore) { JObject decryptedObject = partition.Decrypt(keyValuePair.Value); Assert.Equal(partitionPart + keyValuePair.Key, decryptedObject["payload"].ToObject <string>()); } } } } catch (Exception e) { Logger.LogError(e, "Unexpected error during call"); throw; } }