Repository: johnzon
Updated Branches:
  refs/heads/master a722ce67f -> 1900e037a


JOHNZON-96 add test for Json.createPatch


Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/1900e037
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/1900e037
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/1900e037

Branch: refs/heads/master
Commit: 1900e037af0ebf079b79419ff1051a8bd507ec40
Parents: a722ce6
Author: Mark Struberg <[email protected]>
Authored: Sun Feb 26 18:31:17 2017 +0100
Committer: Mark Struberg <[email protected]>
Committed: Sun Feb 26 18:31:17 2017 +0100

----------------------------------------------------------------------
 .../apache/johnzon/core/JsonProviderImpl.java   |  4 +++
 .../org/apache/johnzon/core/JsonPatchTest.java  | 27 ++++++++++++++++++++
 2 files changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/1900e037/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
----------------------------------------------------------------------
diff --git 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
index 189caad..354158a 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonProviderImpl.java
@@ -360,6 +360,10 @@ public class JsonProviderImpl extends JsonProvider 
implements Serializable {
             return new JsonPointerImpl(path);
         }
 
+        public JsonPatch createPatch(JsonArray array) {
+            return createPatchBuilder(array).build();
+        }
+
         //X TODO add missing methods
 
     }

http://git-wip-us.apache.org/repos/asf/johnzon/blob/1900e037/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
----------------------------------------------------------------------
diff --git 
a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java 
b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
index b572030..a54e7cd 100644
--- a/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
+++ b/johnzon-core/src/test/java/org/apache/johnzon/core/JsonPatchTest.java
@@ -18,10 +18,12 @@
  */
 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.JsonException;
 import javax.json.JsonObject;
 import javax.json.JsonPatch;
@@ -943,6 +945,29 @@ public class JsonPatchTest {
                      "\"father\":{\"name\":\"Gaio Modry Effect\"}}}", 
toJsonString(patched));
     }
 
+    @Test
+    public void testCreatePatch() {
+        JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
+        arrayBuilder.add(Json.createObjectBuilder()
+                .add("op", JsonPatch.Operation.ADD.operationName())
+                .add("path", "/add")
+                .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();
+
+        JsonPatch patch = Json.createPatch(initialPatchData);
+
+        String jsonToPatch = 
"{\"add\":{\"a\":\"b\"},\"test\":{\"someObject\":\"someValue\"}}";
+        JsonObject jsonObjectToPatch = Json.createReader(new 
StringReader(jsonToPatch)).readObject();
+
+        JsonObject patchedJsonObject = patch.apply(jsonObjectToPatch);
+        Assert.assertNotNull(patchedJsonObject);
+    }
+
 
 
     private static String toJsonString(JsonStructure value) {
@@ -951,4 +976,6 @@ public class JsonPatchTest {
         return writer.toString();
     }
 
+
+
 }

Reply via email to