|
16 | 16 |
|
17 | 17 | package org.citrusframework.message;
|
18 | 18 |
|
| 19 | +import static org.testng.Assert.assertEquals; |
| 20 | + |
19 | 21 | import org.testng.Assert;
|
| 22 | +import org.testng.annotations.DataProvider; |
20 | 23 | import org.testng.annotations.Test;
|
21 | 24 |
|
22 | 25 | public class MessagePayloadUtilsTest {
|
23 | 26 |
|
24 | 27 | @Test
|
25 | 28 | public void shouldPrettyPrintJson() {
|
26 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(""), ""); |
27 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{}"), "{}"); |
28 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("[]"), "[]"); |
29 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\"}"), |
| 29 | + assertEquals(MessagePayloadUtils.prettyPrint(""), ""); |
| 30 | + assertEquals(MessagePayloadUtils.prettyPrint("{}"), "{}"); |
| 31 | + assertEquals(MessagePayloadUtils.prettyPrint("[]"), "[]"); |
| 32 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\"}"), |
30 | 33 | String.format("{%n \"user\": \"citrus\"%n}"));
|
31 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"text\":\"<?;,{}' '[]:>\"}"), |
| 34 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"text\":\"<?;,{}' '[]:>\"}"), |
32 | 35 | String.format("{%n \"text\": \"<?;,{}' '[]:>\"%n}"));
|
33 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(String.format("%n%n { \"user\":%n%n \"citrus\" }")), |
| 36 | + assertEquals(MessagePayloadUtils.prettyPrint(String.format("%n%n { \"user\":%n%n \"citrus\" }")), |
34 | 37 | String.format("{%n \"user\": \"citrus\"%n}"));
|
35 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32}"), |
| 38 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32}"), |
36 | 39 | String.format("{%n \"user\": \"citrus\",%n \"age\": 32%n}"));
|
37 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("[22, 32]"), |
| 40 | + assertEquals(MessagePayloadUtils.prettyPrint("[22, 32]"), |
38 | 41 | String.format("[%n22,%n32%n]"));
|
39 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("[{\"user\":\"citrus\",\"age\": 32}]"), |
| 42 | + assertEquals(MessagePayloadUtils.prettyPrint("[{\"user\":\"citrus\",\"age\": 32}]"), |
40 | 43 | String.format("[%n {%n \"user\": \"citrus\",%n \"age\": 32%n }%n]"));
|
41 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("[{\"user\":\"citrus\",\"age\": 32}, {\"user\":\"foo\",\"age\": 99}]"), |
| 44 | + assertEquals(MessagePayloadUtils.prettyPrint("[{\"user\":\"citrus\",\"age\": 32}, {\"user\":\"foo\",\"age\": 99}]"), |
42 | 45 | String.format("[%n {%n \"user\": \"citrus\",%n \"age\": 32%n },%n {%n \"user\": \"foo\",%n \"age\": 99%n }%n]"));
|
43 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32,\"pet\":{\"name\": \"fluffy\", \"age\": 4}}"), |
| 46 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32,\"pet\":{\"name\": \"fluffy\", \"age\": 4}}"), |
44 | 47 | String.format("{%n \"user\": \"citrus\",%n \"age\": 32,%n \"pet\": {%n \"name\": \"fluffy\",%n \"age\": 4%n }%n}"));
|
45 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32,\"pets\":[\"fluffy\",\"hasso\"]}"), |
| 48 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"age\": 32,\"pets\":[\"fluffy\",\"hasso\"]}"), |
46 | 49 | String.format("{%n \"user\": \"citrus\",%n \"age\": 32,%n \"pets\": [%n \"fluffy\",%n \"hasso\"%n ]%n}"));
|
47 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"pets\":[\"fluffy\",\"hasso\"],\"age\": 32}"), |
| 50 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"pets\":[\"fluffy\",\"hasso\"],\"age\": 32}"), |
48 | 51 | String.format("{%n \"user\": \"citrus\",%n \"pets\": [%n \"fluffy\",%n \"hasso\"%n ],%n \"age\": 32%n}"));
|
49 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"pets\":[{\"name\": \"fluffy\", \"age\": 4},{\"name\": \"hasso\", \"age\": 2}],\"age\": 32}"), |
| 52 | + assertEquals(MessagePayloadUtils.prettyPrint("{\"user\":\"citrus\",\"pets\":[{\"name\": \"fluffy\", \"age\": 4},{\"name\": \"hasso\", \"age\": 2}],\"age\": 32}"), |
50 | 53 | String.format("{%n \"user\": \"citrus\",%n \"pets\": [%n {%n \"name\": \"fluffy\",%n \"age\": 4%n },%n {%n \"name\": \"hasso\",%n \"age\": 2%n }%n ],%n \"age\": 32%n}"));
|
51 | 54 | }
|
52 | 55 |
|
53 | 56 | @Test
|
54 | 57 | public void shouldPrettyPrintXml() {
|
55 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(""), ""); |
56 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("<root></root>"), |
| 58 | + assertEquals(MessagePayloadUtils.prettyPrint(""), ""); |
| 59 | + assertEquals(MessagePayloadUtils.prettyPrint("<root></root>"), |
57 | 60 | String.format("<root>%n</root>%n"));
|
58 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("<root><text>Citrus rocks!</text></root>"), |
| 61 | + assertEquals(MessagePayloadUtils.prettyPrint("<root><text>Citrus rocks!</text></root>"), |
59 | 62 | String.format("<root>%n <text>Citrus rocks!</text>%n</root>%n"));
|
60 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><text>Citrus rocks!</text></root>"), |
| 63 | + assertEquals(MessagePayloadUtils.prettyPrint("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><text>Citrus rocks!</text></root>"), |
61 | 64 | String.format("<?xml version=\"1.0\" encoding=\"UTF-8\"?>%n<root>%n <text>Citrus rocks!</text>%n</root>%n"));
|
62 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root>%n<text>%nCitrus rocks!%n</text>%n</root>")), |
| 65 | + assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root>%n<text>%nCitrus rocks!%n</text>%n</root>")), |
63 | 66 | String.format("<root>%n <text>Citrus rocks!</text>%n</root>%n"));
|
64 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root>%n <text language=\"eng\">%nCitrus rocks!%n </text>%n</root>")), |
| 67 | + assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root>%n <text language=\"eng\">%nCitrus rocks!%n </text>%n</root>")), |
65 | 68 | String.format("<root>%n <text language=\"eng\">Citrus rocks!</text>%n</root>%n"));
|
66 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(String.format("%n%n <root><text language=\"eng\"><![CDATA[Citrus rocks!]]></text></root>")), |
| 69 | + assertEquals(MessagePayloadUtils.prettyPrint(String.format("%n%n <root><text language=\"eng\"><![CDATA[Citrus rocks!]]></text></root>")), |
67 | 70 | String.format("<root>%n <text language=\"eng\">%n <![CDATA[Citrus rocks!]]>%n </text>%n</root>%n"));
|
68 |
| - Assert.assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root><text language=\"eng\" important=\"true\"><![CDATA[%n Citrus rocks!%n ]]></text></root>")), |
| 71 | + assertEquals(MessagePayloadUtils.prettyPrint(String.format("<root><text language=\"eng\" important=\"true\"><![CDATA[%n Citrus rocks!%n ]]></text></root>")), |
69 | 72 | String.format("<root>%n <text language=\"eng\" important=\"true\">%n <![CDATA[%n Citrus rocks!%n ]]>%n </text>%n</root>%n"));
|
70 | 73 | }
|
| 74 | + |
| 75 | + @DataProvider |
| 76 | + public Object[][] normalizeWhitespaceProvider() { |
| 77 | + return new Object[][] { |
| 78 | + // Test data: payload, ignoreWhitespace, ignoreNewLineType, expected result |
| 79 | + {"Hello \t\r\nWorld\r\n", true, true, "Hello World"}, |
| 80 | + {"Hello \t\r\nWorld\r\n", true, false, "Hello World"}, |
| 81 | + {"Hello \t\r\nWorld\r\n", false, true, "Hello \t\nWorld\n"}, |
| 82 | + {"Hello \t\r\nWorld\r\n", false, false, "Hello \t\r\nWorld\r\n"}, |
| 83 | + {"", true, true, ""}, |
| 84 | + {"", false, false, ""}, |
| 85 | + {null, true, true, null}, |
| 86 | + {null, false, false, null} |
| 87 | + }; |
| 88 | + } |
| 89 | + |
| 90 | + @Test(dataProvider = "normalizeWhitespaceProvider") |
| 91 | + public void normalizeWhitespace(String text, boolean normalizeWhitespace, boolean normalizeLineEndingsToUnix, String expected) { |
| 92 | + assertEquals(MessagePayloadUtils.normalizeWhitespace(text, normalizeWhitespace, normalizeLineEndingsToUnix), expected); |
| 93 | + } |
71 | 94 | }
|
0 commit comments