diff options
author | Straubs, Ralph (rs8887) <rs8887@att.com> | 2019-10-22 10:43:09 -0500 |
---|---|---|
committer | Straubs, Ralph (rs8887) <rs8887@att.com> | 2019-10-24 11:09:45 -0500 |
commit | ffc78b2ad00d35e49e8ca3f8524483f6df171d50 (patch) | |
tree | 44613578158b205e82e339e82f92d486d804501d /models-interactions/model-impl/rest/src/test | |
parent | 5f69582dfaf325a8552ebeaa7cd69f81bc7d478f (diff) |
Changes in preparation for the m2 model
1) Replace enum 'ControlLoopTargetType' with 'String' -- symbols such as
'ControlLoopTargetType.VM' still work, but now expand into a String.
This gives the ability to add new application-specific types.
2) Move 'ControlLoopEvent.payload' to 'VirtualControlLoopEvent'. This
symbol isn't common to all 'ControlLoopEvent' types, and this
definition collides with a 'payload' defined in our application.
3) Add 'RestManager.patch(...)', which performs a REST patch.
4) Add lombok getters and setters
5) Remove trailing spaces
6) Fix order of arguments in 'assertEquals' in 'ControlLoopTargetTypeTest'
7) Update Junit tests in 'RestTest' to include 'RestManager.patch(...)'
Issue-ID: POLICY-1948
Signed-off-by: Straubs, Ralph (rs8887) <rs8887@att.com>
Change-Id: I08e04ea3cbcf368c760b630bcfe23a4370cf94dc
Diffstat (limited to 'models-interactions/model-impl/rest/src/test')
-rw-r--r-- | models-interactions/model-impl/rest/src/test/java/org/onap/policy/rest/RestTest.java | 97 |
1 files changed, 96 insertions, 1 deletions
diff --git a/models-interactions/model-impl/rest/src/test/java/org/onap/policy/rest/RestTest.java b/models-interactions/model-impl/rest/src/test/java/org/onap/policy/rest/RestTest.java index 903ec2fa3..21a971651 100644 --- a/models-interactions/model-impl/rest/src/test/java/org/onap/policy/rest/RestTest.java +++ b/models-interactions/model-impl/rest/src/test/java/org/onap/policy/rest/RestTest.java @@ -24,10 +24,17 @@ package org.onap.policy.rest; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; +import javax.ws.rs.HttpMethod; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; @@ -45,7 +52,7 @@ import org.onap.policy.rest.RestManager.Pair; @Path("RestTest") public class RestTest { - + private static final String MERGE_PATCH_PLUS_JSON = "application/merge-patch+json"; private static final String NAME_PARAM = "Bob"; private static final String AGE_PARAM = "10"; @@ -64,6 +71,8 @@ public class RestTest { private static String putUriBlank; private static String postUri; private static String postUriBlank; + private static String patchUri; + private static String patchUriBlank; private static HttpServletServer server; @@ -81,6 +90,8 @@ public class RestTest { putUriBlank = baseUri + "RestTest/PutBlank"; postUri = baseUri + "RestTest/PostHello/" + NAME_PARAM + "?age=" + AGE_PARAM; postUriBlank = baseUri + "RestTest/PostBlank"; + patchUri = baseUri + "RestTest/PatchHello/" + NAME_PARAM + "?age=" + AGE_PARAM; + patchUriBlank = baseUri + "RestTest/PatchBlank"; server = HttpServletServerFactoryInstance.getServerFactory() .build("RestTest", LOCALHOST, port, "/" + BASE, false, true); @@ -123,6 +134,12 @@ public class RestTest { mgr.delete(null, "user", null, null, null, null); } + @Test(expected = NullPointerException.class) + public void testPatchUrlNull() { + RestManager mgr = new RestManager(); + mgr.patch(null, "user", null, null, PAYLOAD); + } + @Test public void testUsernameNull() { RestManager mgr = new RestManager(); @@ -168,6 +185,18 @@ public class RestTest { assertTrue(result.second != null); assertTrue(result.second.length() > 0); assertEquals("POST: " + PAYLOAD + RETURN_STRING, result.second); + + result = mgr.patch(patchUri, null, null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + EXPECT_STRING, result.second); + + result = mgr.patch(patchUriBlank, null, null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + RETURN_STRING, result.second); } @Test @@ -209,6 +238,18 @@ public class RestTest { assertTrue(result.second != null); assertTrue(result.second.length() > 0); assertEquals("POST: " + PAYLOAD + RETURN_STRING, result.second); + + result = mgr.patch(patchUri, "", null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + EXPECT_STRING, result.second); + + result = mgr.patch(patchUriBlank, "", null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + RETURN_STRING, result.second); } @Test @@ -250,6 +291,18 @@ public class RestTest { assertTrue(result.second != null); assertTrue(result.second.length() > 0); assertEquals("POST: " + PAYLOAD + RETURN_STRING, result.second); + + result = mgr.patch(patchUri, "user", null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + EXPECT_STRING, result.second); + + result = mgr.patch(patchUriBlank, "user", null, null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + RETURN_STRING, result.second); } @Test @@ -267,6 +320,9 @@ public class RestTest { result = mgr.post(baseUri + "RestTest/PostHello/", null, null, null, MediaType.TEXT_PLAIN, PAYLOAD); assertEquals((Integer)404, result.first); + + result = mgr.patch(baseUri + "RestTest/PatchHello/", null, null, null, PAYLOAD); + assertEquals((Integer)404, result.first); } @Test @@ -297,6 +353,13 @@ public class RestTest { assertTrue(result.second != null); assertTrue(result.second.length() > 0); assertEquals("POST: " + PAYLOAD + RETURN_STRING + NAME_PARAM + " aged 90", result.second); + + result = mgr.patch(baseUri + "RestTest/PatchHello/" + NAME_PARAM, null, null, + null, PAYLOAD); + assertEquals((Integer)200, result.first); + assertTrue(result.second != null); + assertTrue(result.second.length() > 0); + assertEquals("PATCH: " + PAYLOAD + RETURN_STRING + NAME_PARAM + " aged 90", result.second); } @Test @@ -314,6 +377,9 @@ public class RestTest { result = mgr.post(baseUri + "NonExistant/URL/", null, null, null, MediaType.TEXT_PLAIN, PAYLOAD); assertEquals((Integer)404, result.first); + + result = mgr.patch(baseUri + "NonExistant/URL/", null, null, null, PAYLOAD); + assertEquals((Integer)404, result.first); } @Test @@ -334,6 +400,9 @@ public class RestTest { result = mgr.post(getUri, null, null, null, MediaType.TEXT_PLAIN, PAYLOAD); assertEquals((Integer)405, result.first); + + result = mgr.patch(getUri, null, null, null, PAYLOAD); + assertEquals((Integer)405, result.first); } @GET @@ -387,4 +456,30 @@ public class RestTest { public String postBlank( String payload) { return "POST: " + payload + RETURN_STRING; } + + @Target({ElementType.METHOD}) + @Retention(RetentionPolicy.RUNTIME) + @HttpMethod("PATCH") + @Documented + public static @interface Patch { + } + + @Patch + @Path("/PatchHello/{name}") + @Consumes(MERGE_PATCH_PLUS_JSON) + @Produces(MERGE_PATCH_PLUS_JSON) + public String patchIt( + String payload, + @PathParam("name") String name, + @DefaultValue("90") @QueryParam("age") String age) { + + return "PATCH: " + payload + RETURN_STRING + name + " aged " + age; + } + + @Patch + @Path("/PatchBlank") + @Produces(MERGE_PATCH_PLUS_JSON) + public String patchBlank( String payload) { + return "PATCH: " + payload + RETURN_STRING; + } } |