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 2015/08/21 13:36:14 UTC
olingo-odata4 git commit: [OLINGO-431] FixUriBUilder test
Repository: olingo-odata4
Updated Branches:
refs/heads/master dbf649e0b -> 1f9a28d3e
[OLINGO-431] FixUriBUilder test
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/1f9a28d3
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/1f9a28d3
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/1f9a28d3
Branch: refs/heads/master
Commit: 1f9a28d3e83b99341286075d1a206bdaf0b9b8f0
Parents: dbf649e
Author: Christian Amend <ch...@sap.com>
Authored: Fri Aug 21 13:30:59 2015 +0200
Committer: Christian Amend <ch...@sap.com>
Committed: Fri Aug 21 13:31:40 2015 +0200
----------------------------------------------------------------------
.../client/core/uri/v4/URIBuilderTest.java | 84 ++++++++++++++++++++
1 file changed, 84 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1f9a28d3/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/URIBuilderTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/URIBuilderTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/URIBuilderTest.java
index 14fa566..f308921 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/URIBuilderTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/uri/v4/URIBuilderTest.java
@@ -24,11 +24,13 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.Map;
import org.apache.olingo.client.api.ODataClient;
import org.apache.olingo.client.api.uri.QueryOption;
import org.apache.olingo.client.api.uri.URIBuilder;
import org.apache.olingo.client.core.AbstractTest;
+import org.apache.olingo.client.core.uri.ParameterAlias;
import org.junit.Test;
public class URIBuilderTest extends AbstractTest {
@@ -41,6 +43,43 @@ public class URIBuilderTest extends AbstractTest {
}
@Test
+ public void metadata() throws URISyntaxException {
+ final URI uri = getClient().newURIBuilder(SERVICE_ROOT).appendMetadataSegment().build();
+
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/$metadata").build(), uri);
+ }
+
+ @Test
+ public void entity() throws URISyntaxException {
+ final URI uri = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("AnEntitySet").
+ appendKeySegment(11).build();
+
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/AnEntitySet(11)").build(), uri);
+
+ final Map<String, Object> multiKey = new LinkedHashMap<String, Object>();
+ multiKey.put("OrderId", -10);
+ multiKey.put("ProductId", -10);
+ URIBuilder uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).
+ appendEntitySetSegment("OrderLine").appendKeySegment(multiKey).
+ appendPropertySegment("Quantity").appendValueSegment();
+
+ assertEquals(new org.apache.http.client.utils.URIBuilder(
+ SERVICE_ROOT + "/OrderLine(OrderId=-10,ProductId=-10)/Quantity/$value").build(), uriBuilder.build());
+
+ uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).
+ appendEntitySetSegment("Customer").appendKeySegment(-10).
+ select("CustomerId", "Name", "Orders").expand("Orders");
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/Customer(-10)").
+ addParameter("$select", "CustomerId,Name,Orders").addParameter("$expand", "Orders").build(),
+ uriBuilder.build());
+
+ uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).
+ appendEntitySetSegment("Customer").appendKeySegment(-10).appendNavigationSegment("Orders").appendRefSegment();
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/Customer(-10)/Orders/$ref").build(),
+ uriBuilder.build());
+ }
+
+ @Test
public void expandWithOptions() throws URISyntaxException {
final URI uri = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("Products").appendKeySegment(5).
expandWithOptions("ProductDetails", new LinkedHashMap<QueryOption, Object>() {
@@ -78,6 +117,51 @@ public class URIBuilderTest extends AbstractTest {
}
@Test
+ public void filter() throws URISyntaxException {
+ final URIBuilder uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("AnEntitySet").
+ filter(getClient().getFilterFactory().lt("VIN", 16));
+
+ assertEquals("http://host/service/AnEntitySet?%24filter=%28VIN%20lt%2016%29", uriBuilder.build().toASCIIString());
+
+// assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/AnEntitySet").
+// addParameter("$filter", "(VIN lt 16)").build(),
+// uriBuilder.build());
+ }
+
+ @Test
+ public void filterWithParameter() throws URISyntaxException {
+ // http://host/service.svc/Employees?$filter=Region eq @p1&@p1='WA'
+ final URIBuilder uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("Employees").
+ filter(getClient().getFilterFactory().eq("Region", new ParameterAlias("p1"))).
+ addParameterAlias("p1", "'WA'");
+
+ assertEquals("http://host/service/Employees?%24filter=%28Region%20eq%20%40p1%29&%40p1='WA'", uriBuilder.build()
+ .toASCIIString());
+
+// assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/Employees").
+// addParameter("$filter", "(Region eq @p1)").addParameter("@p1", "'WA'").build(),
+// uriBuilder.build());
+ }
+
+ @Test
+ public void expandMoreThenOnce() throws URISyntaxException {
+ URI uri = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("Products").appendKeySegment(5).
+ expand("Orders", "Customers").expand("Info").build();
+
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/Products(5)").
+ addParameter("$expand", "Orders,Customers,Info").build(), uri);
+ }
+
+ @Test
+ public void selectMoreThenOnce() throws URISyntaxException {
+ URI uri = getClient().newURIBuilder(SERVICE_ROOT).appendEntitySetSegment("Customers").appendKeySegment(5).
+ select("Name", "Surname").expand("Info").select("Gender").build();
+
+ assertEquals(new org.apache.http.client.utils.URIBuilder(SERVICE_ROOT + "/Customers(5)").
+ addParameter("$select", "Name,Surname,Gender").addParameter("$expand", "Info").build(), uri);
+ }
+
+ @Test
public void singleton() throws URISyntaxException {
final URIBuilder uriBuilder = getClient().newURIBuilder(SERVICE_ROOT).
appendSingletonSegment("BestProductEverCreated");