use of com.yahoo.elide.core.request.Attribute in project elide by yahoo.
the class ParameterizedModelTest method testFetch.
@Test
public void testFetch() {
ParameterizedModel testModel = spy(ParameterizedModel.class);
Attribute testAttribute = Attribute.builder().type(STRING_TYPE).name("foo").build();
String testValue = "bar";
testModel.addAttributeValue(testAttribute, testValue);
assertEquals(testValue, testModel.fetch(testAttribute.getAlias(), "blah"));
}
use of com.yahoo.elide.core.request.Attribute in project elide by yahoo.
the class ParameterizedModelTest method testFetchDefault.
@Test
public void testFetchDefault() {
ParameterizedModel testModel = spy(ParameterizedModel.class);
Attribute testAttribute = Attribute.builder().type(STRING_TYPE).name("foo").build();
String testValue = "blah";
assertEquals(testValue, testModel.fetch(testAttribute.getAlias(), testValue));
}
use of com.yahoo.elide.core.request.Attribute in project elide by yahoo.
the class ParameterizedModelTest method testInvokeException.
@Test
public void testInvokeException() {
ParameterizedModel testModel = spy(ParameterizedModel.class);
Attribute testAttribute = Attribute.builder().type(STRING_TYPE).name("foo").build();
Exception exception = assertThrows(InvalidParameterizedAttributeException.class, () -> testModel.invoke(testAttribute));
assertEquals("No attribute found with matching parameters for attribute: Attribute(name=foo)", exception.getMessage());
}
use of com.yahoo.elide.core.request.Attribute 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());
}
use of com.yahoo.elide.core.request.Attribute in project elide by yahoo.
the class GraphQLEntityProjectMakerTest method testParameterizedAttribute.
@Test
public void testParameterizedAttribute() {
String graphQLRequest = document(selection(field("parameterizedExample", arguments(argument("entityArgument", "xyz", true)), selections(field("attribute", arguments(argument("argument", "abc", true))))))).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("xyz", 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("abc", argument.getValue());
}
Aggregations