Skip to content

Commit 9c63f3a

Browse files
committed
Fixed interceptor tests
1 parent c384f98 commit 9c63f3a

File tree

5 files changed

+40
-30
lines changed

5 files changed

+40
-30
lines changed

src/test/java/com/mastercard/developer/encryption/FieldLevelEncryptionWithDefaultJsonEngineTest.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import java.security.InvalidKeyException;
1313

1414
import static com.mastercard.developer.encryption.FieldLevelEncryptionConfig.FieldValueEncoding;
15-
import static com.mastercard.developer.test.TestUtils.getTestFieldLevelEncryptionConfigBuilder;
15+
import static com.mastercard.developer.test.TestUtils.*;
1616
import static com.mastercard.developer.utils.EncryptionUtils.loadDecryptionKey;
1717
import static org.hamcrest.core.Is.isA;
1818
import static org.junit.Assert.*;
@@ -1038,15 +1038,4 @@ public void testDecryptPayload_ShouldKeepCertificateAndKeyFingerprints_WhenField
10381038
assertNotNull(encryptedDataObject.getAsJsonObject().get("encryptionKeyFingerprint"));
10391039
assertEquals("{}", payloadObject.get("data").toString());
10401040
}
1041-
1042-
private static void assertDecryptedPayloadEquals(String expectedPayload, String encryptedPayload, FieldLevelEncryptionConfig config) throws Exception {
1043-
String payloadString = FieldLevelEncryption.decryptPayload(encryptedPayload, config);
1044-
String normalizedPayloadString = new Gson().fromJson(payloadString, JsonObject.class).toString();
1045-
assertEquals(expectedPayload, normalizedPayloadString);
1046-
}
1047-
1048-
private static void assertPayloadEquals(String expectedPayload, String payload) throws Exception {
1049-
String normalizedPayloadString = new Gson().fromJson(payload, JsonObject.class).toString();
1050-
assertEquals(expectedPayload, normalizedPayloadString);
1051-
}
10521041
}

src/test/java/com/mastercard/developer/interceptor/HttpExecuteFieldLevelEncryptionInterceptorTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.lang.reflect.Field;
2121
import java.nio.charset.StandardCharsets;
2222

23+
import static com.mastercard.developer.test.TestUtils.assertPayloadEquals;
2324
import static com.mastercard.developer.test.TestUtils.getTestFieldLevelEncryptionConfigBuilder;
2425
import static org.hamcrest.core.Is.isA;
2526
import static org.mockito.Mockito.*;
@@ -56,7 +57,7 @@ public void testIntercept_ShouldEncryptRequestPayload() throws Exception {
5657
String encryptedPayload = encryptedPayloadStream.toString(StandardCharsets.UTF_8.name());
5758
Assert.assertFalse(encryptedPayload.contains("foo"));
5859
Assert.assertTrue(encryptedPayload.contains("encryptedFoo"));
59-
Assert.assertEquals(868, httpHeaders.getContentLength().intValue());
60+
Assert.assertEquals(encryptedPayload.length(), httpHeaders.getContentLength().intValue());
6061
}
6162

