You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by el...@apache.org on 2009/07/01 13:54:02 UTC

svn commit: r790130 - /incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java

Author: elman
Date: Wed Jul  1 11:54:01 2009
New Revision: 790130

URL: http://svn.apache.org/viewvc?rev=790130&view=rev
Log:
Add unit test for UriBuilderImpl

Modified:
    incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java

Modified: incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java?rev=790130&r1=790129&r2=790130&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java (original)
+++ incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/UriBuilderImplTest.java Wed Jul  1 11:54:01 2009
@@ -17,7 +17,6 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
 
 package org.apache.wink.common.internal;
 
@@ -27,13 +26,10 @@
 
 import javax.ws.rs.core.UriBuilder;
 
-import org.apache.wink.common.internal.UriBuilderImpl;
-
-
 import junit.framework.TestCase;
 
 public class UriBuilderImplTest extends TestCase {
-    
+
     public void testUriBuilderSimple() {
         UriBuilder builder = new UriBuilderImpl();
         builder.scheme("http").host("localhost").port(8080);
@@ -45,23 +41,24 @@
         builder.matrixParam("c", "3");
         builder.fragment("fragment");
         URI uri = builder.build();
-        assertEquals("http://localhost:8080/some/path/matrix1;a=1;b=2/matrix2;c=3#fragment", uri.toString());
+        assertEquals("http://localhost:8080/some/path/matrix1;a=1;b=2/matrix2;c=3#fragment",
+            uri.toString());
     }
-        
+
     public void testScheme() {
         UriBuilderImpl builder = new UriBuilderImpl();
         builder.scheme("http").segment("path");
         String uriString = builder.build().toString();
         assertEquals("http:/path", uriString);
-        
+
         builder.scheme("{var}");
         uriString = builder.build("http").toString();
         assertEquals("http:/path", uriString);
     }
-    
+
     public void testAuthority() {
         UriBuilderImpl builder = new UriBuilderImpl();
-        
+
         // test user info
         // 1
         builder.userInfo("iamlegend");
@@ -79,7 +76,7 @@
         builder.userInfo("a;:&=+$,z@");
         uriString = builder.build().toString();
         assertEquals("//a;:&=+$,z%40@", uriString);
-       
+
         // test host
         builder.reset();
         // 1
@@ -94,14 +91,14 @@
         builder.host("{var}");
         uriString = builder.build("localhost").toString();
         assertEquals("//localhost", uriString);
-        
+
         // test port
         builder.reset();
         // 1
         builder.port(80);
         uriString = builder.build().toString();
         assertEquals("//:80", uriString);
-        
+
         // test authority
         // 1
         builder.reset();
@@ -110,7 +107,7 @@
         builder.port(80);
         uriString = builder.build("iamlegend", "localhost").toString();
         assertEquals("//iamlegend@localhost:80", uriString);
-        
+
         // 2
         builder.reset();
         builder.userInfo("{user}");
@@ -125,18 +122,18 @@
         uriString = builder.build("localhost").toString();
         assertEquals("//localhost:80", uriString);
     }
-    
+
     public void testPath() throws Exception {
         // vars
         UriBuilder builder = new UriBuilderImpl();
         builder.segment("path1");
         URI uri = builder.build();
         assertEquals("path1", uri.toString());
-        
+
         builder.segment("seg1/{var1}");
         uri = builder.build("segment1");
         assertEquals("path1/seg1%2Fsegment1", uri.toString());
-        
+
         builder.segment("seg2/{var1}");
         uri = builder.build("segment1");
         assertEquals("path1/seg1%2Fsegment1/seg2%2Fsegment1", uri.toString());
@@ -146,69 +143,69 @@
         builder.segment("{var2}").segment("{var1}");
         uri = builder.build("segment1", "segment2");
         assertEquals("path1/seg1%2Fsegment1/seg2%2Fsegment1/segment2/segment1", uri.toString());
-        
+
         uri = builder.build("segment1", "segment2", "segment3");
         assertEquals("path1/seg1%2Fsegment1/seg2%2Fsegment1/segment2/segment1", uri.toString());
-        
+
         // vars with special character
         builder = new UriBuilderImpl();
         builder.segment("path1").segment("{var1}");
         uri = builder.build("/s1,s2");
         assertEquals("path1/%2Fs1,s2", uri.toString());
-        
+
         builder.replacePath("/r1/{v1}");
         uri = builder.build("r2");
         assertEquals("/r1/r2", uri.toString());
-        
+
         builder.replacePath("r1/{v1}");
         uri = builder.build("r2");
         assertEquals("r1/r2", uri.toString());
     }
-    
+
     public void testMatrix() {
         UriBuilder builder = new UriBuilderImpl();
         builder.segment("path1");
-        
+
         builder.matrixParam("mat1", "val1");
         String uriString = builder.build().toString();
         assertEquals("path1;mat1=val1", uriString);
-        
+
         builder.matrixParam("mat2", "{var1}");
         uriString = builder.build("val2").toString();
         assertEquals("path1;mat1=val1;mat2=val2", uriString);
-        
+
         builder.matrixParam("{matvar1}", "{var1}");
         uriString = builder.build("val2", "mat1").toString();
         assertEquals("path1;mat1=val1;mat2=val2;mat1=val2", uriString);
-        
+
         builder.replaceMatrixParam("mat1", "val5");
         uriString = builder.build("val2", "mat1").toString();
         assertEquals("path1;mat1=val5;mat2=val2;mat1=val2", uriString);
     }
-    
-    public void testQuery() throws Exception{
+
+    public void testQuery() throws Exception {
         UriBuilder builder = new UriBuilderImpl();
         builder.queryParam("q1", "a1");
         String uriString = builder.build().toString();
         assertEquals("?q1=a1", uriString);
-        
+
         builder.queryParam("q2", "a2");
         uriString = builder.build().toString();
         assertEquals("?q1=a1&q2=a2", uriString);
-        
+
         builder.queryParam("q1", "a3");
         uriString = builder.build().toString();
         assertEquals("?q1=a1&q1=a3&q2=a2", uriString);
-        
+
         builder = new UriBuilderImpl();
         builder.queryParam("{qname1}", "{qvalue1}");
         uriString = builder.build("q1", "a1").toString();
         assertEquals("?q1=a1", uriString);
-        
+
         builder.queryParam("{qname2}", "{qvalue1}");
         uriString = builder.build("q1", "a1", "q2").toString();
         assertEquals("?q1=a1&q2=a1", uriString);
-        
+
         builder.replaceQueryParam("{qname2}", "b1", "b2");
         uriString = builder.build("q1", "a1", "q2").toString();
         assertEquals("?q1=a1&q2=b1&q2=b2", uriString);
@@ -217,69 +214,69 @@
         uriString = builder.build("b#3", "b4").toString();
         assertEquals("?q3=b%233&q4=b4", uriString);
     }
-    
+
     public void testSchemeSpecificPart() {
         UriBuilder builder = new UriBuilderImpl();
         builder.scheme("http");
         builder.fragment("frag");
-        
+
         builder.schemeSpecificPart("//iamlegend.hp.com@localhost:80/path1/{var1}/path3");
         String uriStr = builder.build("path2").toString();
         assertEquals("http://iamlegend.hp.com@localhost:80/path1/path2/path3#frag", uriStr);
-        
+
         builder.schemeSpecificPart("//path4/{var1}");
         uriStr = builder.build("path5").toString();
         assertEquals("http://path4/path5#frag", uriStr);
     }
-    
+
     public void testFragment() {
         UriBuilder builder = new UriBuilderImpl();
         builder.fragment("fragment");
         String uriString = builder.build().toString();
         assertEquals("#fragment", uriString);
-        
+
         builder.fragment("{var}");
         uriString = builder.build("fragment").toString();
         assertEquals("#fragment", uriString);
-        
+
         builder.fragment("{var}");
         uriString = builder.build("frag#@ment").toString();
         assertEquals("#frag%23@ment", uriString);
     }
-    
+
     public void testBuildMethods() {
         UriBuilder builder = new UriBuilderImpl();
-        String[] segments = new String[] {"some", "{v1}", "path{v2}", "{v3}", "a+b{v4}"};
+        String[] segments = new String[] { "some", "{v1}", "path{v2}", "{v3}", "a+b{v4}" };
         builder.host("localhost").port(8080).segment(segments).fragment("{v5}");
-        
+
         // build
         URI uri = builder.build("path", "Ex", "a#b", "c%2Bd", "frag");
         String uriString = uri.toString();
         assertEquals("//localhost:8080/some/path/pathEx/a%23b/a+bc%252Bd#frag", uriString);
-        
+
         // buildFromEncoded
         uri = builder.buildFromEncoded("path", "Ex", "a%2Bb", "c%2Bd", "frag");
         uriString = uri.toString();
         assertEquals("//localhost:8080/some/path/pathEx/a%2Bb/a+bc%2Bd#frag", uriString);
-        
-        Map<String,String> map = new HashMap<String,String>();
+
+        Map<String, String> map = new HashMap<String, String>();
         map.put("v1", "path");
         map.put("v2", "Ex");
         map.put("v3", "a+b");
         map.put("v4", "c%2Bd");
         map.put("v5", "frag");
-        
+
         // buildFromMap
         uri = builder.buildFromMap(map);
         uriString = uri.toString();
         assertEquals("//localhost:8080/some/path/pathEx/a+b/a+bc%252Bd#frag", uriString);
-        
+
         // buildFromEncodedMap
         uri = builder.buildFromEncodedMap(map);
         uriString = uri.toString();
-        assertEquals("//localhost:8080/some/path/pathEx/a+b/a+bc%2Bd#frag", uriString);        
+        assertEquals("//localhost:8080/some/path/pathEx/a+b/a+bc%2Bd#frag", uriString);
     }
-    
+
     public void testUri() {
         UriBuilder builder = new UriBuilderImpl();
         builder.scheme("http").host("localhost").port(80).segment("path1", "path2");
@@ -290,7 +287,7 @@
         String uriStr = builder.build().toString();
         assertEquals("http://iamlegend@remotehost:90/path3;mat2=v1/path4#this%20fragment", uriStr);
     }
-    
+
     public void testClone() {
         UriBuilder builder1 = new UriBuilderImpl();
         builder1.scheme("http").host("localhost").port(80);
@@ -298,10 +295,23 @@
         builder1.matrixParam("mat1", "{var1}", "v2");
         builder1.queryParam("q1", "abc");
         builder1.fragment("fragment");
-        UriBuilder builder2 = builder1.clone(); 
+        UriBuilder builder2 = builder1.clone();
         String uri1 = builder1.build("v1").toString();
         String uri2 = builder2.build("v1").toString();
         assertEquals(uri1, uri2);
     }
 
+    public void testFromUri() {
+
+        String[] urisArray = {
+        "ftp://ftp.is.co.za/rfc/rfc1808.txt", "http://www.ietf.org/rfc/rfc2396.txt",
+            "ldap://[2001:db8::7]/c=GB?objectClass?one", "mailto:John.Doe@example.com",
+            "news:comp.infosystems.www.servers.unix", "tel:+1-816-555-1212",
+            "telnet://192.0.2.16:80/", "urn:oasis:names:specification:docbook:dtd:xml:4.1.2" };
+
+        for (String uris : urisArray) {
+            URI uri = UriBuilder.fromUri(uris).build();
+            assertTrue(uri.toString().equals(uris));
+        }
+    }
 }