From aef94f10dfcd0ea2b437ab327de3c8dc10cf91f9 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Wed, 22 Dec 2010 12:44:57 -0500 Subject: [PATCH] INT-1710 ObjectToJson tests are now flexible with regard to key=value pair order --- .../ObjectToJsonTransformerParserTests.java | 28 ++++++++++++++++--- .../json/ObjectToJsonTransformerTests.java | 26 ++++++++++++++--- 2 files changed, 46 insertions(+), 8 deletions(-) diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java index 73545d8f1d..6dea3683a1 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerParserTests.java @@ -18,6 +18,10 @@ package org.springframework.integration.json; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.codehaus.jackson.JsonGenerator.Feature; import org.codehaus.jackson.map.ObjectMapper; @@ -64,8 +68,16 @@ public class ObjectToJsonTransformerParserTests { assertNotNull(reply); assertNotNull(reply.getPayload()); assertEquals(String.class, reply.getPayload().getClass()); - String expected = "{\"address\":{\"number\":123,\"street\":\"Main Street\"},\"firstName\":\"John\",\"lastName\":\"Doe\",\"age\":42}"; - assertEquals(expected, reply.getPayload()); + String resultString = (String) reply.getPayload(); + assertTrue(resultString.contains("\"firstName\":\"John\"")); + assertTrue(resultString.contains("\"lastName\":\"Doe\"")); + assertTrue(resultString.contains("\"age\":42")); + Pattern addressPattern = Pattern.compile("(\"address\":\\{.*?\\})"); + Matcher matcher = addressPattern.matcher(resultString); + assertTrue(matcher.find()); + String addressResult = matcher.group(1); + assertTrue(addressResult.contains("\"number\":123")); + assertTrue(addressResult.contains("\"street\":\"Main Street\"")); } @Test @@ -85,8 +97,16 @@ public class ObjectToJsonTransformerParserTests { assertNotNull(reply); assertNotNull(reply.getPayload()); assertEquals(String.class, reply.getPayload().getClass()); - String expected = "{address:{number:123,street:\"Main Street\"},firstName:\"John\",lastName:\"Doe\",age:42}"; - assertEquals(expected, reply.getPayload()); + String resultString = (String) reply.getPayload(); + assertTrue(resultString.contains("firstName:\"John\"")); + assertTrue(resultString.contains("lastName:\"Doe\"")); + assertTrue(resultString.contains("age:42")); + Pattern addressPattern = Pattern.compile("(address:\\{.*?\\})"); + Matcher matcher = addressPattern.matcher(resultString); + assertTrue(matcher.find()); + String addressResult = matcher.group(1); + assertTrue(addressResult.contains("number:123")); + assertTrue(addressResult.contains("street:\"Main Street\"")); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java index e978d98138..d36728a882 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java @@ -17,6 +17,10 @@ package org.springframework.integration.json; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.codehaus.jackson.JsonGenerator.Feature; import org.codehaus.jackson.map.ObjectMapper; @@ -49,8 +53,15 @@ public class ObjectToJsonTransformerTests { TestPerson person = new TestPerson("John", "Doe", 42); person.setAddress(address); String result = transformer.transformPayload(person); - String expected = "{\"address\":{\"number\":123,\"street\":\"Main Street\"},\"firstName\":\"John\",\"lastName\":\"Doe\",\"age\":42}"; - assertEquals(expected, result); + assertTrue(result.contains("\"firstName\":\"John\"")); + assertTrue(result.contains("\"lastName\":\"Doe\"")); + assertTrue(result.contains("\"age\":42")); + Pattern addressPattern = Pattern.compile("(\"address\":\\{.*?\\})"); + Matcher matcher = addressPattern.matcher(result); + assertTrue(matcher.find()); + String addressResult = matcher.group(1); + assertTrue(addressResult.contains("\"number\":123")); + assertTrue(addressResult.contains("\"street\":\"Main Street\"")); } @Test @@ -61,8 +72,15 @@ public class ObjectToJsonTransformerTests { TestPerson person = new TestPerson("John", "Doe", 42); person.setAddress(new TestAddress(123, "Main Street")); String result = transformer.transformPayload(person); - String expected = "{address:{number:123,street:\"Main Street\"},firstName:\"John\",lastName:\"Doe\",age:42}"; - assertEquals(expected, result); + assertTrue(result.contains("firstName:\"John\"")); + assertTrue(result.contains("lastName:\"Doe\"")); + assertTrue(result.contains("age:42")); + Pattern addressPattern = Pattern.compile("(address:\\{.*?\\})"); + Matcher matcher = addressPattern.matcher(result); + assertTrue(matcher.find()); + String addressResult = matcher.group(1); + assertTrue(addressResult.contains("number:123")); + assertTrue(addressResult.contains("street:\"Main Street\"")); }