6263
@Test
@@ -105,9 +106,9 @@ public void testInterceptResponse_ShouldDecryptResponsePayload() throws Exceptio
105106
// GIVEN
106107
String encryptedPayload = "{" +
107108
" \"encryptedData\": {" +
108-
" \"iv\": \"a2c494ca28dec4f3d6ce7d68b1044cfe\"," +
109-
" \"encryptedKey\": \"038c65f154a2b07f6c788aaddc13ecead05fdeb11eca0bf576cab7185df66349d2cba4ba51a5304d45995e915bb1de462f0f66acd05026b21340b567d141653a2175ccfe2030b3b49261c6750381421cf0e29bd67840bcdc8092a44691c6c74dcdf620d5a744832fce3b45b8e3f8ad1af6c919195eb7f878c7435143e328e8b858dd232dbfacf7bb2f73981a80a09dc7c6dcd49ad95df527d415438958700b48994d7f6207f03d974a5cf50181205ac0a301a91e94b35ad162c8cf39475d2505d8ae7b1d4ed6f170091ab523f037a75eddb5ca46db9328c10395b69f8b798c280fa0e76f8385a64fe37b67e8578f3f9572dfb87d71e80a97323753030966901b\"," +
110-
" \"encryptedValue\": \"0672589113046bf692265b6ea6088184\"," +
109+
" \"iv\": \"a32059c51607d0d02e823faecda5fb15\"," +
110+
" \"encryptedKey\": \"a31cfe7a7981b72428c013270619554c1d645c04b9d51c7eaf996f55749ef62fd7c7f8d334f95913be41ae38c46d192670fd1acb84ebb85a00cd997f1a9a3f782229c7bf5f0fdf49fe404452d7ed4fd41fbb95b787d25893fbf3d2c75673cecc8799bbe3dd7eb4fe6d3f744b377572cdf8aba1617194e10475b6cd6a8dd4fb8264f8f51534d8f7ac7c10b4ce9c44d15066724b03a0ab0edd512f9e6521fdb5841cd6964e457d6b4a0e45ba4aac4e77d6bbe383d6147e751fa88bc26278bb9690f9ee84b17123b887be2dcef0873f4f9f2c895d90e23456fafb01b99885e31f01a3188f0ad47edf22999cc1d0ddaf49e1407375117b5d66f1f185f2b57078d255\"," +
111+
" \"encryptedValue\": \"21d754bdb4567d35d58720c9f8364075\"," +
111112
" \"oaepHashingAlgorithm\": \"SHA256\"" +
112113
" }" +
113114
"}";
@@ -128,8 +129,9 @@ public void testInterceptResponse_ShouldDecryptResponsePayload() throws Exceptio
128129
Field contentField = response.getClass().getDeclaredField("content");
129130
contentField.setAccessible(true);
130131
InputStream payloadInputStream = (InputStream) contentField.get(response);
131-
Assert.assertEquals(expectedPayload, IOUtils.toString(payloadInputStream, StandardCharsets.UTF_8));
132-
Assert.assertEquals(expectedPayload.length(), httpHeaders.getContentLength().intValue());
132+
String payload = IOUtils.toString(payloadInputStream, StandardCharsets.UTF_8);
133+
assertPayloadEquals(expectedPayload, payload);
134+
Assert.assertEquals(payload.length(), httpHeaders.getContentLength().intValue());
133135
}
134136

135137
@Test

src/test/java/com/mastercard/developer/interceptor/OkHttp2FieldLevelEncryptionInterceptorTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import java.io.IOException;
1616

17+
import static com.mastercard.developer.test.TestUtils.assertPayloadEquals;
1718
import static com.mastercard.developer.test.TestUtils.getTestFieldLevelEncryptionConfigBuilder;
1819
import static com.squareup.okhttp.Interceptor.Chain;
1920
import static org.hamcrest.core.Is.isA;
@@ -56,7 +57,7 @@ public void testIntercept_ShouldEncryptRequestPayload() throws Exception {
5657
String encryptedPayload = buffer.readUtf8();
5758
Assert.assertFalse(encryptedPayload.contains("foo"));
5859
Assert.assertTrue(encryptedPayload.contains("encryptedFoo"));
59-
Assert.assertEquals(868, encryptedRequest.body().contentLength());
60+
Assert.assertEquals(encryptedPayload.length(), encryptedRequest.body().contentLength());
6061
}
6162

