Rename CT_* testcases. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/df0f8689 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/df0f8689 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/df0f8689
Branch: refs/heads/master Commit: df0f8689f2f10449c3025af2d31cd9775dec5c13 Parents: f24316e Author: James <[email protected]> Authored: Tue Aug 9 13:14:56 2016 -0400 Committer: James <[email protected]> Committed: Tue Aug 9 13:14:56 2016 -0400 ---------------------------------------------------------------------- .../server/samples/AddressBookResourceTest.java | 231 ++ .../server/samples/CT_AddressBookResource.java | 231 -- .../juneau/server/samples/CT_RootResources.java | 146 -- .../CT_SampleRemoteableServicesResource.java | 69 - .../samples/CT_TestMultiPartFormPosts.java | 47 - .../server/samples/RootResourcesTest.java | 146 ++ .../SampleRemoteableServicesResourceTest.java | 69 + .../samples/TestMultiPartFormPostsTest.java | 47 + .../apache/juneau/server/CT_JacocoDummy.java | 37 - .../org/apache/juneau/server/CT_RestUtils.java | 188 -- .../juneau/server/CT_TestAcceptCharset.java | 123 - .../server/CT_TestBeanContextProperties.java | 37 - .../juneau/server/CT_TestCallbackStrings.java | 50 - .../juneau/server/CT_TestCharsetEncodings.java | 96 - .../juneau/server/CT_TestClientVersion.java | 90 - .../org/apache/juneau/server/CT_TestConfig.java | 58 - .../apache/juneau/server/CT_TestContent.java | 706 ------ .../server/CT_TestDefaultContentTypes.java | 497 ---- .../juneau/server/CT_TestErrorConditions.java | 220 -- .../org/apache/juneau/server/CT_TestGroups.java | 122 - .../org/apache/juneau/server/CT_TestGzip.java | 344 --- .../juneau/server/CT_TestInheritance.java | 128 -- .../apache/juneau/server/CT_TestLargePojos.java | 83 - .../apache/juneau/server/CT_TestMessages.java | 47 - .../org/apache/juneau/server/CT_TestNls.java | 170 -- .../juneau/server/CT_TestNlsProperty.java | 48 - .../juneau/server/CT_TestNoParserInput.java | 70 - .../apache/juneau/server/CT_TestOnPostCall.java | 121 - .../apache/juneau/server/CT_TestOnPreCall.java | 61 - .../juneau/server/CT_TestOptionsWithoutNls.java | 51 - .../server/CT_TestOverlappingMethods.java | 170 -- .../org/apache/juneau/server/CT_TestParams.java | 716 ------ .../apache/juneau/server/CT_TestParsers.java | 162 -- .../org/apache/juneau/server/CT_TestPath.java | 44 - .../org/apache/juneau/server/CT_TestPaths.java | 1368 ----------- .../apache/juneau/server/CT_TestProperties.java | 48 - .../apache/juneau/server/CT_TestRestClient.java | 199 -- .../juneau/server/CT_TestSerializers.java | 152 -- .../juneau/server/CT_TestStaticFiles.java | 56 - .../apache/juneau/server/CT_TestTransforms.java | 68 - .../org/apache/juneau/server/CT_TestUris.java | 918 -------- .../apache/juneau/server/CT_TestUrlContent.java | 74 - .../apache/juneau/server/CT_UrlPathPattern.java | 39 - .../apache/juneau/server/JacocoDummyTest.java | 37 + .../org/apache/juneau/server/RestUtilsTest.java | 188 ++ .../juneau/server/TestAcceptCharsetTest.java | 123 + .../server/TestBeanContextPropertiesTest.java | 37 + .../juneau/server/TestCallbackStringsTest.java | 50 + .../juneau/server/TestCharsetEncodingsTest.java | 96 + .../juneau/server/TestClientVersionTest.java | 90 + .../apache/juneau/server/TestConfigTest.java | 58 + .../apache/juneau/server/TestContentTest.java | 706 ++++++ .../server/TestDefaultContentTypesTest.java | 497 ++++ .../juneau/server/TestErrorConditionsTest.java | 220 ++ .../apache/juneau/server/TestGroupsTest.java | 122 + .../org/apache/juneau/server/TestGzipTest.java | 344 +++ .../juneau/server/TestInheritanceTest.java | 128 ++ .../juneau/server/TestLargePojosTest.java | 83 + .../apache/juneau/server/TestMessagesTest.java | 47 + .../juneau/server/TestNlsPropertyTest.java | 48 + .../org/apache/juneau/server/TestNlsTest.java | 170 ++ .../juneau/server/TestNoParserInputTest.java | 70 + .../juneau/server/TestOnPostCallTest.java | 121 + .../apache/juneau/server/TestOnPreCallTest.java | 61 + .../server/TestOptionsWithoutNlsTest.java | 51 + .../server/TestOverlappingMethodsTest.java | 170 ++ .../apache/juneau/server/TestParamsTest.java | 716 ++++++ .../apache/juneau/server/TestParsersTest.java | 162 ++ .../org/apache/juneau/server/TestPathTest.java | 44 + .../org/apache/juneau/server/TestPathsTest.java | 1368 +++++++++++ .../juneau/server/TestPropertiesTest.java | 48 + .../juneau/server/TestRestClientTest.java | 199 ++ .../juneau/server/TestSerializersTest.java | 152 ++ .../juneau/server/TestStaticFilesTest.java | 56 + .../juneau/server/TestTransformsTest.java | 68 + .../org/apache/juneau/server/TestUrisTest.java | 918 ++++++++ .../juneau/server/TestUrlContentTest.java | 74 + .../juneau/server/UrlPathPatternTest.java | 39 + .../java/org/apache/juneau/AnnotationsTest.java | 82 + .../java/org/apache/juneau/BeanConfigTest.java | 849 +++++++ .../java/org/apache/juneau/BeanMapTest.java | 1920 ++++++++++++++++ .../org/apache/juneau/BeanTransformTest.java | 144 ++ .../java/org/apache/juneau/CT_Annotations.java | 82 - .../java/org/apache/juneau/CT_BeanConfig.java | 849 ------- .../test/java/org/apache/juneau/CT_BeanMap.java | 1920 ---------------- .../org/apache/juneau/CT_BeanTransform.java | 144 -- .../java/org/apache/juneau/CT_ClassMeta.java | 281 --- .../org/apache/juneau/CT_ContextFactory.java | 823 ------- .../apache/juneau/CT_DataConversionTest.java | 145 -- .../org/apache/juneau/CT_IgnoredClasses.java | 72 - .../java/org/apache/juneau/CT_JacocoDummy.java | 49 - .../java/org/apache/juneau/CT_ObjectList.java | 98 - .../java/org/apache/juneau/CT_ObjectMap.java | 313 --- .../org/apache/juneau/CT_ParserGenerics.java | 71 - .../java/org/apache/juneau/CT_ParserReader.java | 181 -- .../org/apache/juneau/CT_PojoTransform.java | 56 - .../apache/juneau/CT_PropertyNamerDashedLC.java | 39 - .../java/org/apache/juneau/CT_Visibility.java | 169 -- .../java/org/apache/juneau/ClassMetaTest.java | 281 +++ .../org/apache/juneau/ContextFactoryTest.java | 823 +++++++ .../org/apache/juneau/DataConversionTest.java | 145 ++ .../org/apache/juneau/IgnoredClassesTest.java | 72 + .../java/org/apache/juneau/JacocoDummyTest.java | 49 + .../java/org/apache/juneau/ObjectListTest.java | 98 + .../java/org/apache/juneau/ObjectMapTest.java | 313 +++ .../org/apache/juneau/ParserGenericsTest.java | 71 + .../org/apache/juneau/ParserReaderTest.java | 181 ++ .../org/apache/juneau/PojoTransformTest.java | 56 + .../juneau/PropertyNamerDashedLcTest.java | 39 + .../java/org/apache/juneau/VisibilityTest.java | 169 ++ .../a/rttests/CT_RoundTripAddClassAttrs.java | 349 --- .../a/rttests/CT_RoundTripBeanInheritance.java | 220 -- .../juneau/a/rttests/CT_RoundTripBeanMaps.java | 1012 -------- .../juneau/a/rttests/CT_RoundTripClasses.java | 53 - .../juneau/a/rttests/CT_RoundTripDTOs.java | 50 - .../juneau/a/rttests/CT_RoundTripEnum.java | 246 -- .../juneau/a/rttests/CT_RoundTripGenerics.java | 97 - .../a/rttests/CT_RoundTripLargeObjects.java | 193 -- .../juneau/a/rttests/CT_RoundTripMaps.java | 215 -- .../CT_RoundTripNumericConstructors.java | 54 - .../a/rttests/CT_RoundTripObjectsAsStrings.java | 272 --- .../CT_RoundTripObjectsWithSpecialMethods.java | 116 - .../CT_RoundTripPrimitiveObjectBeans.java | 197 -- .../a/rttests/CT_RoundTripPrimitivesBeans.java | 367 --- .../a/rttests/CT_RoundTripReadOnlyBeans.java | 100 - .../a/rttests/CT_RoundTripSimpleObjects.java | 750 ------ .../a/rttests/CT_RoundTripToObjectMaps.java | 78 - .../a/rttests/CT_RoundTripTransformBeans.java | 382 ---- .../a/rttests/CT_RoundTripTrimStrings.java | 98 - .../a/rttests/RoundTripAddClassAttrsTest.java | 349 +++ .../a/rttests/RoundTripBeanInheritanceTest.java | 220 ++ .../juneau/a/rttests/RoundTripBeanMapsTest.java | 1012 ++++++++ .../juneau/a/rttests/RoundTripClassesTest.java | 53 + .../juneau/a/rttests/RoundTripDTOsTest.java | 50 + .../juneau/a/rttests/RoundTripEnumTest.java | 246 ++ .../juneau/a/rttests/RoundTripGenericsTest.java | 97 + .../a/rttests/RoundTripLargeObjectsTest.java | 193 ++ .../juneau/a/rttests/RoundTripMapsTest.java | 215 ++ .../RoundTripNumericConstructorsTest.java | 54 + .../rttests/RoundTripObjectsAsStringsTest.java | 272 +++ .../RoundTripObjectsWithSpecialMethodsTest.java | 116 + .../RoundTripPrimitiveObjectBeansTest.java | 197 ++ .../a/rttests/RoundTripPrimitivesBeansTest.java | 367 +++ .../a/rttests/RoundTripReadOnlyBeansTest.java | 100 + .../a/rttests/RoundTripSimpleObjectsTest.java | 750 ++++++ .../a/rttests/RoundTripToObjectMapsTest.java | 78 + .../a/rttests/RoundTripTransformBeansTest.java | 382 ++++ .../a/rttests/RoundTripTrimStringsTest.java | 98 + .../test/java/org/apache/juneau/csv/CT_Csv.java | 50 - .../java/org/apache/juneau/csv/CsvTest.java | 50 + .../org/apache/juneau/dto/atom/AtomTest.java | 102 + .../org/apache/juneau/dto/atom/CT_Atom.java | 102 - .../apache/juneau/dto/cognos/CT_CognosXml.java | 106 - .../apache/juneau/dto/cognos/CognosXmlTest.java | 106 + .../juneau/dto/jsonschema/CT_JsonSchema.java | 103 - .../juneau/dto/jsonschema/JsonSchemaTest.java | 103 + .../java/org/apache/juneau/html/CT_Common.java | 564 ----- .../org/apache/juneau/html/CT_CommonParser.java | 162 -- .../java/org/apache/juneau/html/CT_Html.java | 389 ---- .../apache/juneau/html/CommonParserTest.java | 162 ++ .../java/org/apache/juneau/html/CommonTest.java | 564 +++++ .../java/org/apache/juneau/html/HtmlTest.java | 389 ++++ .../org/apache/juneau/ini/CT_ConfigFile.java | 2154 ------------------ .../org/apache/juneau/ini/CT_ConfigMgr.java | 204 -- .../org/apache/juneau/ini/ConfigFileTest.java | 2154 ++++++++++++++++++ .../org/apache/juneau/ini/ConfigMgrTest.java | 204 ++ .../apache/juneau/internal/CT_VersionRange.java | 68 - .../juneau/internal/VersionRangeTest.java | 68 + .../java/org/apache/juneau/jena/CT_Common.java | 513 ----- .../org/apache/juneau/jena/CT_CommonParser.java | 208 -- .../org/apache/juneau/jena/CT_CommonXml.java | 95 - .../java/org/apache/juneau/jena/CT_Rdf.java | 597 ----- .../org/apache/juneau/jena/CT_RdfParser.java | 149 -- .../apache/juneau/jena/CommonParserTest.java | 208 ++ .../java/org/apache/juneau/jena/CommonTest.java | 513 +++++ .../org/apache/juneau/jena/CommonXmlTest.java | 95 + .../org/apache/juneau/jena/RdfParserTest.java | 149 ++ .../java/org/apache/juneau/jena/RdfTest.java | 597 +++++ .../java/org/apache/juneau/json/CT_Common.java | 501 ---- .../org/apache/juneau/json/CT_CommonParser.java | 180 -- .../java/org/apache/juneau/json/CT_Json.java | 308 --- .../org/apache/juneau/json/CT_JsonParser.java | 331 --- .../org/apache/juneau/json/CT_JsonSchema.java | 44 - .../apache/juneau/json/CommonParserTest.java | 180 ++ .../java/org/apache/juneau/json/CommonTest.java | 501 ++++ .../org/apache/juneau/json/JsonParserTest.java | 331 +++ .../org/apache/juneau/json/JsonSchemaTest.java | 44 + .../java/org/apache/juneau/json/JsonTest.java | 308 +++ .../juneau/msgpack/CT_MsgPackSerialzier.java | 220 -- .../juneau/msgpack/MsgPackSerialzierTest.java | 220 ++ .../apache/juneau/transforms/BeanMapTest.java | 96 + .../juneau/transforms/BeanTransformTest.java | 204 ++ .../ByteArrayBase64TransformTest.java | 172 ++ .../apache/juneau/transforms/CT_BeanMap.java | 96 - .../juneau/transforms/CT_BeanTransform.java | 204 -- .../transforms/CT_ByteArrayBase64Transform.java | 172 -- .../juneau/transforms/CT_CalendarTransform.java | 696 ------ .../apache/juneau/transforms/CT_DateFilter.java | 170 -- .../transforms/CT_EnumerationTransform.java | 35 - .../juneau/transforms/CT_IteratorTransform.java | 37 - .../juneau/transforms/CT_ReaderFilter.java | 47 - .../transforms/CalendarTransformTest.java | 696 ++++++ .../juneau/transforms/DateFilterTest.java | 170 ++ .../transforms/EnumerationTransformTest.java | 35 + .../transforms/IteratorTransformTest.java | 37 + .../juneau/transforms/ReaderFilterTest.java | 47 + .../juneau/urlencoding/CT_CommonParser_Uon.java | 168 -- .../CT_CommonParser_UrlEncoding.java | 185 -- .../juneau/urlencoding/CT_Common_Uon.java | 450 ---- .../urlencoding/CT_Common_UrlEncoding.java | 442 ---- .../apache/juneau/urlencoding/CT_UonParser.java | 542 ----- .../juneau/urlencoding/CT_UonParserReader.java | 217 -- .../juneau/urlencoding/CT_UonSerializer.java | 460 ---- .../urlencoding/CT_UrlEncodingParser.java | 1000 -------- .../urlencoding/CT_UrlEncodingSerializer.java | 497 ---- .../urlencoding/CommonParser_UonTest.java | 168 ++ .../CommonParser_UrlEncodingTest.java | 185 ++ .../juneau/urlencoding/Common_UonTest.java | 450 ++++ .../urlencoding/Common_UrlEncodingTest.java | 442 ++++ .../juneau/urlencoding/UonParserReaderTest.java | 217 ++ .../juneau/urlencoding/UonParserTest.java | 542 +++++ .../juneau/urlencoding/UonSerializerTest.java | 460 ++++ .../urlencoding/UrlEncodingParserTest.java | 1000 ++++++++ .../urlencoding/UrlEncodingSerializerTest.java | 497 ++++ .../java/org/apache/juneau/utils/ArgsTest.java | 70 + .../org/apache/juneau/utils/ArrayUtilsTest.java | 160 ++ .../apache/juneau/utils/ByteArrayCacheTest.java | 60 + .../juneau/utils/ByteArrayInOutStreamTest.java | 34 + .../java/org/apache/juneau/utils/CT_Args.java | 70 - .../org/apache/juneau/utils/CT_ArrayUtils.java | 160 -- .../apache/juneau/utils/CT_ByteArrayCache.java | 60 - .../juneau/utils/CT_ByteArrayInOutStream.java | 34 - .../org/apache/juneau/utils/CT_CharSet.java | 34 - .../org/apache/juneau/utils/CT_ClassUtils.java | 114 - .../apache/juneau/utils/CT_CollectionUtils.java | 34 - .../org/apache/juneau/utils/CT_FilteredMap.java | 44 - .../java/org/apache/juneau/utils/CT_IOPipe.java | 282 --- .../org/apache/juneau/utils/CT_IOUtils.java | 103 - .../apache/juneau/utils/CT_IdentityList.java | 38 - .../apache/juneau/utils/CT_KeywordStore.java | 45 - .../apache/juneau/utils/CT_MultiIterable.java | 70 - .../org/apache/juneau/utils/CT_MultiSet.java | 143 -- .../apache/juneau/utils/CT_ParserReader.java | 48 - .../juneau/utils/CT_PojoIntrospector.java | 53 - .../org/apache/juneau/utils/CT_PojoQuery.java | 680 ------ .../org/apache/juneau/utils/CT_PojoRest.java | 852 ------- .../org/apache/juneau/utils/CT_SimpleMap.java | 48 - .../juneau/utils/CT_StringBuilderWriter.java | 59 - .../org/apache/juneau/utils/CT_StringUtils.java | 676 ------ .../juneau/utils/CT_StringVarResolver.java | 332 --- .../org/apache/juneau/utils/CharSetTest.java | 34 + .../org/apache/juneau/utils/ClassUtilsTest.java | 114 + .../juneau/utils/CollectionUtilsTest.java | 34 + .../apache/juneau/utils/FilteredMapTest.java | 44 + .../org/apache/juneau/utils/IOPipeTest.java | 282 +++ .../org/apache/juneau/utils/IOUtilsTest.java | 103 + .../apache/juneau/utils/IdentityListTest.java | 38 + .../apache/juneau/utils/KeywordStoreTest.java | 45 + .../apache/juneau/utils/MultiIterableTest.java | 70 + .../org/apache/juneau/utils/MultiSetTest.java | 143 ++ .../apache/juneau/utils/ParserReaderTest.java | 48 + .../juneau/utils/PojoIntrospectorTest.java | 53 + .../org/apache/juneau/utils/PojoQueryTest.java | 680 ++++++ .../org/apache/juneau/utils/PojoRestTest.java | 852 +++++++ .../org/apache/juneau/utils/SimpleMapTest.java | 48 + .../juneau/utils/StringBuilderWriterTest.java | 59 + .../apache/juneau/utils/StringUtilsTest.java | 676 ++++++ .../juneau/utils/StringVarResolverTest.java | 332 +++ .../java/org/apache/juneau/xml/CT_Common.java | 453 ---- .../org/apache/juneau/xml/CT_CommonParser.java | 179 -- .../org/apache/juneau/xml/CT_CommonXml.java | 81 - .../test/java/org/apache/juneau/xml/CT_Xml.java | 1050 --------- .../org/apache/juneau/xml/CT_XmlCollapsed.java | 459 ---- .../org/apache/juneau/xml/CT_XmlContent.java | 301 --- .../org/apache/juneau/xml/CT_XmlParser.java | 95 - .../org/apache/juneau/xml/CommonParserTest.java | 179 ++ .../java/org/apache/juneau/xml/CommonTest.java | 453 ++++ .../org/apache/juneau/xml/CommonXmlTest.java | 81 + .../org/apache/juneau/xml/XmlCollapsedTest.java | 459 ++++ .../org/apache/juneau/xml/XmlContentTest.java | 301 +++ .../org/apache/juneau/xml/XmlParserTest.java | 95 + .../java/org/apache/juneau/xml/XmlTest.java | 1050 +++++++++ 282 files changed, 37058 insertions(+), 37058 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java new file mode 100755 index 0000000..1287b56 --- /dev/null +++ b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java @@ -0,0 +1,231 @@ +/*************************************************************************************************************************** + * 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.samples; + +import static org.apache.juneau.server.samples.TestUtils.*; +import static org.junit.Assert.*; + +import java.util.*; + +import org.apache.juneau.*; +import org.apache.juneau.client.*; +import org.apache.juneau.html.*; +import org.apache.juneau.internal.*; +import org.apache.juneau.json.*; +import org.apache.juneau.samples.addressbook.*; +import org.apache.juneau.transforms.*; +import org.apache.juneau.xml.*; +import org.junit.*; + +@SuppressWarnings({"serial"}) +public class AddressBookResourceTest { + + private static boolean debug = false; + + static RestClient[] clients; + + @BeforeClass + public static void beforeClass() throws Exception { + clients = new RestClient[] { + new SamplesRestClient(JsonSerializer.class, JsonParser.class), + new SamplesRestClient(XmlSerializer.class, XmlParser.class), + new SamplesRestClient(HtmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped"), + new SamplesRestClient(XmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped") + }; + for (RestClient c : clients) { + c.getSerializer().addTransforms(CalendarTransform.Medium.class); + c.getParser().addTransforms(CalendarTransform.Medium.class); + c.getSerializer().setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); + } + } + + @AfterClass + public static void afterClass() { + for (RestClient c : clients) { + c.closeQuietly(); + } + } + + //==================================================================================================== + // Get AddressBookResource as JSON + //==================================================================================================== + @Test + public void testBasic() throws Exception { + String in = IOUtils.read(getClass().getResourceAsStream("/org/apache/juneau/server/test/AddressBookResource_test0Test.json")); + JsonParser p = new JsonParser().addTransforms(CalendarTransform.Medium.class); + Person person = p.parse(in, Person.class); + if (debug) System.err.println(person); + } + + // A list of People objects. + public static class PersonList extends LinkedList<Person> {} + + //==================================================================================================== + // PojoRest tests + //==================================================================================================== + @Test + public void testPojoRest() throws Exception { + for (RestClient client : clients) { + int rc; + Person p; + List<Person> people; + + // Reinitialize the resource + rc = client.doGet("/addressBook?method=init").run(); + assertEquals(200, rc); + + // Simple GETs + people = client.doGet("/addressBook/people").getResponse(PersonList.class); + assertEquals("Barack Obama", people.get(0).name); + assertEquals(76638, people.get(1).addresses.get(0).zip); + + // PUT a simple String field + p = people.get(0); + rc = client.doPut(p.uri+"/name", "foo").run(); + assertEquals(200, rc); + String name = client.doGet(p.uri+"/name").getResponse(String.class); + assertEquals("foo", name); + p = client.doGet(p.uri).getResponse(Person.class); + assertEquals("foo", p.name); + + // POST an address as JSON + CreateAddress ca = new CreateAddress("a1","b1","c1",1,false); + Address a = client.doPost(p.uri + "/addresses", new ObjectMap(BeanContext.DEFAULT.forBean(ca))).getResponse(Address.class); + assertEquals("a1", a.street); + a = client.doGet(a.uri).getResponse(Address.class); + assertEquals("a1", a.street); + assertEquals(1, a.zip); + assertFalse(a.isCurrent); + + // POST an address as a bean + ca = new CreateAddress("a2","b2","c2",2,true); + a = client.doPost(p.uri + "/addresses", ca).getResponse(Address.class); + assertEquals("a2", a.street); + a = client.doGet(a.uri).getResponse(Address.class); + assertEquals("a2", a.street); + assertEquals(2, a.zip); + assertTrue(a.isCurrent); + + // POST a person + CreatePerson billClinton = new CreatePerson("Bill Clinton", AddressBook.toCalendar("Aug 19, 1946"), + new CreateAddress("a3","b3","c3",3,false) + ); + rc = client.doPost("/addressBook/people", billClinton).run(); + assertEquals(200, rc); + people = client.doGet("/addressBook/people").getResponse(PersonList.class); + p = people.get(2); + assertEquals(3, people.size()); + assertEquals("Bill Clinton", p.name); + + // DELETE an address + rc = client.doDelete(p.addresses.get(0).uri).run(); + assertEquals(200, rc); + people = client.doGet("/addressBook/people").getResponse(PersonList.class); + p = people.get(2); + assertEquals(0, p.addresses.size()); + + // DELETE a person + rc = client.doDelete(p.uri).run(); + assertEquals(200, rc); + people = client.doGet("/addressBook/people").getResponse(PersonList.class); + assertEquals(2, people.size()); + + // Reinitialize the resource + rc = client.doGet("/addressBook?method=init").run(); + assertEquals(200, rc); + } + } + + //==================================================================================================== + // PojoQuery tests + //==================================================================================================== + @Test + public void testPojoQuery() throws Exception { + + for (RestClient client : clients) { + RestCall r; + List<Person> people; + + // Reinitialize the resource + int rc = client.doGet("/addressBook?method=init").run(); + assertEquals(200, rc); + + r = client.doGet("/addressBook/people?q=(name=B*)"); + people = r.getResponse(PersonList.class); + assertEquals(1, people.size()); + assertEquals("Barack Obama", people.get(0).name); + + r = client.doGet("/addressBook/people?q=(name='Barack+Obama')"); + people = r.getResponse(PersonList.class); + assertEquals(1, people.size()); + assertEquals("Barack Obama", people.get(0).name); + + r = client.doGet("/addressBook/people?q=(name='Barack%20Obama')"); + people = r.getResponse(PersonList.class); + assertEquals(1, people.size()); + assertEquals("Barack Obama", people.get(0).name); + + r = client.doGet("/addressBook/people?v=(name,birthDate)"); + people = r.getResponse(PersonList.class); + assertEquals("Barack Obama", people.get(0).name); + assertTrue(people.get(0).getAge() > 10); + assertEquals(0, people.get(0).addresses.size()); + + r = client.doGet("/addressBook/people?v=(addresses,birthDate)"); + people = r.getResponse(PersonList.class); + assertNull(people.get(0).name); + assertTrue(people.get(0).getAge() > 10); + assertEquals(2, people.get(0).addresses.size()); + + r = client.doGet("/addressBook/people?s=($o(age=d))"); + people = r.getResponse(PersonList.class); + assertTrue(people.get(0).getAge() > 10); + r = client.doGet("/addressBook/people?s=(age)"); + people = r.getResponse(PersonList.class); + assertTrue(people.get(0).getAge() > 10); + r = client.doGet("/addressBook/people?s=($o(age=a))"); + people = r.getResponse(PersonList.class); + assertTrue(people.get(0).getAge() > 10); + + r = client.doGet("/addressBook/people?p=1&l=1"); + people = r.getResponse(PersonList.class); + assertEquals(1, people.size()); + assertTrue(people.get(0).getAge() > 10); + } + } + + //==================================================================================================== + // PojoIntrospector tests + //==================================================================================================== + @Test + public void testPojoIntrospector() throws Exception { + + for (RestClient client : clients) { + + List<Person> people; + + // Reinitialize the resource + int rc = client.doGet("/addressBook?method=init").run(); + assertEquals(200, rc); + + // Simple GETs + people = client.doGet("/addressBook/people").getResponse(PersonList.class); + Person p = people.get(0); + int length = client.doGet(p.uri+"/name?invokeMethod=length").getResponse(Integer.class); + assertEquals(12, length); + + String[] tokens = client.doGet(p.uri+"/name?invokeMethod=split(java.lang.String,int)&invokeArgs=['a',3]").getResponse(String[].class); + assertObjectEquals("['B','r','ck Obama']", tokens); + } + } +} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_AddressBookResource.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_AddressBookResource.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_AddressBookResource.java deleted file mode 100755 index 1c086fb..0000000 --- a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_AddressBookResource.java +++ /dev/null @@ -1,231 +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.samples; - -import static org.apache.juneau.server.samples.TestUtils.*; -import static org.junit.Assert.*; - -import java.util.*; - -import org.apache.juneau.*; -import org.apache.juneau.client.*; -import org.apache.juneau.html.*; -import org.apache.juneau.internal.*; -import org.apache.juneau.json.*; -import org.apache.juneau.samples.addressbook.*; -import org.apache.juneau.transforms.*; -import org.apache.juneau.xml.*; -import org.junit.*; - -@SuppressWarnings({"serial"}) -public class CT_AddressBookResource { - - private static boolean debug = false; - - static RestClient[] clients; - - @BeforeClass - public static void beforeClass() throws Exception { - clients = new RestClient[] { - new SamplesRestClient(JsonSerializer.class, JsonParser.class), - new SamplesRestClient(XmlSerializer.class, XmlParser.class), - new SamplesRestClient(HtmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped"), - new SamplesRestClient(XmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped") - }; - for (RestClient c : clients) { - c.getSerializer().addTransforms(CalendarTransform.Medium.class); - c.getParser().addTransforms(CalendarTransform.Medium.class); - c.getSerializer().setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); - } - } - - @AfterClass - public static void afterClass() { - for (RestClient c : clients) { - c.closeQuietly(); - } - } - - //==================================================================================================== - // Get AddressBookResource as JSON - //==================================================================================================== - @Test - public void testBasic() throws Exception { - String in = IOUtils.read(getClass().getResourceAsStream("/org/apache/juneau/server/test/CT_AddressBookResource_test0.json")); - JsonParser p = new JsonParser().addTransforms(CalendarTransform.Medium.class); - Person person = p.parse(in, Person.class); - if (debug) System.err.println(person); - } - - // A list of People objects. - public static class PersonList extends LinkedList<Person> {} - - //==================================================================================================== - // PojoRest tests - //==================================================================================================== - @Test - public void testPojoRest() throws Exception { - for (RestClient client : clients) { - int rc; - Person p; - List<Person> people; - - // Reinitialize the resource - rc = client.doGet("/addressBook?method=init").run(); - assertEquals(200, rc); - - // Simple GETs - people = client.doGet("/addressBook/people").getResponse(PersonList.class); - assertEquals("Barack Obama", people.get(0).name); - assertEquals(76638, people.get(1).addresses.get(0).zip); - - // PUT a simple String field - p = people.get(0); - rc = client.doPut(p.uri+"/name", "foo").run(); - assertEquals(200, rc); - String name = client.doGet(p.uri+"/name").getResponse(String.class); - assertEquals("foo", name); - p = client.doGet(p.uri).getResponse(Person.class); - assertEquals("foo", p.name); - - // POST an address as JSON - CreateAddress ca = new CreateAddress("a1","b1","c1",1,false); - Address a = client.doPost(p.uri + "/addresses", new ObjectMap(BeanContext.DEFAULT.forBean(ca))).getResponse(Address.class); - assertEquals("a1", a.street); - a = client.doGet(a.uri).getResponse(Address.class); - assertEquals("a1", a.street); - assertEquals(1, a.zip); - assertFalse(a.isCurrent); - - // POST an address as a bean - ca = new CreateAddress("a2","b2","c2",2,true); - a = client.doPost(p.uri + "/addresses", ca).getResponse(Address.class); - assertEquals("a2", a.street); - a = client.doGet(a.uri).getResponse(Address.class); - assertEquals("a2", a.street); - assertEquals(2, a.zip); - assertTrue(a.isCurrent); - - // POST a person - CreatePerson billClinton = new CreatePerson("Bill Clinton", AddressBook.toCalendar("Aug 19, 1946"), - new CreateAddress("a3","b3","c3",3,false) - ); - rc = client.doPost("/addressBook/people", billClinton).run(); - assertEquals(200, rc); - people = client.doGet("/addressBook/people").getResponse(PersonList.class); - p = people.get(2); - assertEquals(3, people.size()); - assertEquals("Bill Clinton", p.name); - - // DELETE an address - rc = client.doDelete(p.addresses.get(0).uri).run(); - assertEquals(200, rc); - people = client.doGet("/addressBook/people").getResponse(PersonList.class); - p = people.get(2); - assertEquals(0, p.addresses.size()); - - // DELETE a person - rc = client.doDelete(p.uri).run(); - assertEquals(200, rc); - people = client.doGet("/addressBook/people").getResponse(PersonList.class); - assertEquals(2, people.size()); - - // Reinitialize the resource - rc = client.doGet("/addressBook?method=init").run(); - assertEquals(200, rc); - } - } - - //==================================================================================================== - // PojoQuery tests - //==================================================================================================== - @Test - public void testPojoQuery() throws Exception { - - for (RestClient client : clients) { - RestCall r; - List<Person> people; - - // Reinitialize the resource - int rc = client.doGet("/addressBook?method=init").run(); - assertEquals(200, rc); - - r = client.doGet("/addressBook/people?q=(name=B*)"); - people = r.getResponse(PersonList.class); - assertEquals(1, people.size()); - assertEquals("Barack Obama", people.get(0).name); - - r = client.doGet("/addressBook/people?q=(name='Barack+Obama')"); - people = r.getResponse(PersonList.class); - assertEquals(1, people.size()); - assertEquals("Barack Obama", people.get(0).name); - - r = client.doGet("/addressBook/people?q=(name='Barack%20Obama')"); - people = r.getResponse(PersonList.class); - assertEquals(1, people.size()); - assertEquals("Barack Obama", people.get(0).name); - - r = client.doGet("/addressBook/people?v=(name,birthDate)"); - people = r.getResponse(PersonList.class); - assertEquals("Barack Obama", people.get(0).name); - assertTrue(people.get(0).getAge() > 10); - assertEquals(0, people.get(0).addresses.size()); - - r = client.doGet("/addressBook/people?v=(addresses,birthDate)"); - people = r.getResponse(PersonList.class); - assertNull(people.get(0).name); - assertTrue(people.get(0).getAge() > 10); - assertEquals(2, people.get(0).addresses.size()); - - r = client.doGet("/addressBook/people?s=($o(age=d))"); - people = r.getResponse(PersonList.class); - assertTrue(people.get(0).getAge() > 10); - r = client.doGet("/addressBook/people?s=(age)"); - people = r.getResponse(PersonList.class); - assertTrue(people.get(0).getAge() > 10); - r = client.doGet("/addressBook/people?s=($o(age=a))"); - people = r.getResponse(PersonList.class); - assertTrue(people.get(0).getAge() > 10); - - r = client.doGet("/addressBook/people?p=1&l=1"); - people = r.getResponse(PersonList.class); - assertEquals(1, people.size()); - assertTrue(people.get(0).getAge() > 10); - } - } - - //==================================================================================================== - // PojoIntrospector tests - //==================================================================================================== - @Test - public void testPojoIntrospector() throws Exception { - - for (RestClient client : clients) { - - List<Person> people; - - // Reinitialize the resource - int rc = client.doGet("/addressBook?method=init").run(); - assertEquals(200, rc); - - // Simple GETs - people = client.doGet("/addressBook/people").getResponse(PersonList.class); - Person p = people.get(0); - int length = client.doGet(p.uri+"/name?invokeMethod=length").getResponse(Integer.class); - assertEquals(12, length); - - String[] tokens = client.doGet(p.uri+"/name?invokeMethod=split(java.lang.String,int)&invokeArgs=['a',3]").getResponse(String[].class); - assertObjectEquals("['B','r','ck Obama']", tokens); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_RootResources.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_RootResources.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_RootResources.java deleted file mode 100755 index a3fbc3e..0000000 --- a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_RootResources.java +++ /dev/null @@ -1,146 +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.samples; - -import static org.junit.Assert.*; - -import java.net.*; - -import org.apache.juneau.*; -import org.apache.juneau.client.*; -import org.apache.juneau.html.*; -import org.apache.juneau.json.*; -import org.apache.juneau.server.labels.*; -import org.apache.juneau.xml.*; -import org.junit.*; - -public class CT_RootResources { - - private static String path = URI.create(Constants.getSampleUrl()).getPath(); // /jazz/juneau/sample - private static boolean debug = false; - - private static RestClient jsonClient; - - @BeforeClass - public static void beforeClass() { - jsonClient = new SamplesRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); - } - - @AfterClass - public static void afterClass() { - jsonClient.closeQuietly(); - } - - //==================================================================================================== - // text/json - //==================================================================================================== - @Test - public void testJson() throws Exception { - RestClient client = new SamplesRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); - RestCall r = client.doGet(""); - ResourceDescription[] x = r.getResponse(ResourceDescription[].class); - assertEquals("helloWorld", x[0].getName().getName()); - assertEquals(path + "/helloWorld", x[0].getName().getHref()); - assertEquals("Hello World sample resource", x[0].getDescription()); - - r = jsonClient.doOptions(""); - ObjectMap x2 = r.getResponse(ObjectMap.class); - String s = x2.getString("description"); - if (debug) System.err.println(s); - assertTrue(s, s.startsWith("This is an example")); - - client.closeQuietly(); - } - - //==================================================================================================== - // text/xml - //==================================================================================================== - @Test - public void testXml() throws Exception { - RestClient client = new SamplesRestClient().setParser(XmlParser.DEFAULT); - RestCall r = client.doGet(""); - ResourceDescription[] x = r.getResponse(ResourceDescription[].class); - assertEquals("helloWorld", x[0].getName().getName()); - assertEquals(path + "/helloWorld", x[0].getName().getHref()); - assertEquals("Hello World sample resource", x[0].getDescription()); - - r = jsonClient.doOptions(""); - ObjectMap x2 = r.getResponse(ObjectMap.class); - String s = x2.getString("description"); - if (debug) System.err.println(s); - assertTrue(s, s.startsWith("This is an example")); - - client.closeQuietly(); - } - - //==================================================================================================== - // text/html+stripped - //==================================================================================================== - @Test - public void testHtmlStripped() throws Exception { - RestClient client = new SamplesRestClient().setParser(HtmlParser.DEFAULT).setAccept("text/html+stripped"); - RestCall r = client.doGet(""); - ResourceDescription[] x = r.getResponse(ResourceDescription[].class); - assertEquals("helloWorld", x[0].getName().getName()); - assertTrue(x[0].getName().getHref().endsWith("/helloWorld")); - assertEquals("Hello World sample resource", x[0].getDescription()); - - r = jsonClient.doOptions("").setHeader("Accept", "text/json"); - ObjectMap x2 = r.getResponse(ObjectMap.class); - String s = x2.getString("description"); - if (debug) System.err.println(s); - assertTrue(s, s.startsWith("This is an example")); - - client.closeQuietly(); - } - - //==================================================================================================== - // /htdoces/styles.css - //==================================================================================================== - @Test - public void testStyleSheet() throws Exception { - RestClient client = new SamplesRestClient().setAccept("text/css"); - RestCall r = client.doGet("/style.css"); - String css = r.getResponseAsString(); - if (debug) System.err.println(css); - assertTrue(css, css.indexOf("table {") != -1); - - client.closeQuietly(); - } - - //==================================================================================================== - // application/json+schema - //==================================================================================================== - @Test - public void testJsonSchema() throws Exception { - RestClient client = new SamplesRestClient().setParser(JsonParser.DEFAULT).setAccept("text/json+schema"); - RestCall r = client.doGet(""); - ObjectMap m = r.getResponse(ObjectMap.class); - if (debug) System.err.println(m); - assertEquals("org.apache.juneau.server.labels.ChildResourceDescriptions<org.apache.juneau.server.labels.ResourceDescription>", m.getString("description")); - assertEquals("org.apache.juneau.server.labels.ResourceDescription", m.getObjectMap("items").getString("description")); - - client.closeQuietly(); - } - - //==================================================================================================== - // OPTIONS page - //==================================================================================================== - @Test - public void testOptionsPage() throws Exception { - RestCall r = jsonClient.doOptions(""); - ResourceOptions o = r.getResponse(ResourceOptions.class); - if (debug) System.err.println(o); - assertEquals("This is an example of a router resource that is used to access other resources.", o.getDescription()); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_SampleRemoteableServicesResource.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_SampleRemoteableServicesResource.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_SampleRemoteableServicesResource.java deleted file mode 100755 index 561bfe6..0000000 --- a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_SampleRemoteableServicesResource.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.samples; - -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.json.*; -import org.apache.juneau.samples.addressbook.*; -import org.apache.juneau.transforms.*; -import org.apache.juneau.urlencoding.*; -import org.apache.juneau.xml.*; -import org.junit.*; - -public class CT_SampleRemoteableServicesResource { - - static RestClient[] clients; - - @BeforeClass - public static void beforeClass() throws Exception { - clients = new RestClient[] { - new SamplesRestClient(JsonSerializer.class, JsonParser.class), - new SamplesRestClient(XmlSerializer.class, XmlParser.class), -// TODO - broken? new TestRestClient(HtmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped"), - new SamplesRestClient(UonSerializer.class, UonParser.class), - }; - for (RestClient c : clients) { - c.addTransforms(CalendarTransform.Medium.class); - c.setRemoteableServletUri("/remoteable"); - c.setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); - } - } - - @AfterClass - public static void afterClass() { - for (RestClient c : clients) { - c.closeQuietly(); - } - } - - //==================================================================================================== - // Get AddressBookResource as JSON - //==================================================================================================== - @Test - public void testBasic() throws Exception { - for (RestClient client : clients) { - IAddressBook ab = client.getRemoteableProxy(IAddressBook.class); - Person p = ab.createPerson( - new CreatePerson("Test Person", - AddressBook.toCalendar("Aug 1, 1999"), - new CreateAddress("Test street", "Test city", "Test state", 12345, true)) - ); - assertEquals( - "{id:x,name:'Test Person',birthDate:'Aug 1, 1999',addresses:[{id:x,street:'Test street',city:'Test city',state:'Test state',zip:12345,isCurrent:true}],age:x}", - JsonSerializer.DEFAULT_LAX.toString(p).replaceAll("id:\\d+", "id:x").replaceAll("age:\\d+", "age:x")); - } - } - -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_TestMultiPartFormPosts.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_TestMultiPartFormPosts.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_TestMultiPartFormPosts.java deleted file mode 100755 index 168caca..0000000 --- a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/CT_TestMultiPartFormPosts.java +++ /dev/null @@ -1,47 +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.samples; - -import static org.junit.Assert.*; - -import java.io.*; - -import org.apache.http.*; -import org.apache.http.entity.mime.*; -import org.apache.juneau.client.*; -import org.apache.juneau.internal.*; -import org.apache.juneau.utils.*; -import org.junit.*; - -public class CT_TestMultiPartFormPosts { - - private static String URL = "/tempDir"; - boolean debug = false; - - //==================================================================================================== - // Test that RestClient can handle multi-part form posts. - //==================================================================================================== - @Test - public void testUpload() throws Exception { - RestClient client = new SamplesRestClient(); - File f = FileUtils.createTempFile("testMultiPartFormPosts.txt"); - IOPipe.create(new StringReader("test!"), new FileWriter(f)).closeOut().run(); - HttpEntity entity = MultipartEntityBuilder.create().addBinaryBody(f.getName(), f).build(); - client.doPost(URL + "/upload", entity); - - String downloaded = client.doGet(URL + '/' + f.getName() + "?method=VIEW").getResponseAsString(); - assertEquals("test!", downloaded); - - client.closeQuietly(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/RootResourcesTest.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/RootResourcesTest.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/RootResourcesTest.java new file mode 100755 index 0000000..6fe41cb --- /dev/null +++ b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/RootResourcesTest.java @@ -0,0 +1,146 @@ +/*************************************************************************************************************************** + * 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.samples; + +import static org.junit.Assert.*; + +import java.net.*; + +import org.apache.juneau.*; +import org.apache.juneau.client.*; +import org.apache.juneau.html.*; +import org.apache.juneau.json.*; +import org.apache.juneau.server.labels.*; +import org.apache.juneau.xml.*; +import org.junit.*; + +public class RootResourcesTest { + + private static String path = URI.create(Constants.getSampleUrl()).getPath(); // /jazz/juneau/sample + private static boolean debug = false; + + private static RestClient jsonClient; + + @BeforeClass + public static void beforeClass() { + jsonClient = new SamplesRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); + } + + @AfterClass + public static void afterClass() { + jsonClient.closeQuietly(); + } + + //==================================================================================================== + // text/json + //==================================================================================================== + @Test + public void testJson() throws Exception { + RestClient client = new SamplesRestClient(JsonSerializer.DEFAULT, JsonParser.DEFAULT); + RestCall r = client.doGet(""); + ResourceDescription[] x = r.getResponse(ResourceDescription[].class); + assertEquals("helloWorld", x[0].getName().getName()); + assertEquals(path + "/helloWorld", x[0].getName().getHref()); + assertEquals("Hello World sample resource", x[0].getDescription()); + + r = jsonClient.doOptions(""); + ObjectMap x2 = r.getResponse(ObjectMap.class); + String s = x2.getString("description"); + if (debug) System.err.println(s); + assertTrue(s, s.startsWith("This is an example")); + + client.closeQuietly(); + } + + //==================================================================================================== + // text/xml + //==================================================================================================== + @Test + public void testXml() throws Exception { + RestClient client = new SamplesRestClient().setParser(XmlParser.DEFAULT); + RestCall r = client.doGet(""); + ResourceDescription[] x = r.getResponse(ResourceDescription[].class); + assertEquals("helloWorld", x[0].getName().getName()); + assertEquals(path + "/helloWorld", x[0].getName().getHref()); + assertEquals("Hello World sample resource", x[0].getDescription()); + + r = jsonClient.doOptions(""); + ObjectMap x2 = r.getResponse(ObjectMap.class); + String s = x2.getString("description"); + if (debug) System.err.println(s); + assertTrue(s, s.startsWith("This is an example")); + + client.closeQuietly(); + } + + //==================================================================================================== + // text/html+stripped + //==================================================================================================== + @Test + public void testHtmlStripped() throws Exception { + RestClient client = new SamplesRestClient().setParser(HtmlParser.DEFAULT).setAccept("text/html+stripped"); + RestCall r = client.doGet(""); + ResourceDescription[] x = r.getResponse(ResourceDescription[].class); + assertEquals("helloWorld", x[0].getName().getName()); + assertTrue(x[0].getName().getHref().endsWith("/helloWorld")); + assertEquals("Hello World sample resource", x[0].getDescription()); + + r = jsonClient.doOptions("").setHeader("Accept", "text/json"); + ObjectMap x2 = r.getResponse(ObjectMap.class); + String s = x2.getString("description"); + if (debug) System.err.println(s); + assertTrue(s, s.startsWith("This is an example")); + + client.closeQuietly(); + } + + //==================================================================================================== + // /htdoces/styles.css + //==================================================================================================== + @Test + public void testStyleSheet() throws Exception { + RestClient client = new SamplesRestClient().setAccept("text/css"); + RestCall r = client.doGet("/style.css"); + String css = r.getResponseAsString(); + if (debug) System.err.println(css); + assertTrue(css, css.indexOf("table {") != -1); + + client.closeQuietly(); + } + + //==================================================================================================== + // application/json+schema + //==================================================================================================== + @Test + public void testJsonSchema() throws Exception { + RestClient client = new SamplesRestClient().setParser(JsonParser.DEFAULT).setAccept("text/json+schema"); + RestCall r = client.doGet(""); + ObjectMap m = r.getResponse(ObjectMap.class); + if (debug) System.err.println(m); + assertEquals("org.apache.juneau.server.labels.ChildResourceDescriptions<org.apache.juneau.server.labels.ResourceDescription>", m.getString("description")); + assertEquals("org.apache.juneau.server.labels.ResourceDescription", m.getObjectMap("items").getString("description")); + + client.closeQuietly(); + } + + //==================================================================================================== + // OPTIONS page + //==================================================================================================== + @Test + public void testOptionsPage() throws Exception { + RestCall r = jsonClient.doOptions(""); + ResourceOptions o = r.getResponse(ResourceOptions.class); + if (debug) System.err.println(o); + assertEquals("This is an example of a router resource that is used to access other resources.", o.getDescription()); + } +} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java new file mode 100755 index 0000000..3884195 --- /dev/null +++ b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java @@ -0,0 +1,69 @@ +/*************************************************************************************************************************** + * 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.samples; + +import static org.junit.Assert.*; + +import org.apache.juneau.client.*; +import org.apache.juneau.json.*; +import org.apache.juneau.samples.addressbook.*; +import org.apache.juneau.transforms.*; +import org.apache.juneau.urlencoding.*; +import org.apache.juneau.xml.*; +import org.junit.*; + +public class SampleRemoteableServicesResourceTest { + + static RestClient[] clients; + + @BeforeClass + public static void beforeClass() throws Exception { + clients = new RestClient[] { + new SamplesRestClient(JsonSerializer.class, JsonParser.class), + new SamplesRestClient(XmlSerializer.class, XmlParser.class), +// TODO - broken? new TestRestClient(HtmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped"), + new SamplesRestClient(UonSerializer.class, UonParser.class), + }; + for (RestClient c : clients) { + c.addTransforms(CalendarTransform.Medium.class); + c.setRemoteableServletUri("/remoteable"); + c.setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); + } + } + + @AfterClass + public static void afterClass() { + for (RestClient c : clients) { + c.closeQuietly(); + } + } + + //==================================================================================================== + // Get AddressBookResource as JSON + //==================================================================================================== + @Test + public void testBasic() throws Exception { + for (RestClient client : clients) { + IAddressBook ab = client.getRemoteableProxy(IAddressBook.class); + Person p = ab.createPerson( + new CreatePerson("Test Person", + AddressBook.toCalendar("Aug 1, 1999"), + new CreateAddress("Test street", "Test city", "Test state", 12345, true)) + ); + assertEquals( + "{id:x,name:'Test Person',birthDate:'Aug 1, 1999',addresses:[{id:x,street:'Test street',city:'Test city',state:'Test state',zip:12345,isCurrent:true}],age:x}", + JsonSerializer.DEFAULT_LAX.toString(p).replaceAll("id:\\d+", "id:x").replaceAll("age:\\d+", "age:x")); + } + } + +} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/TestMultiPartFormPostsTest.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/TestMultiPartFormPostsTest.java b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/TestMultiPartFormPostsTest.java new file mode 100755 index 0000000..236e56b --- /dev/null +++ b/org.apache.juneau.samples/src/test/java/org/apache/juneau/server/samples/TestMultiPartFormPostsTest.java @@ -0,0 +1,47 @@ +/*************************************************************************************************************************** + * 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.samples; + +import static org.junit.Assert.*; + +import java.io.*; + +import org.apache.http.*; +import org.apache.http.entity.mime.*; +import org.apache.juneau.client.*; +import org.apache.juneau.internal.*; +import org.apache.juneau.utils.*; +import org.junit.*; + +public class TestMultiPartFormPostsTest { + + private static String URL = "/tempDir"; + boolean debug = false; + + //==================================================================================================== + // Test that RestClient can handle multi-part form posts. + //==================================================================================================== + @Test + public void testUpload() throws Exception { + RestClient client = new SamplesRestClient(); + File f = FileUtils.createTempFile("testMultiPartFormPosts.txt"); + IOPipe.create(new StringReader("test!"), new FileWriter(f)).closeOut().run(); + HttpEntity entity = MultipartEntityBuilder.create().addBinaryBody(f.getName(), f).build(); + client.doPost(URL + "/upload", entity); + + String downloaded = client.doGet(URL + '/' + f.getName() + "?method=VIEW").getResponseAsString(); + assertEquals("test!", downloaded); + + client.closeQuietly(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_JacocoDummy.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_JacocoDummy.java b/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_JacocoDummy.java deleted file mode 100755 index 8c7ebf7..0000000 --- a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_JacocoDummy.java +++ /dev/null @@ -1,37 +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; - -import java.lang.reflect.*; - -import org.junit.*; - -public class CT_JacocoDummy { - - //==================================================================================================== - // Dummy code to add test coverage in Jacoco. - //==================================================================================================== - @Test - public void accessPrivateConstructorsOnStaticUtilityClasses() throws Exception { - - Class<?>[] classes = new Class[] { - RestUtils.class - }; - - for (Class<?> c : classes) { - Constructor<?> c1 = c.getDeclaredConstructor(); - c1.setAccessible(true); - c1.newInstance(); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_RestUtils.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_RestUtils.java b/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_RestUtils.java deleted file mode 100755 index e97ee08..0000000 --- a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_RestUtils.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; - -import static org.apache.juneau.server.RestUtils.*; -import static org.junit.Assert.*; - -import org.junit.*; - -public class CT_RestUtils { - - //==================================================================================================== - // 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/df0f8689/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestAcceptCharset.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestAcceptCharset.java b/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestAcceptCharset.java deleted file mode 100755 index 9162208..0000000 --- a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestAcceptCharset.java +++ /dev/null @@ -1,123 +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; - -import static javax.servlet.http.HttpServletResponse.*; -import static org.apache.juneau.server.TestUtils.*; -import static org.junit.Assert.*; - -import java.io.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.internal.*; -import org.junit.*; - -public class CT_TestAcceptCharset { - - boolean debug = false; - - //==================================================================================================== - // Test that Q-values are being resolved correctly. - //==================================================================================================== - @Test - public void testQValues() throws Exception { - RestClient client = new TestRestClient().setHeader("Accept", "text/plain"); - - check1(client, "utf-8", "utf-8"); - check1(client, "iso-8859-1", "iso-8859-1"); - check1(client, "bad,utf-8", "utf-8"); - check1(client, "utf-8,bad", "utf-8"); - check1(client, "bad;q=0.9,utf-8;q=0.1", "utf-8"); - check1(client, "bad;q=0.1,utf-8;q=0.9", "utf-8"); - check1(client, "utf-8,iso-8859-1", "utf-8"); - check1(client, "iso-8859-1,utf-8", "utf-8"); - check1(client, "utf-8;q=0.9,iso-8859-1;q=0.1", "utf-8"); - check1(client, "utf-8;q=0.1,iso-8859-1;q=0.9", "iso-8859-1"); - check1(client, "*", "utf-8"); - check1(client, "bad,iso-8859-1;q=0.5,*;q=0.1", "iso-8859-1"); - check1(client, "bad,iso-8859-1;q=0.1,*;q=0.5", "utf-8"); - - client.closeQuietly(); - } - - private void check1(RestClient client, String requestCharset, String responseCharset) throws Exception { - RestCall r; - InputStream is; - String url = "/testAcceptCharset/testQValues"; - r = client.doGet(url).setHeader("Accept-Charset", requestCharset).connect(); - assertTrue(r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase().contains(responseCharset)); - is = r.getInputStream(); - assertEquals("foo", IOUtils.read(new InputStreamReader(is, responseCharset))); - } - - //==================================================================================================== - // Validate various Accept-Charset variations. - //==================================================================================================== - @Test - public void testCharsetOnResponse() throws Exception { - RestClient client = new TestRestClient().setAccept("text/plain").setContentType("text/plain"); - String url = "/testAcceptCharset/testCharsetOnResponse"; - String r; - - r = client.doPut(url, new StringReader("")).getResponseAsString(); - assertEquals("utf-8/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Accept-Charset", "Shift_JIS").getResponseAsString(); - assertEquals("utf-8/shift_jis", r.toLowerCase()); - - try { - r = client.doPut(url+"?noTrace=true", new StringReader("")).setHeader("Accept-Charset", "BAD").getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, "No supported charsets in header 'Accept-Charset': 'BAD'"); - } - - r = client.doPut(url, new StringReader("")).setHeader("Accept-Charset", "UTF-8").getResponseAsString(); - assertEquals("utf-8/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Accept-Charset", "bad,iso-8859-1").getResponseAsString(); - assertEquals("utf-8/iso-8859-1", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Accept-Charset", "bad;q=0.9,iso-8859-1;q=0.1").getResponseAsString(); - assertEquals("utf-8/iso-8859-1", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Accept-Charset", "bad;q=0.1,iso-8859-1;q=0.9").getResponseAsString(); - assertEquals("utf-8/iso-8859-1", r.toLowerCase()); - - client.setHeader("Accept-Charset", "utf-8"); - - r = client.doPut(url, new StringReader("")).setHeader("Content-Type", "text/plain").getResponseAsString(); - assertEquals("utf-8/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Content-Type", "text/plain;charset=utf-8").getResponseAsString(); - assertEquals("utf-8/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Content-Type", "text/plain;charset=UTF-8").getResponseAsString(); - assertEquals("utf-8/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Content-Type", "text/plain;charset=iso-8859-1").getResponseAsString(); - assertEquals("iso-8859-1/utf-8", r.toLowerCase()); - - r = client.doPut(url, new StringReader("")).setHeader("Content-Type", "text/plain;charset=Shift_JIS").getResponseAsString(); - assertEquals("shift_jis/utf-8", r.toLowerCase()); - - try { - r = client.doPut(url + "?noTrace=true&Content-Type=text/plain;charset=BAD", new StringReader("")).getResponseAsString(); - fail("Exception expected"); - } catch (RestCallException e) { - checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported charset in header 'Content-Type': 'text/plain;charset=BAD'"); - } - - client.closeQuietly(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestBeanContextProperties.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestBeanContextProperties.java b/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestBeanContextProperties.java deleted file mode 100755 index 3358d26..0000000 --- a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestBeanContextProperties.java +++ /dev/null @@ -1,37 +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; - -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.apache.juneau.json.*; -import org.junit.*; - -public class CT_TestBeanContextProperties { - - boolean debug = false; - - //==================================================================================================== - // Validate that filters defined on class filter to underlying bean context. - //==================================================================================================== - @Test - public void testClassTransforms() throws Exception { - RestClient client = new TestRestClient(JsonSerializer.class, JsonParser.class); - String r; - r = client.doGet("/testBeanContext/testClassTransforms/2001-07-04T15:30:45Z?d2=2001-07-05T15:30:45Z").setHeader("X-D3", "2001-07-06T15:30:45Z").getResponseAsString(); - assertEquals("d1=2001-07-04T15:30:45Z,d2=2001-07-05T15:30:45Z,d3=2001-07-06T15:30:45Z", r); - - client.closeQuietly(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestCallbackStrings.java ---------------------------------------------------------------------- diff --git a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestCallbackStrings.java b/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestCallbackStrings.java deleted file mode 100755 index c1891d8..0000000 --- a/org.apache.juneau.server.test/src/test/java/org/apache/juneau/server/CT_TestCallbackStrings.java +++ /dev/null @@ -1,50 +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; - -import static org.junit.Assert.*; - -import org.apache.juneau.client.*; -import org.junit.*; - -public class CT_TestCallbackStrings { - - //==================================================================================================== - // Basic tests using &Content parameter - //==================================================================================================== - @Test - public void test() throws Exception { - RestClient c = new TestRestClient().setAccept("text/json+simple"); - String r; - - r = c.doCallback("GET /testCallback").getResponseAsString(); - assertEquals("{method:'GET',headers:{},content:''}", r); - - r = c.doCallback("GET /testCallback some sample content").getResponseAsString(); - assertEquals("{method:'GET',headers:{},content:'some sample content'}", r); - - r = c.doCallback("GET {Foo-X:123,Foo-Y:'abc'} /testCallback").getResponseAsString(); - assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:''}", r); - - r = c.doCallback("GET { Foo-X : 123, Foo-Y : 'abc' } /testCallback").getResponseAsString(); - assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:''}", r); - - r = c.doCallback("GET {Foo-X:123,Foo-Y:'abc'} /testCallback some sample content ").getResponseAsString(); - assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:'some sample content'}", r); - - r = c.doCallback("PUT {Foo-X:123,Foo-Y:'abc'} /testCallback some sample content ").getResponseAsString(); - assertEquals("{method:'PUT',headers:{'Foo-X':'123','Foo-Y':'abc'},content:'some sample content'}", r); - - c.closeQuietly(); - } -}
