Skip to content

Commit adb7e2c

Browse files
committed
fix(snapbi): add null-safety to minifyJson()
1 parent ec60c02 commit adb7e2c

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

library/src/main/java/com/midtrans/snapbi/SnapBi.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,9 @@ public static String getSymmetricSignatureHmacSh512(String accessToken, Map<Stri
295295
}
296296

297297
static String minifyJson(String json) {
298+
if (json == null || json.isEmpty()) {
299+
return "";
300+
}
298301
// Minify JSON by removing insignificant whitespace (outside of string values)
299302
// while preserving whitespace inside quoted strings and maintaining key order.
300303
StringBuilder sb = new StringBuilder(json.length());

library/src/test/java/com/midtrans/snapbi/SnapBiMinifyJsonTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@ void emptyObjectAndArray() {
6262
assertEquals("[]", SnapBi.minifyJson("[ ]"));
6363
}
6464

65+
@Test
66+
void nullInputReturnsEmptyString() {
67+
assertEquals("", SnapBi.minifyJson(null));
68+
}
69+
70+
@Test
71+
void emptyInputReturnsEmptyString() {
72+
assertEquals("", SnapBi.minifyJson(""));
73+
}
74+
6575
@Test
6676
void realisticSnapBiVaNotificationPayload() {
6777
String input = "{\n" +

0 commit comments

Comments
 (0)