This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new f6d2ad4  Tests.
f6d2ad4 is described below

commit f6d2ad461de9ad9a3121d4226a62805c1a524e2d
Author: JamesBognar <[email protected]>
AuthorDate: Tue Aug 28 15:54:14 2018 -0400

    Tests.
---
 juneau-rest/juneau-rest-client/pom.xml             |  7 +++
 .../rest/client/remote/FormDataAnnotationTest.java | 61 +++++++++++++++++++++
 .../rest/client/remote/HeaderAnnotationTest.java   | 63 ++++++++++++++++++++++
 .../rest/client/remote/PathAnnotationTest.java     | 27 ++++++++++
 .../rest/client/remote/QueryAnnotationTest.java    | 61 +++++++++++++++++++++
 5 files changed, 219 insertions(+)

diff --git a/juneau-rest/juneau-rest-client/pom.xml 
b/juneau-rest/juneau-rest-client/pom.xml
index 13329d4..d19aee1 100644
--- a/juneau-rest/juneau-rest-client/pom.xml
+++ b/juneau-rest/juneau-rest-client/pom.xml
@@ -57,6 +57,13 @@
                        <scope>test</scope>
                </dependency>
                <dependency>
+                       <groupId>org.apache.juneau</groupId>
+                       <artifactId>juneau-rest-server</artifactId>
+                       <version>${project.version}</version>
+                       <type>test-jar</type>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                        <scope>test</scope>
diff --git 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/FormDataAnnotationTest.java
 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/FormDataAnnotationTest.java
index c6b8d7a..dd49872 100644
--- 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/FormDataAnnotationTest.java
+++ 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/FormDataAnnotationTest.java
@@ -26,6 +26,7 @@ import org.apache.juneau.http.annotation.Header;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.client.*;
 import org.apache.juneau.rest.mock.*;
+import org.apache.juneau.rest.testutils.*;
 import org.apache.juneau.utils.*;
 import org.junit.*;
 import org.junit.runners.*;
@@ -968,4 +969,64 @@ public class FormDataAnnotationTest {
                assertEquals("{x:'1'}", hr.postH03("1"));
                try { hr.postH03(null); fail(); } catch (Exception e) { 
assertContains(e, "Required value not provided."); }
        }
+
+       
//=================================================================================================================
+       // @FormData(skipIfEmpty)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class I {
+               @RestMethod
+               public String post(@FormData("*") ObjectMap m) {
+                       return m.toString();
+               }
+       }
+       private static MockRest i = MockRest.create(I.class);
+
+       @RemoteResource
+       public static interface IR {
+               @RemoteMethod(path="/") String 
postI01(@FormData(name="x",allowEmptyValue=true) String b);
+               @RemoteMethod(path="/") String 
postI02(@FormData(name="x",allowEmptyValue=true,skipIfEmpty=false) String b);
+               @RemoteMethod(path="/") String 
postI03(@FormData(name="x",skipIfEmpty=true) String b);
+       }
+
+       private static IR ir = 
RestClient.create().mockHttpConnection(i).build().getRemoteResource(IR.class);
+
+       @Test
+       public void h01_skipIfEmpty_default() throws Exception {
+               assertEquals("{x:''}", ir.postI01(""));
+       }
+       @Test
+       public void h02_skipIfEmpty_false() throws Exception {
+               assertEquals("{x:''}", ir.postI02(""));
+       }
+       @Test
+       public void h03_skipIfEmpty_true() throws Exception {
+               assertEquals("{}", ir.postI03(""));
+       }
+
+       
//=================================================================================================================
+       // @FormData(serializer)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class J {
+               @RestMethod
+               public String post(@FormData("*") ObjectMap m) {
+                       return m.toString();
+               }
+       }
+       private static MockRest j = MockRest.create(J.class);
+
+       @RemoteResource
+       public static interface JR {
+               @RemoteMethod(path="/") String 
postJ01(@FormData(name="x",serializer=XPartSerializer.class) String b);
+       }
+
+       private static JR jr = 
RestClient.create().mockHttpConnection(j).build().getRemoteResource(JR.class);
+
+       @Test
+       public void j01_serializer() throws Exception {
+               assertEquals("{x:'xXx'}", jr.postJ01("X"));
+       }
 }
