use of com.yahoo.elide.core.request.Argument in project elide by yahoo.
the class MatchesTemplateVisitorTest method conjunctionContainsTest.
@Test
public void conjunctionContainsTest() throws Exception {
FilterExpression clientExpression = dialect.parseFilterExpression("lowScore>100;highScore==123", playerStatsType, true);
FilterExpression templateExpression = dialect.parseFilterExpression("highScore=={{variable}}", playerStatsType, false, true);
Map<String, Argument> extractedArgs = new HashMap<>();
Argument expected = Argument.builder().name("variable").value(123L).build();
assertTrue(MatchesTemplateVisitor.isValid(templateExpression, clientExpression, extractedArgs));
assertEquals(1, extractedArgs.size());
assertEquals(extractedArgs.get("variable"), expected);
}
use of com.yahoo.elide.core.request.Argument in project elide by yahoo.
the class MatchesTemplateVisitorTest method disjunctionDoesNotContainTest.
@Test
public void disjunctionDoesNotContainTest() throws Exception {
FilterExpression clientExpression = dialect.parseFilterExpression("lowScore>100,player.name==Bob*", playerStatsType, true);
FilterExpression templateExpression = dialect.parseFilterExpression("highScore=={{variable}}", playerStatsType, false, true);
Map<String, Argument> extractedArgs = new HashMap<>();
assertFalse(MatchesTemplateVisitor.isValid(templateExpression, clientExpression, extractedArgs));
assertEquals(0, extractedArgs.size());
}
use of com.yahoo.elide.core.request.Argument in project elide by yahoo.
the class MatchesTemplateVisitorTest method parameterizedFilterArgumentsIgnored.
@Test
public void parameterizedFilterArgumentsIgnored() throws Exception {
FilterExpression clientExpression = dialect.parseFilterExpression("recordedDate[grain:day]=='2020-01-01'", playerStatsType, true);
FilterExpression templateExpression = dialect.parseFilterExpression("recordedDate=={{day}}", playerStatsType, false, true);
Map<String, Argument> extractedArgs = new HashMap<>();
assertTrue(MatchesTemplateVisitor.isValid(templateExpression, clientExpression, extractedArgs));
assertEquals(1, extractedArgs.size());
}
use of com.yahoo.elide.core.request.Argument in project elide by yahoo.
the class MatchesTemplateVisitorTest method predicateMismatchTest.
@Test
public void predicateMismatchTest() throws Exception {
FilterExpression clientExpression = dialect.parseFilterExpression("highScore!=123", playerStatsType, true);
FilterExpression templateExpression = dialect.parseFilterExpression("highScore=={{variable}}", playerStatsType, false, true);
Map<String, Argument> extractedArgs = new HashMap<>();
assertFalse(MatchesTemplateVisitor.isValid(templateExpression, clientExpression, extractedArgs));
assertEquals(0, extractedArgs.size());
}
use of com.yahoo.elide.core.request.Argument in project elide by yahoo.
the class GraphQLEntityProjectMakerTest method testParameterizedAttributeDefaultValue.
@Test
public void testParameterizedAttributeDefaultValue() {
String graphQLRequest = document(selection(field("parameterizedExample", selections(field("attribute"))))).toQuery();
GraphQLEntityProjectionMaker projectionMaker = new GraphQLEntityProjectionMaker(settings);
GraphQLProjectionInfo projectionInfo = projectionMaker.make(graphQLRequest);
assertEquals(1, projectionInfo.getProjections().size());
EntityProjection projection = projectionInfo.getProjections().values().iterator().next();
// Verify Entity Argument
assertEquals(1, projection.getArguments().size());
Argument entityArgument = projection.getArguments().iterator().next();
assertEquals("entityArgument", entityArgument.getName());
assertEquals(String.class, entityArgument.getType());
assertEquals("defaultArgValue", entityArgument.getValue());
// Verify Attribute Argument
assertEquals(1, projection.getAttributes().size());
Attribute attribute = projection.getAttributes().iterator().next();
assertEquals(1, attribute.getArguments().size());
Argument argument = attribute.getArguments().iterator().next();
assertEquals("argument", argument.getName());
assertEquals(String.class, argument.getType());
assertEquals("defaultValue", argument.getValue());
}
Aggregations