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 2016/01/12 14:08:17 UTC
[16/30] olingo-odata4 git commit: [OLINGO-834] ExpressionParser
parses path expressions
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a8091658/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/parser/UriTokenizerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/parser/UriTokenizerTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/parser/UriTokenizerTest.java
index 1b2d508..af45e80 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/parser/UriTokenizerTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/parser/UriTokenizerTest.java
@@ -55,7 +55,7 @@ public class UriTokenizerTest {
@Test
public void sequence() {
- final UriTokenizer tokenizer = new UriTokenizer("(A=1,B=2);.*/+-");
+ UriTokenizer tokenizer = new UriTokenizer("(A=1,B=2);.*/+-");
assertTrue(tokenizer.next(TokenKind.OPEN));
assertFalse(tokenizer.next(TokenKind.OPEN));
assertTrue(tokenizer.next(TokenKind.ODataIdentifier));
@@ -78,6 +78,22 @@ public class UriTokenizerTest {
assertTrue(tokenizer.next(TokenKind.PLUS));
assertTrue(tokenizer.next(TokenKind.MINUS));
assertTrue(tokenizer.next(TokenKind.EOF));
+
+ tokenizer = new UriTokenizer("any(a:true) or all(b:false)");
+ assertTrue(tokenizer.next(TokenKind.ANY));
+ assertTrue(tokenizer.next(TokenKind.OPEN));
+ assertTrue(tokenizer.next(TokenKind.ODataIdentifier));
+ assertTrue(tokenizer.next(TokenKind.COLON));
+ assertTrue(tokenizer.next(TokenKind.BooleanValue));
+ assertTrue(tokenizer.next(TokenKind.CLOSE));
+ assertTrue(tokenizer.next(TokenKind.OrOperator));
+ assertTrue(tokenizer.next(TokenKind.ALL));
+ assertTrue(tokenizer.next(TokenKind.OPEN));
+ assertTrue(tokenizer.next(TokenKind.ODataIdentifier));
+ assertTrue(tokenizer.next(TokenKind.COLON));
+ assertTrue(tokenizer.next(TokenKind.BooleanValue));
+ assertTrue(tokenizer.next(TokenKind.CLOSE));
+ assertTrue(tokenizer.next(TokenKind.EOF));
}
@Test
@@ -455,6 +471,19 @@ public class UriTokenizerTest {
}
}
+ @Test
+ public void suffixes() {
+ UriTokenizer tokenizer = new UriTokenizer("p1 asc,p2 desc");
+ assertTrue(tokenizer.next(TokenKind.ODataIdentifier));
+ assertTrue(tokenizer.next(TokenKind.AscSuffix));
+ assertTrue(tokenizer.next(TokenKind.COMMA));
+ assertTrue(tokenizer.next(TokenKind.ODataIdentifier));
+ assertTrue(tokenizer.next(TokenKind.DescSuffix));
+ assertTrue(tokenizer.next(TokenKind.EOF));
+
+ wrongToken(TokenKind.DescSuffix, " desc", 'D');
+ }
+
private void wrongToken(final TokenKind kind, final String value, final char disturbCharacter) {
assertFalse(new UriTokenizer(disturbCharacter + value).next(kind));
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a8091658/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
index a945d11..72f3eb9 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/UriResourceImplTest.java
@@ -57,7 +57,7 @@ public class UriResourceImplTest {
new EdmTechProvider(), Collections.<EdmxReference> emptyList()).getEdm();
@Test
- public void testUriParameterImpl() {
+ public void uriParameterImpl() {
UriParameterImpl impl = new UriParameterImpl();
Expression expression = new LiteralImpl("Expression", null);
@@ -73,21 +73,20 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceActionImpl() {
- UriResourceActionImpl impl = new UriResourceActionImpl();
+ public void uriResourceActionImpl() {
+ UriResourceActionImpl impl = new UriResourceActionImpl((EdmAction) null);
assertEquals(UriResourceKind.action, impl.getKind());
assertEquals("", impl.toString());
// action
EdmAction action = edm.getUnboundAction(ActionProvider.nameUARTETTwoKeyTwoPrimParam);
- impl.setAction(action);
+ impl = new UriResourceActionImpl(action);
assertEquals(action, impl.getAction());
assertEquals(ActionProvider.nameUARTETTwoKeyTwoPrimParam.getName(), impl.toString());
// action import
- impl = new UriResourceActionImpl();
EdmActionImport actionImport = edm.getEntityContainer().getActionImport("AIRTCTTwoPrimParam");
- impl.setActionImport(actionImport);
+ impl = new UriResourceActionImpl(actionImport);
assertEquals(actionImport, impl.getActionImport());
assertEquals(actionImport.getUnboundAction(), impl.getAction());
assertFalse(impl.isCollection());
@@ -95,20 +94,16 @@ public class UriResourceImplTest {
assertEquals(actionImport.getUnboundAction().getReturnType().getType(), impl.getType());
actionImport = edm.getEntityContainer().getActionImport("AIRT");
- impl.setActionImport(actionImport);
+ impl = new UriResourceActionImpl(actionImport);
assertFalse(impl.isCollection());
assertNull(impl.getType());
}
@Test
- public void testUriResourceLambdaAllImpl() {
- UriResourceLambdaAllImpl impl = new UriResourceLambdaAllImpl();
- assertEquals(UriResourceKind.lambdaAll, impl.getKind());
-
+ public void uriResourceLambdaAllImpl() {
Expression expression = new LiteralImpl("Expression", null);
- impl.setExpression(expression);
- impl.setLamdaVariable("A");
-
+ UriResourceLambdaAllImpl impl = new UriResourceLambdaAllImpl("A", expression);
+ assertEquals(UriResourceKind.lambdaAll, impl.getKind());
assertFalse(impl.isCollection());
assertEquals(expression, impl.getExpression());
assertEquals("A", impl.getLambdaVariable());
@@ -117,14 +112,10 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceLambdaAnyImpl() {
- UriResourceLambdaAnyImpl impl = new UriResourceLambdaAnyImpl();
- assertEquals(UriResourceKind.lambdaAny, impl.getKind());
-
+ public void uriResourceLambdaAnyImpl() {
Expression expression = new LiteralImpl("Expression", null);
- impl.setExpression(expression);
- impl.setLamdaVariable("A");
-
+ UriResourceLambdaAnyImpl impl = new UriResourceLambdaAnyImpl("A", expression);
+ assertEquals(UriResourceKind.lambdaAny, impl.getKind());
assertFalse(impl.isCollection());
assertEquals(expression, impl.getExpression());
assertEquals("A", impl.getLambdaVariable());
@@ -133,14 +124,11 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceComplexPropertyImpl() {
- UriResourceComplexPropertyImpl impl = new UriResourceComplexPropertyImpl();
- assertEquals(UriResourceKind.complexProperty, impl.getKind());
-
+ public void uriResourceComplexPropertyImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
EdmProperty property = (EdmProperty) entityType.getProperty("PropertyCompNav");
- impl.setProperty(property);
-
+ UriResourceComplexPropertyImpl impl = new UriResourceComplexPropertyImpl(property);
+ assertEquals(UriResourceKind.complexProperty, impl.getKind());
assertEquals(property, impl.getProperty());
assertEquals(property.getName(), impl.toString());
assertFalse(impl.isCollection());
@@ -158,14 +146,11 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourcePrimitivePropertyImpl() {
- UriResourcePrimitivePropertyImpl impl = new UriResourcePrimitivePropertyImpl();
- assertEquals(UriResourceKind.primitiveProperty, impl.getKind());
-
+ public void uriResourcePrimitivePropertyImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETKeyNav);
EdmProperty property = (EdmProperty) entityType.getProperty("PropertyInt16");
- impl.setProperty(property);
-
+ UriResourcePrimitivePropertyImpl impl = new UriResourcePrimitivePropertyImpl(property);
+ assertEquals(UriResourceKind.primitiveProperty, impl.getKind());
assertEquals(property, impl.getProperty());
assertEquals(property.getName(), impl.toString());
assertFalse(impl.isCollection());
@@ -173,20 +158,17 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceCountImpl() {
+ public void uriResourceCountImpl() {
UriResourceCountImpl impl = new UriResourceCountImpl();
assertEquals(UriResourceKind.count, impl.getKind());
assertEquals("$count", impl.toString());
}
@Test
- public void testUriResourceEntitySetImpl() {
- UriResourceEntitySetImpl impl = new UriResourceEntitySetImpl();
- assertEquals(UriResourceKind.entitySet, impl.getKind());
-
+ public void uriResourceEntitySetImpl() {
EdmEntitySet entitySet = edm.getEntityContainer().getEntitySet("ESAllPrim");
- impl.setEntitSet(entitySet);
-
+ UriResourceEntitySetImpl impl = new UriResourceEntitySetImpl(entitySet);
+ assertEquals(UriResourceKind.entitySet, impl.getKind());
assertEquals("ESAllPrim", impl.toString());
assertEquals(entitySet, impl.getEntitySet());
@@ -201,8 +183,8 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceFunctionImpl() {
- UriResourceFunctionImpl impl = new UriResourceFunctionImpl();
+ public void uriResourceFunctionImpl() {
+ UriResourceFunctionImpl impl = new UriResourceFunctionImpl(null, null, null);
assertEquals(UriResourceKind.function, impl.getKind());
assertEquals("", impl.toString());
@@ -210,39 +192,38 @@ public class UriResourceImplTest {
EdmFunction function = edm.getEntityContainer().getFunctionImport("FINRTInt16")
.getUnboundFunction(Collections.<String> emptyList());
assertNotNull(function);
- impl.setFunction(function);
+ impl = new UriResourceFunctionImpl(null, function, null);
assertEquals(function, impl.getFunction());
assertEquals("UFNRTInt16", impl.toString());
assertEquals(function.getReturnType().getType(), impl.getType());
- assertFalse(impl.isParameterListFilled());
+ assertTrue(impl.getParameters().isEmpty());
// function import
- impl = new UriResourceFunctionImpl();
EdmFunctionImport functionImport = edm.getEntityContainer().getFunctionImport("FINRTInt16");
- impl.setFunctionImport(functionImport, Collections.<UriParameter> emptyList());
+ impl = new UriResourceFunctionImpl(functionImport, functionImport.getUnboundFunctions().get(0),
+ Collections.<UriParameter> emptyList());
assertEquals(functionImport, impl.getFunctionImport());
assertEquals("FINRTInt16", impl.toString());
// function collection
- impl = new UriResourceFunctionImpl();
functionImport = edm.getEntityContainer().getFunctionImport("FICRTCollESTwoKeyNavParam");
- assertNotNull(function);
UriParameter parameter = new UriParameterImpl().setName("ParameterInt16");
- impl.setFunctionImport(functionImport, Collections.singletonList(parameter));
+ impl = new UriResourceFunctionImpl(functionImport,
+ functionImport.getUnboundFunction(Collections.singletonList("ParameterInt16")),
+ Collections.singletonList(parameter));
assertEquals("FICRTCollESTwoKeyNavParam", impl.toString());
- impl.setFunction(functionImport.getUnboundFunction(Collections.singletonList("ParameterInt16")));
assertTrue(impl.isCollection());
impl.setKeyPredicates(Collections.<UriParameter> emptyList());
assertFalse(impl.isCollection());
+ assertFalse(impl.getParameters().isEmpty());
assertEquals(parameter, impl.getParameters().get(0));
- assertTrue(impl.isParameterListFilled());
}
@Test
- public void testUriResourceImplKeyPred() {
+ public void uriResourceImplKeyPred() {
final EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
class Mock extends UriResourceWithKeysImpl {
@@ -306,7 +287,7 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceImplTyped() {
+ public void uriResourceImplTyped() {
final EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
class Mock extends UriResourceTypedImpl {
@@ -344,18 +325,15 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceItImpl() {
- UriResourceItImpl impl = new UriResourceItImpl();
- assertEquals(UriResourceKind.it, impl.getKind());
-
+ public void uriResourceItImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
+ UriResourceItImpl impl = new UriResourceItImpl(entityType, false);
+ assertEquals(UriResourceKind.it, impl.getKind());
assertEquals("$it", impl.toString());
-
- impl.setType(entityType);
assertEquals(entityType, impl.getType());
-
assertFalse(impl.isCollection());
- impl.setCollection(true);
+
+ impl = new UriResourceItImpl(entityType, true);
assertTrue(impl.isCollection());
impl.setKeyPredicates(Collections.singletonList(
(UriParameter) new UriParameterImpl().setName("ParameterInt16")));
@@ -363,15 +341,13 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceNavigationPropertyImpl() {
- UriResourceNavigationPropertyImpl impl = new UriResourceNavigationPropertyImpl();
- assertEquals(UriResourceKind.navigationProperty, impl.getKind());
-
+ public void uriResourceNavigationPropertyImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
EdmNavigationProperty property = (EdmNavigationProperty) entityType.getProperty("NavPropertyETKeyNavMany");
assertNotNull(property);
- impl.setNavigationProperty(property);
+ UriResourceNavigationPropertyImpl impl = new UriResourceNavigationPropertyImpl(property);
+ assertEquals(UriResourceKind.navigationProperty, impl.getKind());
assertEquals(property, impl.getProperty());
assertEquals("NavPropertyETKeyNavMany", impl.toString());
@@ -384,25 +360,22 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceRefImpl() {
+ public void uriResourceRefImpl() {
UriResourceRefImpl impl = new UriResourceRefImpl();
assertEquals(UriResourceKind.ref, impl.getKind());
assertEquals("$ref", impl.toString());
}
@Test
- public void testUriResourceRootImpl() {
- UriResourceRootImpl impl = new UriResourceRootImpl();
- assertEquals(UriResourceKind.root, impl.getKind());
-
+ public void uriResourceRootImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
+ UriResourceRootImpl impl = new UriResourceRootImpl(entityType, false);
+ assertEquals(UriResourceKind.root, impl.getKind());
assertEquals("$root", impl.toString());
-
- impl.setType(entityType);
assertEquals(entityType, impl.getType());
-
assertFalse(impl.isCollection());
- impl.setCollection(true);
+
+ impl = new UriResourceRootImpl(entityType, true);
assertTrue(impl.isCollection());
impl.setKeyPredicates(Collections.singletonList(
(UriParameter) new UriParameterImpl().setName("ParameterInt16")));
@@ -410,14 +383,11 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceSingletonImpl() {
- UriResourceSingletonImpl impl = new UriResourceSingletonImpl();
- assertEquals(UriResourceKind.singleton, impl.getKind());
-
+ public void uriResourceSingletonImpl() {
EdmSingleton singleton = edm.getEntityContainer().getSingleton("SINav");
EdmEntityType entityTypeBaseColl = edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav);
- impl.setSingleton(singleton);
-
+ UriResourceSingletonImpl impl = new UriResourceSingletonImpl(singleton);
+ assertEquals(UriResourceKind.singleton, impl.getKind());
assertEquals("SINav", impl.toString());
assertEquals(singleton, impl.getSingleton());
@@ -433,41 +403,33 @@ public class UriResourceImplTest {
}
@Test
- public void testUriResourceValueImpl() {
+ public void uriResourceValueImpl() {
UriResourceValueImpl impl = new UriResourceValueImpl();
assertEquals(UriResourceKind.value, impl.getKind());
assertEquals("$value", impl.toString());
}
@Test
- public void testUriResourceLambdaVarImpl() {
- UriResourceLambdaVarImpl impl = new UriResourceLambdaVarImpl();
- assertEquals(UriResourceKind.lambdaVariable, impl.getKind());
-
+ public void uriResourceLambdaVarImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
- impl.setType(entityType);
- impl.setVariableText("A");
-
+ UriResourceLambdaVarImpl impl = new UriResourceLambdaVarImpl("A", entityType);
+ assertEquals(UriResourceKind.lambdaVariable, impl.getKind());
assertEquals("A", impl.toString());
assertEquals(entityType, impl.getType());
assertEquals("A", impl.getVariableName());
assertFalse(impl.isCollection());
- impl.setCollection(true);
- assertTrue(impl.isCollection());
}
@Test
- public void testUriResourceStartingTypeFilterImpl() {
- UriResourceStartingTypeFilterImpl impl = new UriResourceStartingTypeFilterImpl();
-
+ public void uriResourceStartingTypeFilterImpl() {
EdmEntityType entityType = edm.getEntityType(EntityTypeProvider.nameETTwoKeyNav);
- impl.setType(entityType);
+ UriResourceStartingTypeFilterImpl impl = new UriResourceStartingTypeFilterImpl(entityType, false);
assertEquals("olingo.odata.test1.ETTwoKeyNav", impl.toString());
assertEquals(entityType, impl.getType());
-
assertFalse(impl.isCollection());
- impl.setCollection(true);
+
+ impl = new UriResourceStartingTypeFilterImpl(entityType, true);
assertTrue(impl.isCollection());
impl.setKeyPredicates(Collections.singletonList(
(UriParameter) new UriParameterImpl().setName("ParameterInt16")));