[OLINGO-704] Test added

Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/9d4cf6ad
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/9d4cf6ad
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/9d4cf6ad

Branch: refs/heads/olingo712
Commit: 9d4cf6ad4c95b0ef7e3b97f590f39ee7d1776dd0
Parents: 91d0427
Author: Christian Holzer <[email protected]>
Authored: Fri Jun 19 16:26:25 2015 +0200
Committer: Christian Holzer <[email protected]>
Committed: Fri Jun 19 16:28:26 2015 +0200

----------------------------------------------------------------------
 .../olingo/fit/tecsvc/client/BasicITCase.java   | 37 ++++++++++++++++++++
 1 file changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9d4cf6ad/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
----------------------------------------------------------------------
diff --git 
a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java 
b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
index ae25894..2073df4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/BasicITCase.java
@@ -1105,6 +1105,43 @@ public class BasicITCase extends AbstractBaseTestITCase {
   }
   
   @Test
+  public void updateComplexPropertyWithIEEE754CompatibleParamter() {
+    final ODataClient client = 
ODataClientFactory.getEdmEnabledClient(SERVICE_URI);
+    client.getConfiguration().setDefaultPubFormat(ContentType.JSON);
+    final ClientObjectFactory of = client.getObjectFactory();
+    final URI uri = 
client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV)
+                                                     .appendKeySegment(1)
+                                                     
.appendPropertySegment(PROPERTY_COMP_ALL_PRIM).build();
+    
+    final ODataPropertyUpdateRequest requestUpdate = 
client.getCUDRequestFactory()
+        .getPropertyComplexValueUpdateRequest(uri, UpdateType.PATCH,
+            of.newComplexProperty(PROPERTY_COMP_ALL_PRIM,
+                of.newComplexValue("CTAllPrim")
+                    .add(of.newPrimitiveProperty(PROPERTY_INT64,
+                        
of.newPrimitiveValueBuilder().buildInt64(Long.MIN_VALUE)))
+                    .add(of.newPrimitiveProperty(PROPERTY_DECIMAL,
+                        
of.newPrimitiveValueBuilder().buildDecimal(BigDecimal.valueOf(12345678912L))))
+                    .add(of.newPrimitiveProperty(PROPERTY_INT16,
+                        of.newPrimitiveValueBuilder().buildInt16((short) 
2)))));
+                                                         
+    requestUpdate.setContentType(CONTENT_TYPE_JSON_IEEE754_COMPATIBLE);
+    requestUpdate.setAccept(CONTENT_TYPE_JSON_IEEE754_COMPATIBLE);
+    final ODataPropertyUpdateResponse responseUpdate = requestUpdate.execute();
+    String cookie = 
responseUpdate.getHeader(HttpHeader.SET_COOKIE).iterator().next();
+    
+    final ODataPropertyRequest<ClientProperty> requestGet = 
client.getRetrieveRequestFactory().getPropertyRequest(uri);
+    requestGet.addCustomHeader(HttpHeader.COOKIE, cookie);
+    requestGet.setAccept(CONTENT_TYPE_JSON_IEEE754_COMPATIBLE);
+    final ODataRetrieveResponse<ClientProperty> responseGet = 
requestGet.execute();
+    
+    final ClientComplexValue complexValue = 
responseGet.getBody().getComplexValue();
+    
+    assertEquals(Long.MIN_VALUE, 
complexValue.get(PROPERTY_INT64).getPrimitiveValue().toValue());
+    assertEquals(BigDecimal.valueOf(12345678912L), 
complexValue.get(PROPERTY_DECIMAL).getPrimitiveValue().toValue());
+    assertEquals(2, 
complexValue.get(PROPERTY_INT16).getPrimitiveValue().toValue());
+  }
+  
+  @Test
   public void updateProperyEdmDecimaltWithIEE754CompatibleParameter() {
     final ODataClient client = 
ODataClientFactory.getEdmEnabledClient(SERVICE_URI);
     client.getConfiguration().setDefaultPubFormat(ContentType.JSON);

Reply via email to