killbill-memoizeit
Changes
profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/LuhnMaskingObfuscator.java 34(+26 -8)
profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/Obfuscator.java 39(+1 -38)
profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestConfigMagicObfuscator.java 8(+4 -4)
profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestLuhnMaskingObfuscator.java 42(+21 -21)
profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscator.java 6(+3 -3)
Details
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/LuhnMaskingObfuscator.java b/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/LuhnMaskingObfuscator.java
index 1edb705..8ad5478 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/LuhnMaskingObfuscator.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/LuhnMaskingObfuscator.java
@@ -76,10 +76,7 @@ public class LuhnMaskingObfuscator extends Obfuscator {
numberEnd = last4pos[3] + 1;
if ((digitsSeen >= MIN_CC_DIGITS)
&& luhnCheck(stripSeparators(formattedMessage.substring(numberStart, numberEnd)))) {
- masked.append(formattedMessage, unwrittenStart, numberStart);
- masked.append(obfuscateConfidentialData(formattedMessage.substring(numberStart, numberEnd),
- formattedMessage.substring(last4pos[0], numberEnd)));
- masked.append(formattedMessage, last4pos[0], numberEnd);
+ maskCC(formattedMessage, unwrittenStart, numberStart, numberEnd, last4pos[0], masked);
unwrittenStart = numberEnd;
}
numberStart = -1;
@@ -89,10 +86,7 @@ public class LuhnMaskingObfuscator extends Obfuscator {
if (numberStart != -1 && (digitsSeen >= MIN_CC_DIGITS)
&& luhnCheck(stripSeparators(formattedMessage.substring(numberStart, pos)))) {
- masked.append(formattedMessage, unwrittenStart, numberStart);
- masked.append(obfuscateConfidentialData(formattedMessage.substring(numberStart, pos),
- formattedMessage.substring(last4pos[0], pos)));
- masked.append(formattedMessage, last4pos[0], pos);
+ maskCC(formattedMessage, unwrittenStart, numberStart, pos, last4pos[0], masked);
} else {
masked.append(formattedMessage, unwrittenStart, pos);
}
@@ -100,6 +94,30 @@ public class LuhnMaskingObfuscator extends Obfuscator {
return masked.toString();
}
+ private void maskCC(final String formattedMessage, final int unwrittenStart, final int numberStart, final int numberEnd, final int last4pos, final StringBuilder masked) {
+ masked.append(formattedMessage, unwrittenStart, numberStart);
+
+ // Don't mask the BIN
+ int binNumbersLeft = 6;
+ int panStartPos = numberStart;
+ char current;
+ while (binNumbersLeft > 0) {
+ current = formattedMessage.charAt(panStartPos);
+ if (isDigit(current)) {
+ masked.append(current);
+ binNumbersLeft--;
+ }
+ panStartPos++;
+ }
+
+ // Append the mask
+ masked.append(obfuscateConfidentialData(formattedMessage.substring(panStartPos, numberEnd),
+ formattedMessage.substring(last4pos, numberEnd)));
+
+ // Append last 4
+ masked.append(formattedMessage, last4pos, numberEnd);
+ }
+
private boolean hasEnoughDigits(final CharSequence formattedMessage) {
int digits = 0;
final int length = formattedMessage.length();
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/Obfuscator.java b/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/Obfuscator.java
index bf37cca..cd4426d 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/Obfuscator.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/log/obfuscators/Obfuscator.java
@@ -34,17 +34,7 @@ public abstract class Obfuscator {
protected static final int DEFAULT_PATTERN_FLAGS = Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL;
- protected static final String MASK_LABEL = "MASKED";
- protected static final int MASK_LABEL_LENGTH = MASK_LABEL.length();
protected static final char PAD_CHAR = '*';
- protected static final int MASK_LOOKUPS_SIZE = 20;
- protected final String[] MASK_LOOKUPS = new String[MASK_LOOKUPS_SIZE];
-
- public Obfuscator() {
- for (int i = 0; i < MASK_LOOKUPS.length; i++) {
- MASK_LOOKUPS[i] = buildMask(i);
- }
- }
public abstract String obfuscate(final String originalString, final ILoggingEvent event);
@@ -111,33 +101,6 @@ public abstract class Obfuscator {
@VisibleForTesting
String obfuscateConfidentialData(final CharSequence confidentialSequence, @Nullable final CharSequence unmasked) {
final int maskedLength = unmasked == null ? confidentialSequence.length() : confidentialSequence.length() - unmasked.length();
- if (maskedLength < MASK_LOOKUPS_SIZE) {
- return MASK_LOOKUPS[maskedLength];
- } else {
- return buildMask(maskedLength);
- }
- }
-
- /**
- * Create a masking string with the given length.
- *
- * @param maskedLength obfuscated String length
- * @return a mask string
- */
- private String buildMask(final int maskedLength) {
- final int pads = maskedLength - MASK_LABEL_LENGTH;
- final StringBuilder mask = new StringBuilder(maskedLength);
- if (pads <= 0) {
- mask.append(MASK_LABEL);
- } else {
- for (int i = 0; i < pads / 2; i++) {
- mask.append(PAD_CHAR);
- }
- mask.append(MASK_LABEL);
- while (mask.length() < maskedLength) {
- mask.append(PAD_CHAR);
- }
- }
- return mask.toString();
+ return new String(new char[maskedLength]).replace('\0', PAD_CHAR);
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestConfigMagicObfuscator.java b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestConfigMagicObfuscator.java
index fb6d67e..51a41c7 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestConfigMagicObfuscator.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestConfigMagicObfuscator.java
@@ -31,19 +31,19 @@ public class TestConfigMagicObfuscator extends ServerTestSuiteNoDB {
@Test(groups = "fast")
public void testKey() throws Exception {
verify("Assigning value [pass2b78b7cef] for [org.killbill.billing.plugin.avatax.licenseKey] on [org.killbill.billing.plugins.avatax#getLicenseKey()]",
- "Assigning value [***MASKED****] for [org.killbill.billing.plugin.avatax.licenseKey] on [org.killbill.billing.plugins.avatax#getLicenseKey()]");
+ "Assigning value [*************] for [org.killbill.billing.plugin.avatax.licenseKey] on [org.killbill.billing.plugins.avatax#getLicenseKey()]");
verify("Assigning value [pass2b78b7cef] for [org.killbill.billing.plugin.avatax.apiKey] on [org.killbill.billing.plugins.avatax#getApiKey()]",
- "Assigning value [***MASKED****] for [org.killbill.billing.plugin.avatax.apiKey] on [org.killbill.billing.plugins.avatax#getApiKey()]");
+ "Assigning value [*************] for [org.killbill.billing.plugin.avatax.apiKey] on [org.killbill.billing.plugins.avatax#getApiKey()]");
}
@Test(groups = "fast")
public void testPassword() throws Exception {
verify("Assigning value [pass2b78b7ce] for [org.killbill.dao.pass] on [org.killbill.commons.jdbi.guice.DaoConfig#getPass()]",
- "Assigning value [***MASKED***] for [org.killbill.dao.pass] on [org.killbill.commons.jdbi.guice.DaoConfig#getPass()]");
+ "Assigning value [************] for [org.killbill.dao.pass] on [org.killbill.commons.jdbi.guice.DaoConfig#getPass()]");
verify("Assigning value [pass2b78b7ce] for [org.killbill.dao.password] on [org.killbill.commons.jdbi.guice.DaoConfig#getPassword()]",
- "Assigning value [***MASKED***] for [org.killbill.dao.password] on [org.killbill.commons.jdbi.guice.DaoConfig#getPassword()]");
+ "Assigning value [************] for [org.killbill.dao.password] on [org.killbill.commons.jdbi.guice.DaoConfig#getPassword()]");
}
private void verify(final String input, final String output) {
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestLuhnMaskingObfuscator.java b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestLuhnMaskingObfuscator.java
index 794a96d..29d51ef 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestLuhnMaskingObfuscator.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestLuhnMaskingObfuscator.java
@@ -50,17 +50,17 @@ public class TestLuhnMaskingObfuscator extends ServerTestSuiteNoDB {
@Test(groups = "fast")
public void testConvert() {
- verify("try 5137 0049 8639 6404 and 5137 0049 8639 6403", "try 5137 0049 8639 6404 and ****MASKED*****6403");
+ verify("try 5137 0049 8639 6404 and 5137 0049 8639 6403", "try 5137 0049 8639 6404 and 513700********6403");
}
@Test(groups = "fast")
public void testConvertCcNumberAtStartNonCcNumberAtEnd() {
- verify("5137 0049 8639 6403 and 5137 0049 8639 6404", "****MASKED*****6403 and 5137 0049 8639 6404");
+ verify("5137 0049 8639 6403 and 5137 0049 8639 6404", "513700********6403 and 5137 0049 8639 6404");
}
@Test(groups = "fast")
public void testConvertMultiple() {
- verify("try 5137 0049 8639 6403 multiple 5137 0049 8639 6404 possible 4111-1111-1111 1111 card 4111111111111112 numbers", "try ****MASKED*****6403 multiple 5137 0049 8639 6404 possible ****MASKED*****1111 card 4111111111111112 numbers");
+ verify("try 5137 0049 8639 6403 multiple 5137 0049 8639 6404 possible 4111-1111-1111 1111 card 4111111111111112 numbers", "try 513700********6403 multiple 5137 0049 8639 6404 possible 411111********1111 card 4111111111111112 numbers");
}
@Test(groups = "fast")
@@ -102,41 +102,41 @@ public class TestLuhnMaskingObfuscator extends ServerTestSuiteNoDB {
+ "Switch/Solo (Paymentech)"
+ "6331101999990016",
"American Express"
- + "**MASKED***0005"
+ + "378282*****0005"
+ "American Express"
- + "**MASKED***8431"
+ + "371449*****8431"
+ "American Express Corporate"
- + "**MASKED***1000"
+ + "378734*****1000"
+ "Australian BankCard"
- + "***MASKED***8250"
+ + "561059******8250"
+ "Diners Club"
- + "**MASKED**5904"
+ + "305693****5904"
+ "Diners Club"
- + "**MASKED**3237"
+ + "385200****3237"
+ "Discover"
- + "***MASKED***1117"
+ + "601111******1117"
+ "Discover"
- + "***MASKED***9424"
+ + "601100******9424"
+ "JCB"
- + "***MASKED***0000"
+ + "353011******0000"
+ "JCB"
- + "***MASKED***0505"
+ + "356600******0505"
+ "MasterCard"
- + "***MASKED***4444"
+ + "555555******4444"
+ "MasterCard"
- + "***MASKED***5100"
+ + "510510******5100"
+ "Visa"
- + "***MASKED***1111"
+ + "411111******1111"
+ "Visa"
- + "***MASKED***1881"
+ + "401288******1881"
+ "Visa"
- + "*MASKED**2222"
+ + "422222***2222"
+ "Note : Even though this number has a different character count than the other test numbers, it is the correct and functional number."
+ "Processor-specific Cards"
+ "Dankort (PBS)"
- + "***MASKED***3742"
+ + "501971******3742"
+ "Switch/Solo (Paymentech)"
- + "***MASKED***0016");
+ + "633110******0016");
}
@Test(groups = "fast")
@@ -235,7 +235,7 @@ public class TestLuhnMaskingObfuscator extends ServerTestSuiteNoDB {
"1 > Content-Type: application/json\n" +
"1 > Accept: */*",
"1 * Server in-bound request\n" +
- "1 > POST http://127.0.0.1:8080/1.0/kb/accounts/2a55045a-ce1d-4344-942d-b825536328f9/payments?pluginProperty=cc_number=***MASKED***1111\n" +
+ "1 > POST http://127.0.0.1:8080/1.0/kb/accounts/2a55045a-ce1d-4344-942d-b825536328f9/payments?pluginProperty=cc_number=411111******1111\n" +
"1 > X-Killbill-ApiSecret: lazar\n" +
"1 > Authorization: Basic YWRtaW46cGFzc3dvcmQ=\n" +
"1 > X-Killbill-CreatedBy: admin\n" +
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscator.java b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscator.java
index 5109ad3..b36c2a5 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscator.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscator.java
@@ -41,7 +41,7 @@ public class TestObfuscator extends ServerTestSuiteNoDB {
final Pattern pattern = Pattern.compile("number=([^;]+)");
final ImmutableList<Pattern> patterns = ImmutableList.<Pattern>of(pattern);
Assert.assertEquals(obfuscator.obfuscate("number=1234;number=12345;number=123456;number=1234567;number=12345678;number=123456789", patterns, Mockito.mock(ILoggingEvent.class)),
- "number=MASKED;number=MASKED;number=MASKED;number=MASKED*;number=*MASKED*;number=*MASKED**");
+ "number=****;number=*****;number=******;number=*******;number=********;number=*********");
}
@@ -51,12 +51,12 @@ public class TestObfuscator extends ServerTestSuiteNoDB {
final Pattern pattern2 = Pattern.compile("numberB=([^;]+)");
final ImmutableList<Pattern> patterns = ImmutableList.<Pattern>of(pattern1, pattern2);
Assert.assertEquals(obfuscator.obfuscate("number=1234;numberB=12345;number=123456;numberB=1234567;number=12345678;numberB=123456789", patterns, Mockito.mock(ILoggingEvent.class)),
- "number=MASKED;numberB=MASKED;number=MASKED;numberB=MASKED*;number=*MASKED*;numberB=*MASKED**");
+ "number=****;numberB=*****;number=******;numberB=*******;number=********;numberB=*********");
}
@Test(groups = "fast")
public void testObfuscateConfidentialData() {
- Assert.assertEquals(obfuscator.obfuscateConfidentialData("5137004986396403", "6403"), "***MASKED***");
+ Assert.assertEquals(obfuscator.obfuscateConfidentialData("5137004986396403", "6403"), "************");
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscatorConverter.java b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscatorConverter.java
index 943a620..4d54512 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscatorConverter.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestObfuscatorConverter.java
@@ -54,9 +54,9 @@ public class TestObfuscatorConverter extends ServerTestSuiteNoDB {
"</gateway>",
"Starting purchase call: \n" +
"<gateway>\n" +
- "<card>***MASKED***1111</card>\n" +
- "<bankAccountNumber>*MASKED**</bankAccountNumber>\n" +
- "<password>**MASKED***</password>\n" +
+ "<card>411111******1111</card>\n" +
+ "<bankAccountNumber>*********</bankAccountNumber>\n" +
+ "<password>***********</password>\n" +
"</gateway>");
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestPatternObfuscator.java b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestPatternObfuscator.java
index 3476f58..11d9162 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestPatternObfuscator.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/server/log/obfuscators/TestPatternObfuscator.java
@@ -45,16 +45,16 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
"</ns2:shopperName>\n",
"<ns:expiryMonth>04</expiryMonth>\n" +
"<ns:expiryYear>2015</expiryYear>\n" +
- "<ns:holderName>*MASKED*</holderName>\n" +
- "<ns:number>*****MASKED*****</number>\n" +
- "<ns2:shopperEmail>****MASKED*****</ns2:shopperEmail>\n" +
+ "<ns:holderName>********</holderName>\n" +
+ "<ns:number>****************</number>\n" +
+ "<ns2:shopperEmail>***************</ns2:shopperEmail>\n" +
"<ns2:shopperIP>127.0.0.1</ns2:shopperIP>\n" +
"<ns2:shopperInteraction xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/>\n" +
"<ns2:shopperName>\n" +
- " <firstName>MASKED</firstName>\n" +
+ " <firstName>***</firstName>\n" +
" <gender xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/>\n" +
" <infix xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/>\n" +
- " <lastName>MASKED</lastName>\n" +
+ " <lastName>*****</lastName>\n" +
"</ns2:shopperName>\n");
}
@@ -131,25 +131,25 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
" <clientLibraryVersion>1.47.0</clientLibraryVersion>\n" +
" <clientEnvironment>java</clientEnvironment>\n" +
"<billTo>\n" +
- " <firstName>MASKED</firstName>\n" +
- " <lastName>MASKED</lastName>\n" +
+ " <firstName>****</firstName>\n" +
+ " <lastName>***</lastName>\n" +
" <street1>5, oakriu road</street1>\n" +
" <street2>apt. 298</street2>\n" +
" <city>Gdio Foia</city>\n" +
" <state>FL</state>\n" +
" <postalCode>49302</postalCode>\n" +
" <country>US</country>\n" +
- " <email>**********MASKED**********</email>\n" +
+ " <email>**************************</email>\n" +
"</billTo>\n" +
"<purchaseTotals>\n" +
" <currency>USD</currency>\n" +
" <grandTotalAmount>0.00</grandTotalAmount>\n" +
"</purchaseTotals>\n" +
"<card>\n" +
- " <accountNumber>*****MASKED*****</accountNumber>\n" +
+ " <accountNumber>****************</accountNumber>\n" +
" <expirationMonth>12</expirationMonth>\n" +
" <expirationYear>2017</expirationYear>\n" +
- " <cvNumber>MASKED</cvNumber>\n" +
+ " <cvNumber>****</cvNumber>\n" +
" <cardType>001</cardType>\n" +
"</card>\n" +
"<subscription>\n" +
@@ -171,7 +171,7 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
@Test(groups = "fast")
public void testLitle() throws Exception {
verify("<litleOnlineRequest merchantId=\\\"merchant_id\\\" version=\\\"8.18\\\" xmlns=\\\"http://www.litle.com/schema\\\"><authentication><user>login</user><password>password</password></authentication><sale id=\\\"615b9cb3-8580-4f57-bf69-9\\\" reportGroup=\\\"Default Report Group\\\"><orderId>615b9cb3-8580-4f57-bf69-9</orderId><amount>10000</amount><orderSource>ecommerce</orderSource><billToAddress><name>John Doe</name><email>1428325948-test@tester.com</email><addressLine1>5, oakriu road</addressLine1><addressLine2>apt. 298</addressLine2><city>Gdio Foia</city><state>FL</state><zip>49302</zip><country>US</country></billToAddress><shipToAddress/><card><type>VI</type><number>4242424242424242</number><expDate>1217</expDate><cardValidationNum>1234</cardValidationNum></card></sale></litleOnlineRequest>",
- "<litleOnlineRequest merchantId=\\\"merchant_id\\\" version=\\\"8.18\\\" xmlns=\\\"http://www.litle.com/schema\\\"><authentication><user>login</user><password>*MASKED*</password></authentication><sale id=\\\"615b9cb3-8580-4f57-bf69-9\\\" reportGroup=\\\"Default Report Group\\\"><orderId>615b9cb3-8580-4f57-bf69-9</orderId><amount>10000</amount><orderSource>ecommerce</orderSource><billToAddress><name>*MASKED*</name><email>**********MASKED**********</email><addressLine1>5, oakriu road</addressLine1><addressLine2>apt. 298</addressLine2><city>Gdio Foia</city><state>FL</state><zip>49302</zip><country>US</country></billToAddress><shipToAddress/><card><type>VI</type><number>*****MASKED*****</number><expDate>1217</expDate><cardValidationNum>MASKED</cardValidationNum></card></sale></litleOnlineRequest>");
+ "<litleOnlineRequest merchantId=\\\"merchant_id\\\" version=\\\"8.18\\\" xmlns=\\\"http://www.litle.com/schema\\\"><authentication><user>login</user><password>********</password></authentication><sale id=\\\"615b9cb3-8580-4f57-bf69-9\\\" reportGroup=\\\"Default Report Group\\\"><orderId>615b9cb3-8580-4f57-bf69-9</orderId><amount>10000</amount><orderSource>ecommerce</orderSource><billToAddress><name>********</name><email>**************************</email><addressLine1>5, oakriu road</addressLine1><addressLine2>apt. 298</addressLine2><city>Gdio Foia</city><state>FL</state><zip>49302</zip><country>US</country></billToAddress><shipToAddress/><card><type>VI</type><number>****************</number><expDate>1217</expDate><cardValidationNum>****</cardValidationNum></card></sale></litleOnlineRequest>");
}
@Test(groups = "fast")
@@ -203,7 +203,7 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
" \"card\": {\n" +
" \"id\": \"card_483etw4er9fg4vF3sQdrt3FG\",\n" +
" \"object\": \"card\",\n" +
- " \"banknumber\": *****MASKED*****,\n" +
+ " \"banknumber\": ****************,\n" +
" \"last4\": \"0000\",\n" +
" \"brand\": \"Visa\",\n" +
" \"funding\": \"credit\",\n" +
@@ -211,7 +211,7 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
" \"exp_year\": 2019,\n" +
" \"fingerprint\": \"HOh74kZU387WlUvy\",\n" +
" \"country\": \"US\",\n" +
- " \"name\": **MASKED***,\n" +
+ " \"name\": ***********,\n" +
" \"address_line1\": null,\n" +
" \"address_line2\": null,\n" +
" \"address_city\": null,\n" +
@@ -244,7 +244,7 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
"</entry>\n",
"<entry>\n" +
" <key xsi:type=\"xsd:string\">PayU.ccvv</key>\n" +
- " <value xsi:type=\"xsd:string\">MASKED</value>\n" +
+ " <value xsi:type=\"xsd:string\">****</value>\n" +
"</entry>\n" +
"<entry>\n" +
" <key xsi:type=\"xsd:string\">PayU.ccnum</key>\n" +
@@ -263,7 +263,7 @@ public class TestPatternObfuscator extends ServerTestSuiteNoDB {
@Test(groups = "fast", description = "Test for ActiveMerchant wiredump_device logging")
public void testWithQuotedNewLines() throws Exception {
verify("[cybersource-plugin] \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?><accountNumber>4111111111111111</accountNumber>\\n <expirationMonth>09</expirationMonth>\\n \"",
- "[cybersource-plugin] \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?><accountNumber>*****MASKED*****</accountNumber>\\n <expirationMonth>09</expirationMonth>\\n \"");
+ "[cybersource-plugin] \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?><accountNumber>****************</accountNumber>\\n <expirationMonth>09</expirationMonth>\\n \"");
}
@Test(groups = "fast")