Added:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PathsTest.java
==============================================================================
---
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PathsTest.java
(added)
+++
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PathsTest.java
Fri Sep 8 23:21:12 2017
@@ -0,0 +1,817 @@
+//
***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance *
+// * with the License. You may obtain a copy of the License at
*
+// *
*
+// * http://www.apache.org/licenses/LICENSE-2.0
*
+// *
*
+// * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the *
+// * specific language governing permissions and limitations under the
License. *
+//
***************************************************************************************************************************
+package org.apache.juneau.rest.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class PathsTest extends RestTestcase {
+
+ private static String URL = "/testPaths";
+
+
//====================================================================================================
+ // Basic tests
+
//====================================================================================================
+ @Test
+ public void testBasic() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+ ObjectMap r;
+ String url;
+
+ // [/test/testPaths]
+ // {
+ // pathInfo:null,
+ // pathInfoParts:[],
+ // pathRemainder:null,
+ // pathRemainderUndecoded:null,
+ // requestURI:'/jazz/juneau/test/testPaths',
+ // requestParentURI:'/jazz/juneau/test',
+ //
requestURL:'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletPath:'/juneau/test/testPaths',
+ // }
+ url = URL;
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertNull(r.getString("pathInfo"));
+ assertNull(r.getString("pathRemainder"));
+ assertNull(r.getString("pathRemainderUndecoded"));
+ assertNull(r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths"));
+ assertTrue(r.getString("requestParentURI").endsWith("/"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+
+ // [/test/testPaths/]
+ // {
+ // pathInfo: '/',
+ // pathRemainder: '',
+ // pathRemainderUndecoded: '',
+ // requestURI:
'/jazz/juneau/test/testPaths/',
+ // requestParentURI: '/jazz/juneau/test',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + '/';
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/", r.getString("pathInfo"));
+ assertEquals("", r.getString("pathRemainder"));
+ assertEquals("", r.getString("pathRemainderUndecoded"));
+ assertEquals("", r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths/"));
+ assertTrue(r.getString("requestParentURI").endsWith("/"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths//]
+ // {
+ // pathInfo: '//',
+ // pathRemainder: '/',
+ // requestURI:
'/jazz/juneau/test/testPaths//',
+ // requestParentURI: '/jazz/juneau/test',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths//',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + "//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("//", r.getString("pathInfo"));
+ assertEquals("/", r.getString("pathRemainder"));
+ assertEquals("/", r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths//"));
+ assertTrue(r.getString("requestParentURI").endsWith("/"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths///]
+ // {
+ // pathInfo: '///',
+ // pathRemainder: '//',
+ // requestURI:
'/jazz/juneau/test/testPaths///',
+ // requestParentURI: '/jazz/juneau/test',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths///',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + "///";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("///", r.getString("pathInfo"));
+ assertEquals("//", r.getString("pathRemainder"));
+ assertEquals("//", r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths///"));
+ assertTrue(r.getString("requestParentURI").endsWith("/"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths///"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths/foo/bar]
+ // {
+ // pathInfo: '/foo/bar',
+ // pathRemainder: 'foo/bar',
+ // requestURI:
'/jazz/juneau/test/testPaths/foo/bar',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/foo/bar',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + "/foo/bar";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/foo/bar", r.getString("pathInfo"));
+ assertEquals("foo/bar", r.getString("pathRemainder"));
+ assertEquals("foo/bar", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/foo/bar"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/foo/bar"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths/foo/bar/]
+ // {
+ // pathInfo: '/foo/bar/',
+ // pathRemainder: 'foo/bar/',
+ // requestURI:
'/jazz/juneau/test/testPaths/foo/bar/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/foo/bar/',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + "/foo/bar/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/foo/bar/", r.getString("pathInfo"));
+ assertEquals("foo/bar/", r.getString("pathRemainder"));
+ assertEquals("foo/bar/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/foo/bar/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/foo/bar/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths//foo//bar//]
+ // {
+ // pathInfo: '//foo//bar//',
+ // pathRemainder: '/foo//bar//',
+ // requestURI:
'/jazz/juneau/test/testPaths//foo//bar//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths//foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths//foo//bar//',
+ // servletPath: '/juneau/test/testPaths',
+ // }
+ url = URL + "//foo//bar//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("//foo//bar//", r.getString("pathInfo"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths//foo//bar//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/foo/"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths//foo//bar//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2]
+ // {
+ // pathInfo: '/test2',
+ // pathRemainder: null,
+ // requestURI:
'/jazz/juneau/test/testPaths/test2',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2", r.getString("pathInfo"));
+ assertNull(r.getString("pathRemainder"));
+ assertNull(r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+
+ // [/test/testPaths/test2/]
+ // {
+ // pathInfo: '/test2/',
+ // pathRemainder: '',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2/',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/", r.getString("pathInfo"));
+ assertEquals("", r.getString("pathRemainder"));
+ assertEquals("", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2//]
+ // {
+ // pathInfo: '/test2//',
+ // pathRemainder: '/',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2//',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2//", r.getString("pathInfo"));
+ assertEquals("/", r.getString("pathRemainder"));
+ assertEquals("/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2///]
+ // {
+ // pathInfo: '/test2///',
+ // pathRemainder: '//',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2///',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2///',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2///";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2///", r.getString("pathInfo"));
+ assertEquals("//", r.getString("pathRemainder"));
+ assertEquals("//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2///"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2///"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2/foo/bar]
+ // {
+ // pathInfo: '/test2/foo/bar',
+ // pathRemainder: 'foo/bar',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2/foo/bar',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/test2/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2/foo/bar',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2/foo/bar";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/foo/bar", r.getString("pathInfo"));
+ assertEquals("foo/bar", r.getString("pathRemainder"));
+ assertEquals("foo/bar", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2/foo/bar"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/test2/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2/foo/bar"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2/foo/bar/]
+ // {
+ // pathInfo: '/test2/foo/bar/',
+ // pathRemainder: 'foo/bar/',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2/foo/bar/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/test2/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2/foo/bar/',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2/foo/bar/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/foo/bar/", r.getString("pathInfo"));
+ assertEquals("foo/bar/", r.getString("pathRemainder"));
+ assertEquals("foo/bar/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2/foo/bar/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/test2/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2/foo/bar/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/test2//foo//bar//]
+ // {
+ // pathInfo: '/test2//foo//bar//',
+ // pathRemainder: '/foo//bar//',
+ // requestURI:
'/jazz/juneau/test/testPaths/test2//foo//bar//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/test2//foo/',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/test2//foo//bar//',
+ // servletPath: '/juneau/test/testPaths',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test',
+ // method: 2
+ // }
+ url = URL + "/test2//foo//bar//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2//foo//bar//", r.getString("pathInfo"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2//foo//bar//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/test2//foo/"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2//foo//bar//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ // [/test/testPaths/a]
+ // {
+ // pathInfo: null,
+ // pathRemainder: null,
+ // requestURI:
'/jazz/juneau/test/testPaths/a',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertNull(r.getString("pathInfo"));
+ assertNull(r.getString("pathRemainder"));
+ assertNull(r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/]
+ // {
+ // pathInfo: '/',
+ // pathRemainder: '',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/", r.getString("pathInfo"));
+ assertEquals("", r.getString("pathRemainder"));
+ assertEquals("", r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths/a/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths/a/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a//]
+ // {
+ // pathInfo: '//',
+ // pathRemainder: '/',
+ // requestURI:
'/jazz/juneau/test/testPaths/a//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a//',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("//", r.getString("pathInfo"));
+ assertEquals("/", r.getString("pathRemainder"));
+ assertEquals("/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a///]
+ // {
+ // pathInfo: '///',
+ // pathRemainder: '//',
+ // requestURI:
'/jazz/juneau/test/testPaths/a///',
+ // requestParentURI:
'/jazz/juneau/test/testPaths',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a///',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a///";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("///", r.getString("pathInfo"));
+ assertEquals("//", r.getString("pathRemainder"));
+ assertEquals("//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a///"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a///"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/foo/bar]
+ // {
+ // pathInfo: '/foo/bar',
+ // pathRemainder: 'foo/bar',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/foo/bar',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/foo/bar',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a/foo/bar";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/foo/bar", r.getString("pathInfo"));
+ assertEquals("foo/bar", r.getString("pathRemainder"));
+ assertEquals("foo/bar", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/foo/bar"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/foo/bar"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/foo/bar/]
+ // {
+ // pathInfo: '/foo/bar/',
+ // pathRemainder: 'foo/bar/',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/foo/bar/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/foo/bar/',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a/foo/bar/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/foo/bar/", r.getString("pathInfo"));
+ assertEquals("foo/bar/", r.getString("pathRemainder"));
+ assertEquals("foo/bar/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/foo/bar/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/foo/bar/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a//foo//bar//]
+ // {
+ // pathInfo: '//foo//bar//',
+ // pathRemainder: '/foo//bar//',
+ // requestURI:
'/jazz/juneau/test/testPaths/a//foo//bar//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a//foo/',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a//foo//bar//',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 3
+ // }
+ url = URL + "/a//foo//bar//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("//foo//bar//", r.getString("pathInfo"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a//foo//bar//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/foo/"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a//foo//bar//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2]
+ // {
+ // pathInfo: '/test2',
+ // pathRemainder: null,
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2", r.getString("pathInfo"));
+ assertNull(r.getString("pathRemainder"));
+ assertNull(r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2/]
+ // {
+ // pathInfo: '/test2/',
+ // pathRemainder: '',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2/',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/", r.getString("pathInfo"));
+ assertEquals("", r.getString("pathRemainder"));
+ assertEquals("", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2//]
+ // {
+ // pathInfo: '/test2//',
+ // pathRemainder: '/',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2//',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2//", r.getString("pathInfo"));
+ assertEquals("/", r.getString("pathRemainder"));
+ assertEquals("/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2///]
+ // {
+ // pathInfo: '/test2///',
+ // pathRemainder: '//',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2///',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2///',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2///";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2///", r.getString("pathInfo"));
+ assertEquals("//", r.getString("pathRemainder"));
+ assertEquals("//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2///"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2///"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2/foo/bar]
+ // {
+ // pathInfo: '/test2/foo/bar',
+ // pathRemainder: 'foo/bar',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2/foo/bar',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a/test2/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2/foo/bar',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2/foo/bar";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/foo/bar", r.getString("pathInfo"));
+ assertEquals("foo/bar", r.getString("pathRemainder"));
+ assertEquals("foo/bar", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2/foo/bar"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/test2/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2/foo/bar"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2/foo/bar/]
+ // {
+ // pathInfo: '/test2/foo/bar/',
+ // pathRemainder: 'foo/bar/',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2/foo/bar/',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a/test2/foo',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2/foo/bar/',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2/foo/bar/";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/foo/bar/", r.getString("pathInfo"));
+ assertEquals("foo/bar/", r.getString("pathRemainder"));
+ assertEquals("foo/bar/", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2/foo/bar/"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/test2/foo"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2/foo/bar/"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ // [/test/testPaths/a/test2//foo//bar//]
+ // {
+ // pathInfo: '/test2//foo//bar//',
+ // pathRemainder: '/foo//bar//',
+ // requestURI:
'/jazz/juneau/test/testPaths/a/test2//foo//bar//',
+ // requestParentURI:
'/jazz/juneau/test/testPaths/a/test2//foo/',
+ // requestURL:
'https://localhost:9443/jazz/juneau/test/testPaths/a/test2//foo//bar//',
+ // servletPath: '/juneau/test/testPaths/a',
+ // servletURI:
'https://localhost:9443/jazz/juneau/test/testPaths/a',
+ // servletParentURI:
'https://localhost:9443/jazz/juneau/test/testPaths',
+ // method: 4
+ // }
+ url = URL + "/a/test2//foo//bar//";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2//foo//bar//", r.getString("pathInfo"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder"));
+ assertEquals("/foo//bar//", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2//foo//bar//"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/test2//foo/"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2//foo//bar//"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+
//--------------------------------------------------------------------------------
+ // Spaces
+
//--------------------------------------------------------------------------------
+ url = URL + "/%20";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("%20", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/%20"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/%20"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ url = URL + "/test2/%20";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("%20", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2/%20"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/test2"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2/%20"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ url = URL + "/a/%20";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("%20", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/%20"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/%20"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ url = URL + "/a/test2/%20";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("%20", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2/%20"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/test2"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2/%20"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+
+ url = URL + "/+";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("+", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+ assertTrue(r.getString("requestURI").endsWith("/testPaths/+"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths"));
+ assertTrue(r.getString("requestURL").endsWith("/testPaths/+"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(1, (int)r.getInt("method"));
+
+ url = URL + "/test2/+";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("+", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/test2/+"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/test2"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/test2/+"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths"));
+ assertEquals(2, (int)r.getInt("method"));
+
+ url = URL + "/a/+";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("+", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/+"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/+"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(3, (int)r.getInt("method"));
+
+ url = URL + "/a/test2/+";
+ r = client.doGet(url).getResponse(ObjectMap.class);
+ assertEquals("/test2/ ", r.getString("pathInfo"));
+ assertEquals(" ", r.getString("pathRemainder"));
+ assertEquals("+", r.getString("pathRemainderUndecoded"));
+ assertEquals(" ", r.getString("pathRemainder2"));
+
assertTrue(r.getString("requestURI").endsWith("/testPaths/a/test2/+"));
+
assertTrue(r.getString("requestParentURI").endsWith("/testPaths/a/test2"));
+
assertTrue(r.getString("requestURL").endsWith("/testPaths/a/test2/+"));
+ assertTrue(r.getString("servletPath").endsWith("/testPaths/a"));
+ assertTrue(r.getString("servletURI").endsWith("/testPaths/a"));
+
assertTrue(r.getString("servletParentURI").endsWith("/testPaths"));
+ assertEquals(4, (int)r.getInt("method"));
+ }
+}
Propchange:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PathsTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PropertiesTest.java
==============================================================================
---
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PropertiesTest.java
(added)
+++
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PropertiesTest.java
Fri Sep 8 23:21:12 2017
@@ -0,0 +1,43 @@
+//
***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance *
+// * with the License. You may obtain a copy of the License at
*
+// *
*
+// * http://www.apache.org/licenses/LICENSE-2.0
*
+// *
*
+// * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the *
+// * specific language governing permissions and limitations under the
License. *
+//
***************************************************************************************************************************
+package org.apache.juneau.rest.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class PropertiesTest extends RestTestcase {
+
+ private static String URL = "/testProperties";
+
+
//====================================================================================================
+ // Properties defined on method.
+
//====================================================================================================
+ @Test
+ public void testPropertiesDefinedOnMethod() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+ String r = client.doGet(URL +
"/testPropertiesDefinedOnMethod").getResponseAsString();
+
assertTrue(r.matches("A1=a1,A2=c,B1=b1,B2=c,C=c,R1a=.*/testProperties/testPropertiesDefinedOnMethod,R1b=.*/testProperties,R2=bar,R3=baz,R4=a1,R5=c,R6=c"));
+ }
+
+
//====================================================================================================
+ // Make sure attributes/parameters/headers are available through
ctx.getProperties().
+
//====================================================================================================
+ @Test
+ public void testProperties() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+ String r = client.doGet(URL +
"/testProperties/a1?P=p1").header("H", "h1").getResponseAsString();
+ assertEquals("A=a1,P=p1,H=h1", r);
+ }
+}
Propchange:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/PropertiesTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/QueryTest.java
==============================================================================
---
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/QueryTest.java
(added)
+++
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/QueryTest.java
Fri Sep 8 23:21:12 2017
@@ -0,0 +1,60 @@
+//
***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance *
+// * with the License. You may obtain a copy of the License at
*
+// *
*
+// * http://www.apache.org/licenses/LICENSE-2.0
*
+// *
*
+// * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the *
+// * specific language governing permissions and limitations under the
License. *
+//
***************************************************************************************************************************
+package org.apache.juneau.rest.test;
+
+import static org.apache.juneau.rest.test.TestUtils.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+/**
+ * Tests client-side form posts.
+ */
+public class QueryTest extends RestTestcase {
+
+ private static String URL = "/testQuery";
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+
+
//====================================================================================================
+ // Default values.
+
//====================================================================================================
+
+ @Test
+ public void defaultQuery() throws Exception {
+ assertObjectEquals("{f1:'1',f2:'2',f3:'3'}", client.doGet(URL +
"/defaultQuery").getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/defaultQuery").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/defaultQuery").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ }
+
+ @Test
+ public void annotatedQuery() throws Exception {
+ assertObjectEquals("{f1:null,f2:null,f3:null}",
client.doGet(URL + "/annotatedQuery").getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/annotatedQuery").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/annotatedQuery").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ }
+
+ @Test
+ public void annotatedQueryDefault() throws Exception {
+ assertObjectEquals("{f1:'1',f2:'2',f3:'3'}", client.doGet(URL +
"/annotatedQueryDefault").getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/annotatedQueryDefault").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/annotatedQueryDefault").query("f1",4).query("f2",5).query("f3",6).getResponse(ObjectMap.class));
+ }
+
+ @Test
+ public void annotatedAndDefaultQuery() throws Exception {
+ assertObjectEquals("{f1:'4',f2:'5',f3:'6'}", client.doGet(URL +
"/annotatedAndDefaultQuery").getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'7',f2:'8',f3:'9'}", client.doGet(URL +
"/annotatedAndDefaultQuery").query("f1",7).query("f2",8).query("f3",9).getResponse(ObjectMap.class));
+ assertObjectEquals("{f1:'7',f2:'8',f3:'9'}", client.doGet(URL +
"/annotatedAndDefaultQuery").query("f1",7).query("f2",8).query("f3",9).getResponse(ObjectMap.class));
+ }
+}
Propchange:
release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/QueryTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain