use of org.teiid.metadata.MetadataFactory in project teiid by teiid.
the class TestODataMetadataProcessor method testTeiidImplicitFk.
@Test
public void testTeiidImplicitFk() throws Exception {
String file = "teiid-implicit.xml";
String schema = "teiid";
String schemaNamespace = "teiid5221data.1.data";
MetadataFactory mf = createMetadata(file, schema, schemaNamespace);
String metadataDDL = DDLStringVisitor.getDDLString(mf.getSchema(), null, null);
assertEquals(ObjectConverterUtil.convertFileToString(UnitTestUtil.getTestDataFile("teiid-implicit.ddl")), metadataDDL);
}
use of org.teiid.metadata.MetadataFactory in project teiid by teiid.
the class TestODataMetadataProcessor method testFunction.
@Test
public void testFunction() throws Exception {
CsdlReturnType returnType = new CsdlReturnType();
returnType.setType("Edm.String");
MetadataFactory mf = functionMetadata("invoke", returnType, null);
Procedure p = mf.getSchema().getProcedure("invoke");
assertNotNull(p);
assertEquals(3, p.getParameters().size());
assertNull(p.getResultSet());
assertNotNull(getReturnParameter(p));
ProcedureParameter pp = getReturnParameter(p);
assertEquals("string", pp.getRuntimeType());
ODataType type = ODataType.valueOf(p.getProperty(ODataMetadataProcessor.ODATA_TYPE, false));
assertEquals(ODataType.FUNCTION, type);
}
use of org.teiid.metadata.MetadataFactory 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.metadata.MetadataFactory 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.metadata.MetadataFactory 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]));
}
Aggregations