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 {

Reply via email to