diff --git 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/HeaderAnnotationTest.java
 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/HeaderAnnotationTest.java
index e75854e..7cb54c9 100644
--- 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/HeaderAnnotationTest.java
+++ 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/HeaderAnnotationTest.java
@@ -25,6 +25,7 @@ import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.client.*;
 import org.apache.juneau.rest.mock.*;
+import org.apache.juneau.rest.testutils.*;
 import org.apache.juneau.utils.*;
 import org.junit.*;
 import org.junit.runners.*;
@@ -913,4 +914,66 @@ public class HeaderAnnotationTest {
                assertEquals("{x:'1'}", hr.getH03("1"));
                try { hr.getH03(null); fail(); } catch (Exception e) { 
assertContains(e, "Required value not provided."); }
        }
+
+       
//=================================================================================================================
+       // @Header(skipIfEmpty)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class I {
+               @RestMethod
+               public String get(@Header("*") ObjectMap m) {
+                       
m.removeAll("Accept-Encoding","Connection","Host","User-Agent");
+                       return m.toString();
+               }
+       }
+       private static MockRest i = MockRest.create(I.class);
+
+       @RemoteResource
+       public static interface IR {
+               @RemoteMethod(path="/") String 
getI01(@Header(name="x",allowEmptyValue=true) String b);
+               @RemoteMethod(path="/") String 
getI02(@Header(name="x",allowEmptyValue=true,skipIfEmpty=false) String b);
+               @RemoteMethod(path="/") String 
getI03(@Header(name="x",skipIfEmpty=true) String b);
+       }
+
+       private static IR ir = 
RestClient.create().mockHttpConnection(i).build().getRemoteResource(IR.class);
+
+       @Test
+       public void h01_skipIfEmpty_default() throws Exception {
+               assertEquals("{x:''}", ir.getI01(""));
+       }
+       @Test
+       public void h02_skipIfEmpty_false() throws Exception {
+               assertEquals("{x:''}", ir.getI02(""));
+       }
+       @Test
+       public void h03_skipIfEmpty_true() throws Exception {
+               assertEquals("{}", ir.getI03(""));
+       }
+
+       
//=================================================================================================================
+       // @Header(serializer)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class J {
+               @RestMethod
+               public String get(@Header("*") ObjectMap m) {
+                       
m.removeAll("Accept-Encoding","Connection","Host","User-Agent");
+                       return m.toString();
+               }
+       }
+       private static MockRest j = MockRest.create(J.class);
+
+       @RemoteResource
+       public static interface JR {
+               @RemoteMethod(path="/") String 
getJ01(@Header(name="x",serializer=XPartSerializer.class) String b);
+       }
+
+       private static JR jr = 
RestClient.create().mockHttpConnection(j).build().getRemoteResource(JR.class);
+
+       @Test
+       public void j01_serializer() throws Exception {
+               assertEquals("{x:'xXx'}", jr.getJ01("X"));
+       }
 }
diff --git 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/PathAnnotationTest.java
 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/PathAnnotationTest.java
index 5a40045..ecf25d1 100644
--- 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/PathAnnotationTest.java
+++ 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/PathAnnotationTest.java
@@ -25,6 +25,7 @@ import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.client.*;
 import org.apache.juneau.rest.mock.*;
+import org.apache.juneau.rest.testutils.*;
 import org.apache.juneau.utils.*;
 import org.junit.*;
 import org.junit.runners.*;