6263
@Test
@@ -117,9 +118,9 @@ public void testIntercept_ShouldDecryptResponsePayload() throws Exception {
117118
// GIVEN
118119
String encryptedPayload = "{" +
119120
" \"encryptedData\": {" +
120-
" \"iv\": \"a2c494ca28dec4f3d6ce7d68b1044cfe\"," +
121-
" \"encryptedKey\": \"038c65f154a2b07f6c788aaddc13ecead05fdeb11eca0bf576cab7185df66349d2cba4ba51a5304d45995e915bb1de462f0f66acd05026b21340b567d141653a2175ccfe2030b3b49261c6750381421cf0e29bd67840bcdc8092a44691c6c74dcdf620d5a744832fce3b45b8e3f8ad1af6c919195eb7f878c7435143e328e8b858dd232dbfacf7bb2f73981a80a09dc7c6dcd49ad95df527d415438958700b48994d7f6207f03d974a5cf50181205ac0a301a91e94b35ad162c8cf39475d2505d8ae7b1d4ed6f170091ab523f037a75eddb5ca46db9328c10395b69f8b798c280fa0e76f8385a64fe37b67e8578f3f9572dfb87d71e80a97323753030966901b\"," +
122-
" \"encryptedValue\": \"0672589113046bf692265b6ea6088184\"," +
121+
" \"iv\": \"a32059c51607d0d02e823faecda5fb15\"," +
122+
" \"encryptedKey\": \"a31cfe7a7981b72428c013270619554c1d645c04b9d51c7eaf996f55749ef62fd7c7f8d334f95913be41ae38c46d192670fd1acb84ebb85a00cd997f1a9a3f782229c7bf5f0fdf49fe404452d7ed4fd41fbb95b787d25893fbf3d2c75673cecc8799bbe3dd7eb4fe6d3f744b377572cdf8aba1617194e10475b6cd6a8dd4fb8264f8f51534d8f7ac7c10b4ce9c44d15066724b03a0ab0edd512f9e6521fdb5841cd6964e457d6b4a0e45ba4aac4e77d6bbe383d6147e751fa88bc26278bb9690f9ee84b17123b887be2dcef0873f4f9f2c895d90e23456fafb01b99885e31f01a3188f0ad47edf22999cc1d0ddaf49e1407375117b5d66f1f185f2b57078d255\"," +
123+
" \"encryptedValue\": \"21d754bdb4567d35d58720c9f8364075\"," +
123124
" \"oaepHashingAlgorithm\": \"SHA256\"" +
124125
" }" +
125126
"}";
@@ -144,8 +145,9 @@ public void testIntercept_ShouldDecryptResponsePayload() throws Exception {
144145

145146
// THEN
146147
String expectedPayload = "{\"data\":\"string\"}";
147-
Assert.assertEquals(expectedPayload, response.body().string());
148-
Assert.assertEquals(expectedPayload.length(), response.body().contentLength());
148+
String payload = response.body().string();
149+
assertPayloadEquals(expectedPayload, payload);
150+
Assert.assertEquals(payload.length(), response.body().contentLength());
149151
}
150152

151153
@Test

src/test/java/com/mastercard/developer/interceptor/OkHttpFieldLevelEncryptionInterceptorTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import java.io.IOException;
1616

17+
import static com.mastercard.developer.test.TestUtils.assertPayloadEquals;
1718
import static com.mastercard.developer.test.TestUtils.getTestFieldLevelEncryptionConfigBuilder;
1819
import static okhttp3.Interceptor.Chain;
1920
import static org.hamcrest.core.Is.isA;
@@ -56,7 +57,7 @@ public void testIntercept_ShouldEncryptRequestPayload() throws Exception {
5657
String encryptedPayload = buffer.readUtf8();
5758
Assert.assertFalse(encryptedPayload.contains("foo"));
5859
Assert.assertTrue(encryptedPayload.contains("encryptedFoo"));
59-
Assert.assertEquals(868, encryptedRequest.body().contentLength());
60+
Assert.assertEquals(encryptedPayload.length(), encryptedRequest.body().contentLength());
6061
}
6162

6263
@Test
@@ -117,9 +118,9 @@ public void testIntercept_ShouldDecryptResponsePayload() throws Exception {
117118
// GIVEN
118119
String encryptedPayload = "{" +
119120
" \"encryptedData\": {" +
120-
" \"iv\": \"a2c494ca28dec4f3d6ce7d68b1044cfe\"," +
121-
" \"encryptedKey\": \"038c65f154a2b07f6c788aaddc13ecead05fdeb11eca0bf576cab7185df66349d2cba4ba51a5304d45995e915bb1de462f0f66acd05026b21340b567d141653a2175ccfe2030b3b49261c6750381421cf0e29bd67840bcdc8092a44691c6c74dcdf620d5a744832fce3b45b8e3f8ad1af6c919195eb7f878c7435143e328e8b858dd232dbfacf7bb2f73981a80a09dc7c6dcd49ad95df527d415438958700b48994d7f6207f03d974a5cf50181205ac0a301a91e94b35ad162c8cf39475d2505d8ae7b1d4ed6f170091ab523f037a75eddb5ca46db9328c10395b69f8b798c280fa0e76f8385a64fe37b67e8578f3f9572dfb87d71e80a97323753030966901b\"," +
122-
" \"encryptedValue\": \"0672589113046bf692265b6ea6088184\"," +
121+
" \"iv\": \"a32059c51607d0d02e823faecda5fb15\"," +
122+
" \"encryptedKey\": \"a31cfe7a7981b72428c013270619554c1d645c04b9d51c7eaf996f55749ef62fd7c7f8d334f95913be41ae38c46d192670fd1acb84ebb85a00cd997f1a9a3f782229c7bf5f0fdf49fe404452d7ed4fd41fbb95b787d25893fbf3d2c75673cecc8799bbe3dd7eb4fe6d3f744b377572cdf8aba1617194e10475b6cd6a8dd4fb8264f8f51534d8f7ac7c10b4ce9c44d15066724b03a0ab0edd512f9e6521fdb5841cd6964e457d6b4a0e45ba4aac4e77d6bbe383d6147e751fa88bc26278bb9690f9ee84b17123b887be2dcef0873f4f9f2c895d90e23456fafb01b99885e31f01a3188f0ad47edf22999cc1d0ddaf49e1407375117b5d66f1f185f2b57078d255\"," +
123+
" \"encryptedValue\": \"21d754bdb4567d35d58720c9f8364075\"," +
123124
" \"oaepHashingAlgorithm\": \"SHA256\"" +
124125
" }" +
125126
"}";
@@ -145,8 +146,9 @@ public void testIntercept_ShouldDecryptResponsePayload() throws Exception {
145146

146147
// THEN
147148
String expectedPayload = "{\"data\":\"string\"}";
148-
Assert.assertEquals(expectedPayload, response.body().string());
149-
Assert.assertEquals(expectedPayload.length(), response.body().contentLength());
149+
String payload = response.body().string();
150+
assertPayloadEquals(expectedPayload, payload);
151+
Assert.assertEquals(payload.length(), response.body().contentLength());
150152
}
151153

152154
@Test

src/test/java/com/mastercard/developer/test/TestUtils.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.mastercard.developer.test;
22

3+
import com.google.gson.Gson;
4+
import com.google.gson.JsonObject;
5+
import com.mastercard.developer.encryption.FieldLevelEncryption;
36
import com.mastercard.developer.encryption.FieldLevelEncryptionConfig;
47
import com.mastercard.developer.encryption.FieldLevelEncryptionConfigBuilder;
58

@@ -9,6 +12,7 @@
912

1013
import static com.mastercard.developer.utils.EncryptionUtils.loadDecryptionKey;
1114
import static com.mastercard.developer.utils.EncryptionUtils.loadEncryptionCertificate;
15+
import static org.junit.Assert.assertEquals;
1216
import static org.mockito.Mockito.mock;
1317

1418
public class TestUtils {
@@ -43,4 +47,15 @@ public static FieldLevelEncryptionConfigBuilder getTestFieldLevelEncryptionConfi
4347
.withEncryptionKeyFingerprint("761b003c1eade3a5490e5000d37887baa5e6ec0e226c07706e599451fc032a79")
4448
.withFieldValueEncoding(FieldLevelEncryptionConfig.FieldValueEncoding.HEX);
4549
}
50+
51+
public static void assertDecryptedPayloadEquals(String expectedPayload, String encryptedPayload, FieldLevelEncryptionConfig config) throws Exception {
52+
String payloadString = FieldLevelEncryption.decryptPayload(encryptedPayload, config);
53+
String normalizedPayloadString = new Gson().fromJson(payloadString, JsonObject.class).toString();
54+
assertEquals(expectedPayload, normalizedPayloadString);
55+
}
56+
57+
public static void assertPayloadEquals(String expectedPayload, String payload) {
58+
String normalizedPayloadString = new Gson().fromJson(payload, JsonObject.class).toString();
59+
assertEquals(expectedPayload, normalizedPayloadString);
60+
}
4661
}

0 commit comments

Comments
 (0)