You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2017/04/12 09:26:23 UTC

olingo-odata2 git commit: [OLINGO-1105] JUnits for Custom Query Options in batch

Repository: olingo-odata2
Updated Branches:
  refs/heads/master 456f4c641 -> ff4ab9956


[OLINGO-1105] JUnits for Custom Query Options in batch

Signed-off-by: Christian Amend <ch...@sap.com>


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

Branch: refs/heads/master
Commit: ff4ab99569e322e0315b414e2b078d7548a7c0fb
Parents: 456f4c6
Author: Archana Rai <ar...@sap.com>
Authored: Tue Apr 11 13:53:22 2017 +0530
Committer: Christian Amend <ch...@sap.com>
Committed: Wed Apr 12 11:17:15 2017 +0200

----------------------------------------------------------------------
 .../olingo/odata2/fit/basic/BasicBatchTest.java | 92 ++++++++++++++++++++
 1 file changed, 92 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/ff4ab995/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicBatchTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicBatchTest.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicBatchTest.java
index 0dfec68..4567501 100644
--- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicBatchTest.java
+++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/BasicBatchTest.java
@@ -181,6 +181,98 @@ public class BasicBatchTest extends AbstractBasicTest {
     assertTrue(body.contains("Content-Id: requestHeaderContentId1"));
     assertTrue(body.contains("HTTP/1.1 415 Unsupported Media Type"));
   }
+  
+ /* Tests for Custo Query options.A Custom Query String option is defined  
+  * as any name/value pair query string parameter where the name of the 
+  * parameter does not begin  with the "$" character. Any URI exposed by 
+  * an OData service may include one or more Custom Query Options.*/
+  
+  @Test
+  public void testBatchForCustomQuery() throws Exception {
+    final HttpPost post = new HttpPost(URI.create(getEndpoint().toString() + 
+        "$batch?language=de"));
+    post.setHeader("Content-Type", "multipart/mixed;boundary=batch_98c1-8b13-36bb");
+    HttpEntity entity = new StringEntity(REQUEST_PAYLOAD);
+    post.setEntity(entity);
+    HttpResponse response = getHttpClient().execute(post);
+
+    assertNotNull(response);
+    assertEquals(202, response.getStatusLine().getStatusCode());
+    assertEquals("HTTP/1.1", response.getProtocolVersion().toString());
+    assertTrue(response.containsHeader("Content-Length"));
+    assertTrue(response.containsHeader("Content-Type"));
+    assertTrue(response.containsHeader("DataServiceVersion"));
+    assertTrue(response.getEntity().getContentType().getValue().matches(REG_EX));
+    assertNotNull(response.getEntity().getContent());
+
+    String body = StringHelper.inputStreamToString(response.getEntity().getContent(), true);
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId2"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId2"));
+  }
+  
+  @Test
+  public void testBatchForCustomQueryFail() throws Exception {
+    final HttpPost post = new HttpPost(URI.create(getEndpoint().toString() + 
+        "$batch?$language=de"));
+    post.setHeader("Content-Type", "multipart/mixed;boundary=batch_98c1-8b13-36bb");
+    HttpEntity entity = new StringEntity(REQUEST_PAYLOAD);
+    post.setEntity(entity);
+    HttpResponse result = getHttpClient().execute(post);
+    assertEquals(HttpStatusCodes.BAD_REQUEST.getStatusCode(), result.getStatusLine().getStatusCode());
+
+  }
+  
+  @Test
+  public void testBatchForCustomQuery2() throws Exception {
+    final HttpPost post = new HttpPost(URI.create(getEndpoint().toString() + 
+        "$batch?@language=de"));
+    post.setHeader("Content-Type", "multipart/mixed;boundary=batch_98c1-8b13-36bb");
+    HttpEntity entity = new StringEntity(REQUEST_PAYLOAD);
+    post.setEntity(entity);
+    HttpResponse response = getHttpClient().execute(post);
+
+    assertNotNull(response);
+    assertEquals(202, response.getStatusLine().getStatusCode());
+    assertEquals("HTTP/1.1", response.getProtocolVersion().toString());
+    assertTrue(response.containsHeader("Content-Length"));
+    assertTrue(response.containsHeader("Content-Type"));
+    assertTrue(response.containsHeader("DataServiceVersion"));
+    assertTrue(response.getEntity().getContentType().getValue().matches(REG_EX));
+    assertNotNull(response.getEntity().getContent());
+
+    String body = StringHelper.inputStreamToString(response.getEntity().getContent(), true);
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId2"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId2"));
+  }
+  
+  @Test
+  public void testBatchForCustomQuery3() throws Exception {
+    final HttpPost post = new HttpPost(URI.create(getEndpoint().toString() + 
+        "$batch?#language=de"));
+    post.setHeader("Content-Type", "multipart/mixed;boundary=batch_98c1-8b13-36bb");
+    HttpEntity entity = new StringEntity(REQUEST_PAYLOAD);
+    post.setEntity(entity);
+    HttpResponse response = getHttpClient().execute(post);
+
+    assertNotNull(response);
+    assertEquals(202, response.getStatusLine().getStatusCode());
+    assertEquals("HTTP/1.1", response.getProtocolVersion().toString());
+    assertTrue(response.containsHeader("Content-Length"));
+    assertTrue(response.containsHeader("Content-Type"));
+    assertTrue(response.containsHeader("DataServiceVersion"));
+    assertTrue(response.getEntity().getContentType().getValue().matches(REG_EX));
+    assertNotNull(response.getEntity().getContent());
+
+    String body = StringHelper.inputStreamToString(response.getEntity().getContent(), true);
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId1"));
+    assertTrue(body.contains("Content-Id: mimeHeaderContentId2"));
+    assertTrue(body.contains("Content-Id: requestHeaderContentId2"));
+  }
 
   static class TestSingleProc extends ODataSingleProcessor {
     @Override