@@ -815,4 +816,30 @@ public class PathAnnotationTest {
        public void h01_required_default() throws Exception {
                try { hr.getH01(null); fail(); } catch (Exception e) { 
assertContains(e, "Required value not provided."); }
        }
+
+       
//=================================================================================================================
+       // @Path(serializer)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class J {
+               @RestMethod(path="/{x}")
+               public String get(@Path("*") ObjectMap m) {
+                       m.removeAll("/*","/**");
+                       return m.toString();
+               }
+       }
+       private static MockRest j = MockRest.create(J.class);
+
+       @RemoteResource
+       public static interface JR {
+               @RemoteMethod(path="/{x}") String 
getJ01(@Path(name="x",serializer=XPartSerializer.class) String b);
+       }
+
+       private static JR jr = 
RestClient.create().mockHttpConnection(j).build().getRemoteResource(JR.class);
+
+       @Test
+       public void j01_serializer() throws Exception {
+               assertEquals("{x:'xXx'}", jr.getJ01("X"));
+       }
 }
diff --git 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/QueryAnnotationTest.java
 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/QueryAnnotationTest.java
index 7552389..af93f36 100644
--- 
a/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/QueryAnnotationTest.java
+++ 
b/juneau-rest/juneau-rest-client/src/test/java/org/apache/juneau/rest/client/remote/QueryAnnotationTest.java
@@ -27,6 +27,7 @@ import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.client.*;
 import org.apache.juneau.rest.mock.*;
+import org.apache.juneau.rest.testutils.*;
 import org.apache.juneau.utils.*;
 import org.junit.*;
 import org.junit.runners.*;
@@ -967,4 +968,64 @@ public class QueryAnnotationTest {
                assertEquals("{x:'1'}", hr.getH03("1"));
                try { hr.getH03(null); fail(); } catch (Exception e) { 
assertContains(e, "Required value not provided."); }
        }
+
+       
//=================================================================================================================
+       // @Query(skipIfEmpty)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class I {
+               @RestMethod
+               public String get(@Query("*") ObjectMap m) {
+                       return m.toString();
+               }
+       }
+       private static MockRest i = MockRest.create(I.class);
+
+       @RemoteResource
+       public static interface IR {
+               @RemoteMethod(path="/") String 
getI01(@Query(name="x",allowEmptyValue=true) String b);
+               @RemoteMethod(path="/") String 
getI02(@Query(name="x",allowEmptyValue=true,skipIfEmpty=false) String b);
+               @RemoteMethod(path="/") String 
getI03(@Query(name="x",skipIfEmpty=true) String b);
+       }
+
+       private static IR ir = 
RestClient.create().mockHttpConnection(i).build().getRemoteResource(IR.class);
+
+       @Test
+       public void h01_skipIfEmpty_default() throws Exception {
+               assertEquals("{x:''}", ir.getI01(""));
+       }
+       @Test
+       public void h02_skipIfEmpty_false() throws Exception {
+               assertEquals("{x:''}", ir.getI02(""));
+       }
+       @Test
+       public void h03_skipIfEmpty_true() throws Exception {
+               assertEquals("{}", ir.getI03(""));
+       }
+
+       
//=================================================================================================================
+       // @Query(serializer)
+       
//=================================================================================================================
+
+       @RestResource
+       public static class J {
+               @RestMethod
+               public String get(@Query("*") ObjectMap m) {
+                       return m.toString();
+               }
+       }
+       private static MockRest j = MockRest.create(J.class);
+
+       @RemoteResource
+       public static interface JR {
+               @RemoteMethod(path="/") String 
getJ01(@Query(name="x",serializer=XPartSerializer.class) String b);
+       }
+
+       private static JR jr = 
RestClient.create().mockHttpConnection(j).build().getRemoteResource(JR.class);
+
+       @Test
+       public void j01_serializer() throws Exception {
+               assertEquals("{x:'xXx'}", jr.getJ01("X"));
+       }
 }

Reply via email to