You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by st...@apache.org on 2017/02/25 11:13:55 UTC
johnzon git commit: JOHNZON-96 add test for JsonPatchBuilder with
initialData
Repository: johnzon
Updated Branches:
refs/heads/master 3fec5685f -> a722ce67f
JOHNZON-96 add test for JsonPatchBuilder with initialData
Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/a722ce67
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/a722ce67
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/a722ce67
Branch: refs/heads/master
Commit: a722ce67fd6dde3f0d88b025303dde68b76aede4
Parents: 3fec568
Author: Mark Struberg <st...@apache.org>
Authored: Sat Feb 25 12:12:55 2017 +0100
Committer: Mark Struberg <st...@apache.org>
Committed: Sat Feb 25 12:12:55 2017 +0100
----------------------------------------------------------------------
.../johnzon/core/JsonPatchBuilderTest.java | 308 ++++++++++---------
1 file changed, 166 insertions(+), 142 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/johnzon/blob/a722ce67/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
index d109646..1f0df01 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchBuilderTest.java
@@ -18,10 +18,14 @@
*/
package org.apache.johnzon.core;
+import org.junit.Assert;
import org.junit.Test;
import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
import javax.json.JsonPatch;
+import javax.json.JsonPatchBuilder;
import javax.json.JsonValue;
import static org.junit.Assert.assertEquals;
@@ -33,12 +37,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddString() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/foo",
- null,
- new JsonStringImpl("bar")));
+ "/foo",
+ null,
+ new JsonStringImpl("bar")));
JsonPatch patch = Json.createPatchBuilder().add("/foo", "bar")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -47,13 +51,13 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddStringNull() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/foo",
- null,
- JsonValue.NULL));
+ "/foo",
+ null,
+ JsonValue.NULL));
String nullString = null;
JsonPatch patch = Json.createPatchBuilder().add("/foo", nullString)
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -62,16 +66,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddJsonObject() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/foo",
- null,
- Json.createObjectBuilder()
- .add("bar", "qux")
- .build()));
+ "/foo",
+ null,
+ Json.createObjectBuilder()
+ .add("bar", "qux")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().add("/foo", Json.createObjectBuilder()
- .add("bar", "qux")
- .build())
- .build();
+ .add("bar", "qux")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -80,16 +84,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddJsonArray() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/path",
- null,
- Json.createArrayBuilder()
- .add("test")
- .build()));
+ "/path",
+ null,
+ Json.createArrayBuilder()
+ .add("test")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().add("/path", Json.createArrayBuilder()
- .add("test")
- .build())
- .build();
+ .add("test")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -98,12 +102,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddJsonValueNull() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/path",
- null,
- JsonValue.NULL));
+ "/path",
+ null,
+ JsonValue.NULL));
JsonPatch patch = Json.createPatchBuilder().add("/path", JsonValue.NULL)
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -112,12 +116,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddInt() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/foo",
- null,
- new JsonStringImpl("bar")));
+ "/foo",
+ null,
+ new JsonStringImpl("bar")));
JsonPatch patch = Json.createPatchBuilder().add("/foo", "bar")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -126,17 +130,17 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderAddBoolean() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/path/true",
- null,
- JsonValue.TRUE),
- new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/path/false",
- null,
- JsonValue.FALSE));
+ "/path/true",
+ null,
+ JsonValue.TRUE),
+ new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
+ "/path/false",
+ null,
+ JsonValue.FALSE));
JsonPatch patch = Json.createPatchBuilder().add("/path/true", true)
- .add("/path/false", false)
- .build();
+ .add("/path/false", false)
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -151,12 +155,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderRemove() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REMOVE,
- "/path/to/remove",
- null,
- null));
+ "/path/to/remove",
+ null,
+ null));
JsonPatch patch = Json.createPatchBuilder().remove("/path/to/remove")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -171,12 +175,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderReplaceString() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/path/to/replace",
- null,
- new JsonStringImpl("new value")));
+ "/path/to/replace",
+ null,
+ new JsonStringImpl("new value")));
JsonPatch patch = Json.createPatchBuilder().replace("/path/to/replace", "new value")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -185,12 +189,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderReplaceInt() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/replace/me",
- null,
- new JsonLongImpl(42)));
+ "/replace/me",
+ null,
+ new JsonLongImpl(42)));
JsonPatch patch = Json.createPatchBuilder().replace("/replace/me", 42)
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -199,17 +203,17 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderReplaceBoolean() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/true/to/replace",
- null,
- JsonValue.FALSE),
- new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/false/to/replace",
- null,
- JsonValue.TRUE));
+ "/true/to/replace",
+ null,
+ JsonValue.FALSE),
+ new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
+ "/false/to/replace",
+ null,
+ JsonValue.TRUE));
JsonPatch patch = Json.createPatchBuilder().replace("/true/to/replace", false)
- .replace("/false/to/replace", true)
- .build();
+ .replace("/false/to/replace", true)
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -218,16 +222,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderReplaceJsonObject() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/replace/the/object",
- null,
- Json.createObjectBuilder()
- .add("foo", "bar")
- .build()));
+ "/replace/the/object",
+ null,
+ Json.createObjectBuilder()
+ .add("foo", "bar")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().replace("/replace/the/object", Json.createObjectBuilder()
- .add("foo", "bar")
- .build())
- .build();
+ .add("foo", "bar")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -236,16 +240,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderReplaceJsonArray() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/replace/my/array",
- null,
- Json.createArrayBuilder()
- .add("test")
- .build()));
+ "/replace/my/array",
+ null,
+ Json.createArrayBuilder()
+ .add("test")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().replace("/replace/my/array", Json.createArrayBuilder()
- .add("test")
- .build())
- .build();
+ .add("test")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -260,12 +264,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderMove() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.MOVE,
- "/move/to",
- "/move/from",
- null));
+ "/move/to",
+ "/move/from",
+ null));
JsonPatch patch = Json.createPatchBuilder().move("/move/to", "/move/from")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -285,12 +289,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderCopy() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.COPY,
- "/to",
- "/from",
- null));
+ "/to",
+ "/from",
+ null));
JsonPatch patch = Json.createPatchBuilder().copy("/to", "/from")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -310,12 +314,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestString() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/to/test",
- null,
- new JsonStringImpl("value")));
+ "/to/test",
+ null,
+ new JsonStringImpl("value")));
JsonPatch patch = Json.createPatchBuilder().test("/to/test", "value")
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -324,17 +328,17 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestBoolean() {
JsonPatchImpl exptected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/true/to/test",
- null,
- JsonValue.TRUE),
- new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/false/to/test",
- null,
- JsonValue.FALSE));
+ "/true/to/test",
+ null,
+ JsonValue.TRUE),
+ new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
+ "/false/to/test",
+ null,
+ JsonValue.FALSE));
JsonPatch patch = Json.createPatchBuilder().test("/true/to/test", true)
- .test("/false/to/test", false)
- .build();
+ .test("/false/to/test", false)
+ .build();
assertNotNull(patch);
assertEquals(exptected, patch);
}
@@ -343,12 +347,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestInt() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/test/int",
- null,
- new JsonLongImpl(16)));
+ "/test/int",
+ null,
+ new JsonLongImpl(16)));
JsonPatch patch = Json.createPatchBuilder().test("/test/int", 16)
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -357,12 +361,12 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestJsonValue() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/test/value",
- null,
- JsonValue.NULL));
+ "/test/value",
+ null,
+ JsonValue.NULL));
JsonPatch patch = Json.createPatchBuilder().test("/test/value", JsonValue.NULL)
- .build();
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -371,16 +375,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestJsonObject() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/test/the/object",
- null,
- Json.createObjectBuilder()
- .add("foo", "bar")
- .build()));
+ "/test/the/object",
+ null,
+ Json.createObjectBuilder()
+ .add("foo", "bar")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().test("/test/the/object", Json.createObjectBuilder()
- .add("foo", "bar")
- .build())
- .build();
+ .add("foo", "bar")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -389,16 +393,16 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderTestJsonArray() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.TEST,
- "/test/my/array",
- null,
- Json.createArrayBuilder()
- .add("element")
- .build()));
+ "/test/my/array",
+ null,
+ Json.createArrayBuilder()
+ .add("element")
+ .build()));
JsonPatch patch = Json.createPatchBuilder().test("/test/my/array", Json.createArrayBuilder()
- .add("element")
- .build())
- .build();
+ .add("element")
+ .build())
+ .build();
assertNotNull(patch);
assertEquals(expected, patch);
}
@@ -413,28 +417,48 @@ public class JsonPatchBuilderTest {
public void testPatchBuilderWithinitialData() {
JsonPatchImpl expected = new JsonPatchImpl(new JsonPatchImpl.PatchValue(JsonPatch.Operation.ADD,
- "/add/an/object",
- null,
- Json.createObjectBuilder()
- .add("name", "Cassius")
- .build()),
- new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
- "/replace/me",
- null,
- Json.createArrayBuilder()
- .add(16)
- .add(27)
- .add("test")
- .build()),
- new JsonPatchImpl.PatchValue(JsonPatch.Operation.REMOVE,
- "/remove/it",
- null,
- null));
+ "/add/an/object",
+ null,
+ Json.createObjectBuilder()
+ .add("name", "Cassius")
+ .build()),
+ new JsonPatchImpl.PatchValue(JsonPatch.Operation.REPLACE,
+ "/replace/me",
+ null,
+ Json.createArrayBuilder()
+ .add(16)
+ .add(27)
+ .add("test")
+ .build()),
+ new JsonPatchImpl.PatchValue(JsonPatch.Operation.REMOVE,
+ "/remove/it",
+ null,
+ null));
JsonPatch patch = new JsonPatchBuilderImpl(expected.toJsonArray()).build();
assertNotNull(patch);
assertEquals(expected, patch);
}
-
-}
+ @Test
+ public void testPatchBuilderWithJsonArrayInitialData() {
+ JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
+ arrayBuilder.add(Json.createObjectBuilder()
+ .add("op", JsonPatch.Operation.ADD.operationName())
+ .add("path", "/add/an/object")
+ .add("value", "someValue").build());
+ arrayBuilder.add(Json.createObjectBuilder()
+ .add("op", JsonPatch.Operation.TEST.operationName())
+ .add("path", "/test/someObject")
+ .add("value", "someValue").build());
+
+ JsonArray initialPatchData = arrayBuilder.build();
+
+ JsonPatchBuilder jsonPatchBuilder = Json.createPatchBuilder(initialPatchData);
+ jsonPatchBuilder.move("/move/me/to", "/move/me/from");
+ JsonPatch jsonPatch = jsonPatchBuilder.build();
+ Assert.assertNotNull(jsonPatch);
+
+ //X TODO apply the patch to some data
+ }
+}
\ No newline at end of file