http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/RestUtilsTest.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/RestUtilsTest.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/RestUtilsTest.java deleted file mode 100755 index a0dae9e..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/RestUtilsTest.java +++ /dev/null @@ -1,188 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import static org.apache.juneau.server.RestUtils.*; -import static org.junit.Assert.*; - -import org.junit.*; - -public class RestUtilsTest { - - //==================================================================================================== - // decode(String) - //==================================================================================================== - @Test - public void testDecode() throws Exception { - assertNull(decode(null)); - assertEquals("foo/bar baz bing", decode("foo%2Fbar+baz++bing")); - } - - //==================================================================================================== - // encode(String) - //==================================================================================================== - @Test - public void testEncode() throws Exception { - assertNull(encode(null)); - assertEquals("foo%2Fbar+baz++bing", encode("foo/bar baz bing")); - assertEquals("foobar", encode("foobar")); - assertEquals("+", encode(" ")); - assertEquals("%2F", encode("/")); - } - - //==================================================================================================== - // trimPathInfo(String,String) - //==================================================================================================== - @Test - public void testGetServletURI() throws Exception { - String e, sp, cp; - - e = "http://hostname"; - sp = ""; - cp = ""; - - for (String s : new String[]{ - "http://hostname", - "http://hostname/foo", - "http://hostname?foo", - "http://hostname/?foo"}) - assertEquals(e, trimPathInfo(new StringBuffer(s), cp, sp).toString()); - - for (String s : new String[]{ - "http:/hostname?foo"}) { - try { - trimPathInfo(new StringBuffer(s), cp, sp); - fail("Exception expected - " + s); - } catch (RuntimeException ex) {} - } - - - e = "http://hostname"; - sp = "/"; - cp = "/"; - - for (String s : new String[]{ - "http://hostname", - "http://hostname/foo", - "http://hostname?foo", - "http://hostname/?foo"}) - assertEquals(e, trimPathInfo(new StringBuffer(s), cp, sp).toString()); - - e = "http://hostname/foo"; - sp = "/foo"; - cp = "/"; - - for (String s : new String[]{ - "http://hostname/foo", - "http://hostname/foo/bar", - "http://hostname/foo?bar"}) - assertEquals(e, trimPathInfo(new StringBuffer(s), cp, sp).toString()); - - for (String s : new String[]{ - "http://hostname/foo2", - "http://hostname/fo2", - "http://hostname?foo", - "http://hostname/fo?bar", - "http:/hostname/foo"}) { - try { - trimPathInfo(new StringBuffer(s), cp, sp); - fail("Exception expected - " + s); - } catch (RuntimeException ex) {} - } - - e = "http://hostname/foo/bar"; - sp = "/foo/bar"; - cp = "/"; - - for (String s : new String[]{ - "http://hostname/foo/bar", - "http://hostname/foo/bar/baz", - "http://hostname/foo/bar?baz"}) - assertEquals(e, trimPathInfo(new StringBuffer(s), cp, sp).toString()); - - for (String s : new String[]{ - "http://hostname/foo2/bar", - "http://hostname/foo/bar2" - }) { - try { - trimPathInfo(new StringBuffer(s), cp, sp); - fail("Exception expected - " + s); - } catch (RuntimeException ex) {} - } - - e = "http://hostname/foo/bar"; - sp = "/bar"; - cp = "/foo"; - - for (String s : new String[]{ - "http://hostname/foo/bar", - "http://hostname/foo/bar/baz", - "http://hostname/foo/bar?baz"}) - assertEquals(e, trimPathInfo(new StringBuffer(s), cp, sp).toString()); - - for (String s : new String[]{ - "http://hostname/foo2/bar", - "http://hostname/foo/bar2" - }) { - try { - trimPathInfo(new StringBuffer(s), cp, sp); - fail("Exception expected - " + s); - } catch (RuntimeException ex) {} - } - } - - //==================================================================================================== - // trimSlashes(String) - //==================================================================================================== - @Test - public void testTrimSlashes() throws Exception { - assertNull(trimSlashes(null)); - assertEquals("", trimSlashes("")); - assertEquals("", trimSlashes("/")); - assertEquals("", trimSlashes("//")); - assertEquals("foo/bar", trimSlashes("foo/bar")); - assertEquals("foo/bar", trimSlashes("foo/bar//")); - assertEquals("foo/bar", trimSlashes("/foo/bar//")); - assertEquals("foo/bar", trimSlashes("//foo/bar//")); - } - - //==================================================================================================== - // trimTrailingSlashes(String) - //==================================================================================================== - @Test - public void testTrimTrailingSlashes() throws Exception { - assertNull(trimTrailingSlashes((String)null)); - assertEquals("", trimTrailingSlashes("")); - assertEquals("", trimTrailingSlashes("/")); - assertEquals("", trimTrailingSlashes("//")); - assertEquals("foo/bar", trimTrailingSlashes("foo/bar")); - assertEquals("foo/bar", trimTrailingSlashes("foo/bar//")); - assertEquals("/foo/bar", trimTrailingSlashes("/foo/bar//")); - assertEquals("//foo/bar", trimTrailingSlashes("//foo/bar//")); - } - - //==================================================================================================== - // trimTrailingSlashes(StringBuffer) - //==================================================================================================== - @Test - public void testTrimTrailingSlashes2() throws Exception { - assertNull(trimTrailingSlashes((StringBuffer)null)); - assertEquals("", trimTrailingSlashes(new StringBuffer("")).toString()); - assertEquals("", trimTrailingSlashes(new StringBuffer("/")).toString()); - assertEquals("", trimTrailingSlashes(new StringBuffer("//")).toString()); - assertEquals("foo/bar", trimTrailingSlashes(new StringBuffer("foo/bar")).toString()); - assertEquals("foo/bar", trimTrailingSlashes(new StringBuffer("foo/bar//")).toString()); - assertEquals("/foo/bar", trimTrailingSlashes(new StringBuffer("/foo/bar//")).toString()); - assertEquals("//foo/bar", trimTrailingSlashes(new StringBuffer("//foo/bar//")).toString()); - } -}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/SerializersTest.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/SerializersTest.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/SerializersTest.java deleted file mode 100755 index a8bba98..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/SerializersTest.java +++ /dev/null @@ -1,152 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import static javax.servlet.http.HttpServletResponse.*; -import static org.apache.juneau.server.test.TestUtils.*; -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.json.*; -import org.junit.*; - -public class SerializersTest { - - private static String URL = "/testSerializers"; - private static boolean debug = false; - private static RestClient client; - - @BeforeClass - public static void beforeClass() { - client = new TestRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); - } - - @AfterClass - public static void afterClass() { - client.closeQuietly(); - } - - //==================================================================================================== - // Serializer defined on class. - //==================================================================================================== - @Test - public void testSerializerOnClass() throws Exception { - String url = URL + "/testSerializerOnClass"; - - client.setAccept("text/a"); - String r = client.doGet(url).getResponseAsString(); - assertEquals("text/a - test1", r); - - try { - client.setAccept("text/b"); - client.doGet(url + "?noTrace=true").getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, - "Unsupported media-type in request header 'Accept': 'text/b'", - "Supported media-types: [text/a, "); - } - - client.setAccept("text/json"); - r = client.doGet(url).getResponseAsString(); - assertEquals("\"test1\"", r); - } - - //==================================================================================================== - // Serializer defined on method. - //==================================================================================================== - @Test - public void testSerializerOnMethod() throws Exception { - String url = URL + "/testSerializerOnMethod"; - - try { - client.setAccept("text/a"); - client.doGet(url + "?noTrace=true").getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, - "Unsupported media-type in request header 'Accept': 'text/a'", - "Supported media-types: [text/b]" - ); - } - - try { - client.setAccept("text/json"); - client.doGet(url + "?noTrace=true").getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, - "Unsupported media-type in request header 'Accept': 'text/json'", - "Supported media-types: [text/b]" - ); - } - } - - //==================================================================================================== - // Serializer overridden on method. - //==================================================================================================== - @Test - public void testSerializerOverriddenOnMethod() throws Exception { - String url = URL + "/testSerializerOverriddenOnMethod"; - - client.setAccept("text/a"); - String r = client.doGet(url).getResponseAsString(); - assertEquals("text/c - test3", r); - - client.setAccept("text/b"); - r = client.doGet(url).getResponseAsString(); - assertEquals("text/b - test3", r); - - client.setAccept("text/json"); - r = client.doGet(url).getResponseAsString(); - assertEquals("\"test3\"", r); - } - - //==================================================================================================== - // Serializer with different Accept than Content-Type. - //==================================================================================================== - @Test - public void testSerializerWithDifferentMediaTypes() throws Exception { - String url = URL + "/testSerializerWithDifferentMediaTypes"; - - client.setAccept("text/a"); - String r = client.doGet(url).getResponseAsString(); - assertEquals("text/d - test4", r); - - client.setAccept("text/d"); - r = client.doGet(url).getResponseAsString(); - assertEquals("text/d - test4", r); - - client.setAccept("text/json"); - r = client.doGet(url).getResponseAsString(); - assertEquals("\"test4\"", r); - } - - //==================================================================================================== - // Check for valid 406 error response. - //==================================================================================================== - @Test - public void test406() throws Exception { - String url = URL + "/test406"; - - try { - client.setAccept("text/bad"); - client.doGet(url + "?noTrace=true").getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, - "Unsupported media-type in request header 'Accept': 'text/bad'", - "Supported media-types: [text/a"); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/StaticFilesTest.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/StaticFilesTest.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/StaticFilesTest.java deleted file mode 100755 index 0a1449a..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/StaticFilesTest.java +++ /dev/null @@ -1,56 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.plaintext.*; -import org.junit.*; - -public class StaticFilesTest { - - private static String URL = "/testStaticFiles"; - - //==================================================================================================== - // Tests the @RestResource(staticFiles) annotation. - //==================================================================================================== - @Test - public void testXdocs() throws Exception { - RestClient client = new TestRestClient(PlainTextSerializer.class, PlainTextParser.class); - String r; - String url = URL + "/xdocs"; - - r = client.doGet(url + "/test.txt").getResponseAsString(); - assertTrue(r.endsWith("OK-1")); - r = client.doGet(url + "/xdocs/test.txt").getResponseAsString(); - assertTrue(r.endsWith("OK-2")); - - // For security reasons, paths containing ".." should always return 404. - try { - client.doGet(url + "/xdocs/../test.txt?noTrace=true").connect(); - fail("404 exception expected"); - } catch (RestCallException e) { - assertEquals(404, e.getResponseCode()); - } - - try { - client.doGet(url + "/xdocs/%2E%2E/test.txt?noTrace=true").connect(); - fail("404 exception expected"); - } catch (RestCallException e) { - assertEquals(404, e.getResponseCode()); - } - - client.closeQuietly(); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestRestClient.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestRestClient.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestRestClient.java deleted file mode 100755 index e7537d9..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestRestClient.java +++ /dev/null @@ -1,69 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import java.security.*; - -import javax.net.ssl.*; - -import org.apache.http.conn.ssl.*; -import org.apache.http.impl.client.*; -import org.apache.juneau.client.*; -import org.apache.juneau.parser.*; -import org.apache.juneau.serializer.*; - -/** - * REST client with lenient SSL support and lax redirection strategy. - */ -class TestRestClient extends RestClient { - - public TestRestClient(Class<? extends Serializer> s, Class<? extends Parser> p) throws InstantiationException { - super(s,p); - setRootUrl(Constants.getServerTestUrl()); - } - - public TestRestClient(Serializer s, Parser p) { - super(s,p); - setRootUrl(Constants.getServerTestUrl()); - } - - public TestRestClient() { - setRootUrl(Constants.getServerTestUrl()); - } - - public TestRestClient(CloseableHttpClient c) { - super(c); - setRootUrl(Constants.getServerTestUrl()); - } - - public static SSLConnectionSocketFactory getSSLSocketFactory() throws Exception { - SSLContext sslContext = SSLContext.getInstance("SSL"); - TrustManager tm = new SimpleX509TrustManager(true); - sslContext.init(null, new TrustManager[]{tm}, new SecureRandom()); - return new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier()); - } - - @Override /* RestClient */ - protected CloseableHttpClient createHttpClient() throws Exception { - try { - return HttpClients.custom().setSSLSocketFactory(getSSLSocketFactory()).setRedirectStrategy(new LaxRedirectStrategy()).build(); - } catch (KeyStoreException e) { - throw new RuntimeException(e); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException(e); - } catch (Throwable e) { - e.printStackTrace(); - return null; - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestUtils.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestUtils.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestUtils.java deleted file mode 100755 index 831fdc0..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TestUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import java.text.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.json.*; -import org.apache.juneau.serializer.*; -import org.apache.juneau.transforms.*; -import org.junit.Assert; - -import junit.framework.*; - -public class TestUtils { - - private static JsonSerializer js2 = new JsonSerializer.Simple() - .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class); - - /** - * Assert that the object equals the specified string after running it through JsonSerializer.DEFAULT_LAX.toString(). - */ - public static void assertObjectEquals(String s, Object o) { - assertObjectEquals(s, o, js2); - } - - /** - * Assert that the object equals the specified string after running it through ws.toString(). - */ - public static void assertObjectEquals(String s, Object o, WriterSerializer ws) { - Assert.assertEquals(s, ws.toString(o)); - } - - public static void checkErrorResponse(boolean debug, RestCallException e, int status, String...contains) throws AssertionFailedError { - String r = e.getResponseMessage(); - if (debug) { - System.err.println(r); - e.printStackTrace(); - } - if (status != e.getResponseCode()) - throw new AssertionFailedError(MessageFormat.format("Response status code was not correct. Expected: ''{0}''. Actual: ''{1}''", status, e.getResponseCode())); - for (String s : contains) { - if (r == null || ! r.contains(s)) { - if (! debug) - System.err.println(r); - throw new AssertionFailedError(MessageFormat.format("Response did not have the following expected text: ''{0}''", s)); - } - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/91a388d0/juneau-server-test/src/test/java/org/apache/juneau/server/test/TransformsTest.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TransformsTest.java b/juneau-server-test/src/test/java/org/apache/juneau/server/test/TransformsTest.java deleted file mode 100755 index cdb1b5d..0000000 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/test/TransformsTest.java +++ /dev/null @@ -1,68 +0,0 @@ -// *************************************************************************************************************************** -// * 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.server.test; - -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.json.*; -import org.junit.*; - -public class TransformsTest { - - private static String URL = "/testTransforms"; - - //==================================================================================================== - // test1 - Test class transform overrides parent class transform - // Should return "A2-1". - //==================================================================================================== - @Test - public void testClassTransformOverridesParentClassTransform() throws Exception { - RestClient client = new TestRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); - String r; - String url = URL + "/testClassTransformOverridesParentClassTransform"; - - r = client.doGet(url).getResponse(String.class); - assertEquals("A2-0", r); - - r = client.doPut(url, "A2-1").getResponse(String.class); - assertEquals("A2-1", r); - - r = client.doPut(url + "/A2-2", "").getResponse(String.class); - assertEquals("A2-2", r); - - client.closeQuietly(); - } - - //==================================================================================================== - // Test method transform overrides class transform - // Should return "A3-1". - //==================================================================================================== - @Test - public void testMethodTransformOverridesClassTransform() throws Exception { - RestClient client = new TestRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); - String r; - String url = URL + "/testMethodTransformOverridesClassTransform"; - - r = client.doGet(url).getResponse(String.class); - assertEquals("A3-0", r); - - r = client.doPut(url, "A3-1").getResponse(String.class); - assertEquals("A3-1", r); - - r = client.doPut(url + "/A3-2", "").getResponse(String.class); - assertEquals("A3-2", r); - - client.closeQuietly(); - } -}
