use of org.teiid.translator.ProcedureExecution in project teiid by teiid.
the class TestODataQueryExecution method testFunctionReturnsPrimitiveCollection.
@Test
public void testFunctionReturnsPrimitiveCollection() throws Exception {
String query = "exec invoke(1, 'foo')";
String expectedURL = "invoke?e1=1&e2='foo'";
String response = "{\"value\": [\"returnX\", \"returnY\"]}";
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("Edm.String");
returnType.setCollection(true);
MetadataFactory mf = TestODataMetadataProcessor.functionMetadata("invoke", returnType, null);
ProcedureExecution excution = helpProcedureExecute(mf, query, response, expectedURL, 200);
assertArrayEquals(new Object[] { "returnX", "returnY" }, ((List) excution.getOutputParameterValues().get(0)).toArray());
}
use of org.teiid.translator.ProcedureExecution in project teiid by teiid.
the class TestODataQueryExecution method testFunctionReturnsComplex.
@Test
public void testFunctionReturnsComplex() throws Exception {
String query = "exec invoke(1, 'foo')";
String expectedURL = "invoke?e1=1&e2='foo'";
String response = "{\"value\":{\n" + " \"street\":\"United States\",\n" + " \"city\":\"Boise\",\n" + " \"state\":\"ID\"\n" + " }}";
CsdlComplexType complex = TestODataMetadataProcessor.complexType("Address");
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("namespace.Address");
MetadataFactory mf = TestODataMetadataProcessor.functionMetadata("invoke", returnType, complex);
ProcedureExecution excution = helpProcedureExecute(mf, query, response, expectedURL, 200);
assertArrayEquals(new Object[] { "United States", "Boise", "ID" }, excution.next().toArray(new Object[3]));
assertNull(excution.next());
}
use of org.teiid.translator.ProcedureExecution in project teiid by teiid.
the class TestODataQueryExecution method testFunctionReturnsPrimitiveEncoded.
@Test
public void testFunctionReturnsPrimitiveEncoded() throws Exception {
String query = "exec invoke(1, 'foo bar')";
String expectedURL = "invoke?e1=1&e2=%27foo%20bar%27";
String response = "{\"value\":\"returnX\"}";
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("Edm.String");
MetadataFactory mf = TestODataMetadataProcessor.functionMetadata("invoke", returnType, null);
ProcedureExecution excution = helpProcedureExecute(mf, query, response, expectedURL, 200, false);
assertArrayEquals(new Object[] { "returnX" }, excution.getOutputParameterValues().toArray(new Object[1]));
}
use of org.teiid.translator.ProcedureExecution in project teiid by teiid.
the class TestODataQueryExecution method testFunctionReturnsComplexCollection.
@Test
public void testFunctionReturnsComplexCollection() throws Exception {
String query = "exec invoke(1, 'foo')";
String expectedURL = "invoke?e1=1&e2='foo'";
String response = "{\"value\":[{\n" + " \"street\":\"United States\",\n" + " \"city\":\"Boise\",\n" + " \"state\":\"ID\"\n" + " }," + " {" + " \"street\":\"China\",\n" + " \"city\":\"Newyork\",\n" + " \"state\":\"NY\"\n" + " }]}";
CsdlComplexType complex = TestODataMetadataProcessor.complexType("Address");
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("namespace.Address");
MetadataFactory mf = TestODataMetadataProcessor.functionMetadata("invoke", returnType, complex);
ProcedureExecution excution = helpProcedureExecute(mf, query, response, expectedURL, 200);
assertArrayEquals(new Object[] { "United States", "Boise", "ID" }, excution.next().toArray(new Object[3]));
assertArrayEquals(new Object[] { "China", "Newyork", "NY" }, excution.next().toArray(new Object[3]));
assertNull(excution.next());
}
use of org.teiid.translator.ProcedureExecution in project teiid by teiid.
the class TestODataQueryExecution method testFunctionReturnsPrimitive.
@Test
public void testFunctionReturnsPrimitive() throws Exception {
String query = "exec invoke(1, 'foo')";
String expectedURL = "invoke?e1=1&e2='foo'";
String response = "{\"value\":\"returnX\"}";
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("Edm.String");
MetadataFactory mf = TestODataMetadataProcessor.functionMetadata("invoke", returnType, null);
ProcedureExecution excution = helpProcedureExecute(mf, query, response, expectedURL, 200);
assertArrayEquals(new Object[] { "returnX" }, excution.getOutputParameterValues().toArray(new Object[1]));
}
Aggregations