Repository: olingo-odata4 Updated Branches: refs/heads/master cf04fdcb4 -> c37d40f15
[OLINGO-1191]Code Improvements Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/f564c4a1 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/f564c4a1 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/f564c4a1 Branch: refs/heads/master Commit: f564c4a187fe226e5ff98accba3e4683cf1f28f0 Parents: cf04fdc Author: Archana Rai <[email protected]> Authored: Mon Nov 19 14:33:33 2018 +0530 Committer: Archana Rai <[email protected]> Committed: Mon Nov 19 14:33:33 2018 +0530 ---------------------------------------------------------------------- .../olingo/client/core/EntitySetTest.java | 12 +++ .../apache/olingo/client/core/ErrorTest.java | 13 +++ .../olingo/client/core/ODataClientTest.java | 91 ++++++++++++++++++++ .../server/api/TranslatedExceptionsTest.java | 16 ++++ .../olingo/server/core/ExceptionHelperTest.java | 34 ++++++++ .../olingo/server/core/ODataImplTest.java | 10 ++- .../core/deserializer/batch/HeaderTest.java | 7 ++ .../server/core/ODataHandlerImplTest.java | 24 ++++++ 8 files changed, 206 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/client-core/src/test/java/org/apache/olingo/client/core/EntitySetTest.java ---------------------------------------------------------------------- diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/EntitySetTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/EntitySetTest.java index 6ea256b..6b89475 100644 --- a/lib/client-core/src/test/java/org/apache/olingo/client/core/EntitySetTest.java +++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/EntitySetTest.java @@ -141,6 +141,18 @@ private EdmEnabledODataClient getEdmEnabledClient1() { } @Test + public void testClientEntitySet() throws Exception { + final EdmEnabledODataClientImpl client = new EdmEnabledODataClientImpl(null, + getEdmEnabledClient1().getCachedEdm(), null); + assertNotNull(client); + assertNull(client.getServiceRoot()); + client.newURIBuilder(); + assertNotNull(client.getCachedEdm()); + assertNotNull(client.getEdm(null)); + assertNotNull(client.getInvokeRequestFactory()); + } + + @Test public void testContainmentNavOnSingleton() throws Exception { final InputStream input = getClass().getResourceAsStream("containmentNav4." + getSuffix(ContentType.JSON_FULL_METADATA)); http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/client-core/src/test/java/org/apache/olingo/client/core/ErrorTest.java ---------------------------------------------------------------------- diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/ErrorTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/ErrorTest.java index f2e9af7..ebea132 100644 --- a/lib/client-core/src/test/java/org/apache/olingo/client/core/ErrorTest.java +++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/ErrorTest.java @@ -36,6 +36,7 @@ import org.apache.olingo.client.api.serialization.ODataDeserializerException; import org.apache.olingo.client.core.communication.header.ODataErrorResponseChecker; import org.apache.olingo.commons.api.ex.ODataError; import org.apache.olingo.commons.api.ex.ODataErrorDetail; +import org.apache.olingo.commons.api.ex.ODataRuntimeException; import org.apache.olingo.commons.api.format.ContentType; import org.junit.Test; @@ -113,4 +114,16 @@ public class ErrorTest extends AbstractTest { checkResponse(odataClient, statusLine, entity, "Json"); assertTrue(exp.getMessage().startsWith("Internal Server Error")); } + + @Test + public void testWithNull() throws Exception { + ODataClient odataClient = ODataClientFactory.getClient(); + StatusLine statusLine = mock(StatusLine.class); + when(statusLine.getStatusCode()).thenReturn(500); + when(statusLine.toString()).thenReturn("Internal Server Error"); + + ODataRuntimeException exp = ODataErrorResponseChecker. + checkResponse(odataClient, statusLine, null, "Json"); + assertTrue(exp.getMessage().startsWith("Internal Server Error")); + } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/client-core/src/test/java/org/apache/olingo/client/core/ODataClientTest.java ---------------------------------------------------------------------- diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/ODataClientTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/ODataClientTest.java index eaca8b5..f764463 100644 --- a/lib/client-core/src/test/java/org/apache/olingo/client/core/ODataClientTest.java +++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/ODataClientTest.java @@ -20,9 +20,12 @@ package org.apache.olingo.client.core; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import org.apache.olingo.client.api.ODataClient; +import org.apache.olingo.client.api.uri.SearchFactory; import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion; +import org.apache.olingo.commons.api.format.ContentType; import org.junit.Test; public class ODataClientTest { @@ -33,4 +36,92 @@ public class ODataClientTest { assertNotNull(client); assertEquals(ODataServiceVersion.V40, client.getServiceVersion()); } + + @Test + public void clientImplTest() { + ODataClientImpl client = (ODataClientImpl) ODataClientFactory.getClient(); + assertNotNull(client); + assertNotNull(client.newPreferences()); + assertNotNull(client.getAsyncRequestFactory()); + assertNotNull(client.getRetrieveRequestFactory()); + assertNotNull(client.getCUDRequestFactory()); + assertNotNull(client.getInvokeRequestFactory()); + assertNotNull(client.getBatchRequestFactory()); + assertEquals(ODataServiceVersion.V40, client.getServiceVersion()); + } + + @Test + public void clientFactoryTest() { + assertNotNull(ODataClientFactory.getClient()); + assertNotNull(ODataClientFactory.getEdmEnabledClient(null)); + assertNotNull(ODataClientFactory.getEdmEnabledClient(null, null)); + assertNotNull(ODataClientFactory.getEdmEnabledClient(null, null, null)); + assertNotNull(ODataClientFactory.getEdmEnabledClient(null, null, null, null)); + } + + @Test + public void searchTest() { + ODataClient client = ODataClientFactory.getClient(); + assertNotNull(client); + SearchFactory searchFactory = client.getSearchFactory(); + assertNotNull(searchFactory); + LiteralSearch literal = (LiteralSearch) searchFactory.literal("test"); + assertNotNull(literal); + assertEquals("test", literal.build()); + AndSearch and = (AndSearch) searchFactory.and(literal, literal); + assertNotNull(and); + assertEquals("(test AND test)", and.build()); + OrSearch or = (OrSearch) searchFactory.or(literal, literal); + assertNotNull(or); + assertEquals("(test OR test)", or.build()); + NotSearch not = (NotSearch) searchFactory.not(literal); + assertNotNull(not); + assertEquals("NOT (test)", not.build()); + } + + @Test + public void configurationTest() { + ODataClient client = ODataClientFactory.getClient(); + assertNotNull(client); + ConfigurationImpl config = (ConfigurationImpl) client.getConfiguration(); + assertNotNull(config); + assertNotNull(config.getDefaultBatchAcceptFormat()); + assertNotNull(config.getDefaultFormat()); + assertNotNull(config.getDefaultMediaFormat()); + assertNotNull(config.getDefaultPubFormat()); + assertNotNull(config.getDefaultValueFormat()); + assertNotNull(config.getExecutor()); + assertNotNull(config.getHttpClientFactory()); + assertNotNull(config.getHttpUriRequestFactory()); + config.setAddressingDerivedTypes(true); + assertEquals(true, config.isAddressingDerivedTypes()); + config.setContinueOnError(true); + assertEquals(true, config.isContinueOnError()); + config.setGzipCompression(true); + assertEquals(true, config.isGzipCompression()); + config.setKeyAsSegment(true); + assertEquals(true, config.isKeyAsSegment()); + config.setUseChuncked(true); + assertEquals(true, config.isUseChuncked()); + config.setUseUrlOperationFQN(true); + assertEquals(true, config.isUseUrlOperationFQN()); + config.setUseXHTTPMethod(true); + assertEquals(true, config.isUseXHTTPMethod()); + config.setDefaultBatchAcceptFormat(ContentType.APPLICATION_ATOM_SVC); + assertEquals(ContentType.APPLICATION_ATOM_SVC, config.getDefaultBatchAcceptFormat()); + config.setDefaultMediaFormat(ContentType.APPLICATION_ATOM_SVC); + assertEquals(ContentType.APPLICATION_ATOM_SVC, config.getDefaultMediaFormat()); + config.setDefaultPubFormat(ContentType.APPLICATION_ATOM_SVC); + assertEquals(ContentType.APPLICATION_ATOM_SVC, config.getDefaultPubFormat()); + config.setDefaultValueFormat(ContentType.APPLICATION_ATOM_SVC); + assertEquals(ContentType.APPLICATION_ATOM_SVC, config.getDefaultValueFormat()); + config.setExecutor(null); + assertNull(config.getExecutor()); + config.setHttpClientFactory(null); + assertNull(config.getHttpClientFactory()); + config.setHttpUriRequestFactory(null); + assertNull(config.getHttpUriRequestFactory()); + config.setProperty("key", "value"); + assertEquals("value", config.getProperty("key", "value")); + } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/server-api/src/test/java/org/apache/olingo/server/api/TranslatedExceptionsTest.java ---------------------------------------------------------------------- diff --git a/lib/server-api/src/test/java/org/apache/olingo/server/api/TranslatedExceptionsTest.java b/lib/server-api/src/test/java/org/apache/olingo/server/api/TranslatedExceptionsTest.java index 7ec1f47..984ca65 100644 --- a/lib/server-api/src/test/java/org/apache/olingo/server/api/TranslatedExceptionsTest.java +++ b/lib/server-api/src/test/java/org/apache/olingo/server/api/TranslatedExceptionsTest.java @@ -25,6 +25,8 @@ import static org.junit.Assert.assertThat; import java.util.Locale; +import javax.management.RuntimeErrorException; + import org.apache.olingo.server.api.ODataLibraryException.ODataErrorMessage; import org.junit.Test; @@ -159,4 +161,18 @@ public class TranslatedExceptionsTest { assertEquals(expectedText, translatedMessage.getMessage()); assertEquals(expectedLocale, translatedMessage.getLocale()); } + + @Test + public void testODataApplicationException1() { + ODataApplicationException exp = new ODataApplicationException("Exception", 500, + Locale.ENGLISH, new RuntimeException("Error")); + assertNotNull(exp); + } + + @Test + public void testODataApplicationException2() { + ODataApplicationException exp = new ODataApplicationException("Exception", + 500, Locale.ENGLISH, new RuntimeException("Error"), "500"); + assertNotNull(exp); + } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java index 10d29ac..7e6e593 100644 --- a/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java +++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/ExceptionHelperTest.java @@ -21,6 +21,8 @@ package org.apache.olingo.server.core; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; +import java.util.Locale; + import org.apache.olingo.commons.api.http.HttpStatusCode; import org.apache.olingo.server.api.ODataLibraryException; import org.apache.olingo.server.api.ODataLibraryException.MessageKey; @@ -28,6 +30,8 @@ import org.apache.olingo.server.api.ODataServerError; import org.apache.olingo.server.api.deserializer.DeserializerException; import org.apache.olingo.server.api.etag.PreconditionException; import org.apache.olingo.server.api.serializer.SerializerException; +import org.apache.olingo.server.core.uri.parser.UriParserException; +import org.apache.olingo.server.core.uri.parser.UriParserSemanticException; import org.apache.olingo.server.core.uri.validator.UriValidationException; import org.junit.Test; @@ -133,6 +137,36 @@ public class ExceptionHelperTest { } } + @Test + public void withNotImplementedException() { + final UriParserSemanticException e = new UriParserSemanticException("Exception", + UriParserSemanticException.MessageKeys.NOT_IMPLEMENTED, "Method"); + ODataServerError serverError = ODataExceptionHelper.createServerErrorObject(e, Locale.ENGLISH); + assertEquals(HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), serverError.getStatusCode()); + assertEquals("'Method' is not implemented!", serverError.getMessage()); + assertEquals(e, serverError.getException()); + } + + @Test + public void uriParserException() { + final UriParserException e = new UriParserSemanticException("Exception", + UriParserSemanticException.MessageKeys.NOT_IMPLEMENTED, "Method"); + ODataServerError serverError = ODataExceptionHelper.createServerErrorObject(e, Locale.ENGLISH); + assertEquals(HttpStatusCode.BAD_REQUEST.getStatusCode(), serverError.getStatusCode()); + assertEquals("'Method' is not implemented!", serverError.getMessage()); + assertEquals(e, serverError.getException()); + } + + @Test + public void acceptHeaderException() { + final AcceptHeaderContentNegotiatorException e = new AcceptHeaderContentNegotiatorException ("Exception", + UriParserSemanticException.MessageKeys.INVALID_KEY_VALUE, "Method"); + ODataServerError serverError = ODataExceptionHelper.createServerErrorObject(e, Locale.ENGLISH); + assertEquals(HttpStatusCode.BAD_REQUEST.getStatusCode(), serverError.getStatusCode()); + assertEquals("Missing message for key 'INVALID_KEY_VALUE'!", serverError.getMessage()); + assertEquals(e, serverError.getException()); + } + private void checkStatusCode(final ODataServerError serverError, final HttpStatusCode statusCode, final ODataLibraryException exception) { assertEquals("FailedKey: " + exception.getMessageKey().getKey(), http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataImplTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataImplTest.java index e0875e7..df8d685 100644 --- a/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataImplTest.java +++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataImplTest.java @@ -20,6 +20,9 @@ package org.apache.olingo.server.core; import static org.junit.Assert.assertNotNull; +import java.util.ArrayList; +import java.util.List; + import org.apache.olingo.commons.api.format.ContentType; import org.apache.olingo.server.api.OData; import org.apache.olingo.server.api.deserializer.DeserializerException; @@ -36,7 +39,9 @@ public class ODataImplTest { assertNotNull(odata.createSerializer(ContentType.JSON)); assertNotNull(odata.createSerializer(ContentType.APPLICATION_JSON)); assertNotNull(odata.createSerializer(ContentType.JSON_FULL_METADATA)); - + List<String> versions = new ArrayList<String>(); + versions.add("4.01"); + assertNotNull(odata.createSerializer(ContentType.JSON_FULL_METADATA, versions)); } @Test @@ -45,6 +50,9 @@ public class ODataImplTest { assertNotNull(odata.createDeserializer(ContentType.JSON)); assertNotNull(odata.createDeserializer(ContentType.JSON_FULL_METADATA)); assertNotNull(odata.createDeserializer(ContentType.APPLICATION_JSON)); + List<String> versions = new ArrayList<String>(); + versions.add("4.01"); + assertNotNull(odata.createDeserializer(ContentType.APPLICATION_JSON, versions)); } public void xmlDeserializer() throws DeserializerException { http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/server-core/src/test/java/org/apache/olingo/server/core/deserializer/batch/HeaderTest.java ---------------------------------------------------------------------- diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/deserializer/batch/HeaderTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/deserializer/batch/HeaderTest.java index ddbdb36..adecc50 100644 --- a/lib/server-core/src/test/java/org/apache/olingo/server/core/deserializer/batch/HeaderTest.java +++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/deserializer/batch/HeaderTest.java @@ -19,6 +19,7 @@ package org.apache.olingo.server.core.deserializer.batch; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -176,4 +177,10 @@ public class HeaderTest { assertEquals("99", splittedValues.get(4)); assertEquals("ysd", splittedValues.get(5)); } + + @Test + public void testHashCode() { + HeaderField header = new HeaderField("filed", 0); + assertNotNull(header.hashCode()); + } } http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f564c4a1/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerImplTest.java ---------------------------------------------------------------------- diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerImplTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerImplTest.java index 8e457b1..9d5fdd8 100644 --- a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerImplTest.java +++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerImplTest.java @@ -84,6 +84,7 @@ import org.apache.olingo.server.api.processor.ReferenceProcessor; import org.apache.olingo.server.api.processor.ServiceDocumentProcessor; import org.apache.olingo.server.api.uri.UriInfo; import org.apache.olingo.server.core.debug.ServerCoreDebugger; +import org.apache.olingo.server.tecsvc.processor.TechnicalActionProcessor; import org.apache.olingo.server.tecsvc.provider.ContainerProvider; import org.apache.olingo.server.tecsvc.provider.EdmTechProvider; import org.junit.Test; @@ -376,6 +377,29 @@ public class ODataHandlerImplTest { assertNotNull(response); assertEquals(HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatusCode()); } + + @Test + public void handlerExtTest() throws Exception { + final OData odata = OData.newInstance(); + final ServiceMetadata serviceMetadata = odata.createServiceMetadata( + new CsdlAbstractEdmProvider() { + @Override + public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName) + throws ODataException { + throw new ODataException("msg"); + } + }, + Collections.<EdmxReference> emptyList()); + + ODataRequest request = new ODataRequest(); + request.setMethod(HttpMethod.GET); + request.setRawODataPath("EdmException"); + ODataHandlerImpl handler = new ODataHandlerImpl(odata, serviceMetadata, new ServerCoreDebugger(odata)); + Processor extension = new TechnicalActionProcessor(null, serviceMetadata); + handler.register(extension); + assertNull(handler.getLastThrownException()); + assertNull(handler.getUriInfo()); + } @Test public void dispatchBatch() throws Exception {
