/
TestTradesMetadataProcessor.java
85 lines (60 loc) · 3.29 KB
/
TestTradesMetadataProcessor.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package org.teiid.translator.object.metadata;
import static org.junit.Assert.*;
import java.util.Properties;
import org.junit.Before;
import org.junit.Test;
import org.teiid.metadata.MetadataFactory;
import org.teiid.query.metadata.DDLStringVisitor;
import org.teiid.query.metadata.SystemMetadata;
import org.teiid.translator.object.ObjectConnection;
import org.teiid.translator.object.ObjectExecutionFactory;
import org.teiid.translator.object.simpleMap.SimpleMapCacheExecutionFactory;
import org.teiid.translator.object.testdata.trades.TradesCacheSource;
@SuppressWarnings("nls")
public class TestTradesMetadataProcessor {
protected static ObjectExecutionFactory TRANSLATOR;
@Before public void beforeEach() throws Exception{
TRANSLATOR = new SimpleMapCacheExecutionFactory();
TRANSLATOR.start();
}
@Test
public void testTradeMetadata() throws Exception {
MetadataFactory mf = new MetadataFactory("vdb", 1, "objectvdb",
SystemMetadata.getInstance().getRuntimeTypeMap(),
new Properties(), null);
ObjectConnection conn = TradesCacheSource.createConnection();
TRANSLATOR.getMetadataProcessor().process(mf, conn);
String metadataDDL = DDLStringVisitor.getDDLString(mf.getSchema(),
null, null);
String expected = "CREATE FOREIGN TABLE Trade (\n"
+ "\tTradeObject object OPTIONS (NAMEINSOURCE 'this', SELECTABLE FALSE, UPDATABLE FALSE, SEARCHABLE 'Unsearchable', NATIVE_TYPE 'org.teiid.translator.object.testdata.trades.Trade'),\n"
+ "\ttradeId long NOT NULL OPTIONS (NAMEINSOURCE 'tradeId', SEARCHABLE 'Searchable', NATIVE_TYPE 'long'),\n"
+ "\tname string OPTIONS (NAMEINSOURCE 'name', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),\n"
+ "\tsettled boolean OPTIONS (NAMEINSOURCE 'settled', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'boolean'),\n"
+ "\ttradeDate date OPTIONS (NAMEINSOURCE 'tradeDate', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.util.Date'),\n"
+ "\tCONSTRAINT PK_TRADEID PRIMARY KEY(tradeId)\n"
+ ") OPTIONS (UPDATABLE TRUE);"
;
assertEquals(expected, metadataDDL);
}
//@Test
public void testTradeMetadataFromVDB() throws Exception {
ObjectConnection conn = TradesCacheSource.createConnection();
MetadataFactory mf = new MetadataFactory("vdb", 1, "objectvdb",
SystemMetadata.getInstance().getRuntimeTypeMap(),
new Properties(), null);
TRANSLATOR.getMetadataProcessor().process(mf, conn);
String metadataDDL = DDLStringVisitor.getDDLString(mf.getSchema(),
null, null);
String expected = "CREATE FOREIGN TABLE Trade (\n"
+ "\tTradeObject object OPTIONS (NAMEINSOURCE 'this', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'org.teiid.translator.object.testdata.trades.Trade'),\n"
+ "\ttradeId long NOT NULL OPTIONS (NAMEINSOURCE 'tradeId', SEARCHABLE 'Searchable', NATIVE_TYPE 'long'),\n"
+ "\tname string OPTIONS (NAMEINSOURCE 'name', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.lang.String'),\n"
+ "\tsettled boolean NOT NULL OPTIONS (NAMEINSOURCE 'settled', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'boolean'),\n"
+ "\ttradeDate date OPTIONS (NAMEINSOURCE 'tradeDate', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'java.util.Date'),\n"
+ "\tCONSTRAINT PK_TRADEID PRIMARY KEY(tradeId)\n"
+ ") OPTIONS (NAMEINSOURCE 'Trades', UPDATABLE TRUE);"
;
assertEquals(expected, metadataDDL);
}
}