diff options
author | Vegard Sjonfjell <vegard@yahoo-inc.com> | 2016-10-05 15:30:57 +0200 |
---|---|---|
committer | Vegard Sjonfjell <vegard@yahoo-inc.com> | 2016-10-05 15:30:57 +0200 |
commit | 23cd65bb2d4a25f2d52a70f573ce4a3e25ee6b8c (patch) | |
tree | 0f77181a8e2d36540a4ea00b456d00adbe91e607 /testutil | |
parent | 4ff27fe8063bbe8079d7ddcb49fb1cccaf6d633c (diff) |
Move JsonTestHelper to testutil
Diffstat (limited to 'testutil')
-rw-r--r-- | testutil/pom.xml | 10 | ||||
-rw-r--r-- | testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java | 28 |
2 files changed, 38 insertions, 0 deletions
diff --git a/testutil/pom.xml b/testutil/pom.xml index 0d2aa8a4dbf..bd46d2e4c16 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -15,6 +15,11 @@ <description>Library of useful Hamcrest matchers.</description> <dependencies> <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <scope>provided</scope> + </dependency> + <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <scope>compile</scope> @@ -25,6 +30,11 @@ <scope>compile</scope> </dependency> <dependency> + <groupId>uk.co.datumedge</groupId> + <artifactId>hamcrest-json</artifactId> + <scope>compile</scope> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>compile</scope> diff --git a/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java b/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java new file mode 100644 index 00000000000..fee6cc2fef0 --- /dev/null +++ b/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java @@ -0,0 +1,28 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.test.json; + +import com.google.common.base.Joiner; +import org.hamcrest.MatcherAssert; + +import static uk.co.datumedge.hamcrest.json.SameJSONAs.sameJSONAs; + +/** + * @author Vegard Sjonfjell + */ +public class JsonTestHelper { + /** + * Convenience method to input JSON without escaping double quotes and newlines + * Each parameter represents a line of JSON encoded data + * The lines are joined with newline and single quotes are replaced with double quotes + */ + public static String inputJson(String... lines) { + return Joiner.on("\n").join(lines).replaceAll("'", "\""); + } + + /** + * Structurally compare two JSON encoded strings + */ + public static void assertJsonEquals(String inputJson, String expectedJson) { + MatcherAssert.assertThat(inputJson, sameJSONAs(expectedJson)); + } +} |