Skip to content

Commit a9b92e3

Browse files
author
Marcus Linke
committed
Fix roundtrip test
1 parent 4c850b8 commit a9b92e3

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/test/java/com/github/dockerjava/test/serdes/JSONTestHelper.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,15 @@
1515
*/
1616
package com.github.dockerjava.test.serdes;
1717

18+
import com.fasterxml.jackson.databind.JsonNode;
1819
import com.fasterxml.jackson.databind.ObjectMapper;
1920
import com.github.dockerjava.api.command.CommandJSONSamples;
21+
2022
import java.io.IOException;
2123
import java.io.InputStream;
24+
2225
import org.apache.commons.io.IOUtils;
26+
2327
import static org.testng.Assert.assertEquals;
2428
import static org.testng.Assert.assertNotNull;
2529

@@ -101,10 +105,14 @@ public static <TClass> TClass testRoundTrip(TClass item, Class<TClass> asclass)
101105
throws IOException, AssertionError {
102106
ObjectMapper mapper = new ObjectMapper();
103107

104-
String inputItemString = mapper.writeValueAsString(item);
105-
TClass convertedItem = mapper.readValue(inputItemString, asclass);
106-
String convertedItemString = mapper.writeValueAsString(convertedItem);
107-
assertEquals(convertedItemString, inputItemString, "JSONs must be equal after the second roundtrip");
108-
return convertedItem;
108+
String serialized1 = mapper.writeValueAsString(item);
109+
JsonNode json1 = mapper.readTree(serialized1);
110+
TClass deserialized1 = mapper.readValue(serialized1, asclass);
111+
String serialized2 = mapper.writeValueAsString(deserialized1);
112+
JsonNode json2 = mapper.readTree(serialized2);
113+
TClass deserialized2 = mapper.readValue(serialized2, asclass);
114+
115+
assertEquals(json2, json1, "JSONs must be equal after the second roundtrip");
116+
return deserialized2;
109117
}
110118
}

0 commit comments

Comments
 (0)