diff --git a/src/test/java/retromock/parser/HttpParserTest.java b/src/test/java/retromock/parser/HttpParserTest.java index 764944d..0c32845 100644 --- a/src/test/java/retromock/parser/HttpParserTest.java +++ b/src/test/java/retromock/parser/HttpParserTest.java @@ -1,17 +1,18 @@ package retromock.parser; +import com.google.gson.Gson; import org.junit.Test; import retrofit.client.Header; import retrofit.client.Response; import retrofit.mime.TypedByteArray; import retromock.test.FileLocator; +import retromock.test.Http200ResponseBean; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.regex.Pattern; import static org.junit.Assert.*; @@ -19,10 +20,7 @@ public class HttpParserTest { static final List HTTP_FILES = FileLocator.findAllInClasspath("http-*-response.txt"); static final String LOCALHOST = "http://localhost"; - static final String NAME_VALUE = "\"\\w+?\"\\s*:\\s*\".+?\",?\\s*"; - static final String LIST = "\\[\\s*(" + NAME_VALUE + ")+\\],?\\s*"; - static final String MULTI_LIST = "\\[\\s*(" + NAME_VALUE + "|" + LIST + ")+\\],?\\s*"; - static final Pattern JSON_PATTERN = Pattern.compile("\\{\\s*(" + NAME_VALUE + "|" + MULTI_LIST + ")+\\s*\\}"); + static final Gson GSON = new Gson(); @Test public void testParse200ResponseFromFile() throws Exception { @@ -37,8 +35,9 @@ public void testParse200ResponseFromFile() throws Exception { TypedByteArray body = (TypedByteArray) response.getBody(); assertEquals(headers.get("Content-Type"), body.mimeType()); assertEquals(headers.get("Content-Length"), String.valueOf(body.length())); - String bodyAsStr = new String(body.getBytes()); - assertTrue(JSON_PATTERN.matcher(bodyAsStr.replaceAll("\n", "")).matches()); + Http200ResponseBean bodyAsBean = GSON.fromJson(new String(body.getBytes()), Http200ResponseBean.class); + assertEquals("test", bodyAsBean.getTitle()); + assertEquals("qwerty", bodyAsBean.getFoot()); } @Test