Skip to content

Commit 93f6c76

Browse files
erdiagram test case
1 parent b160c47 commit 93f6c76

File tree

4 files changed

+111
-0
lines changed

4 files changed

+111
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package erdiagram;
2+
3+
import gudusoft.gsqlparser.TGSqlParser;
4+
import gudusoft.gsqlparser.dlineage.DataFlowAnalyzer;
5+
import gudusoft.gsqlparser.dlineage.dataflow.model.Option;
6+
import gudusoft.gsqlparser.dlineage.dataflow.model.xml.dataflow;
7+
import junit.framework.TestCase;
8+
import java.io.File;
9+
import java.util.stream.Collectors;
10+
11+
public class testMsSQL extends TestCase {
12+
public void test1(){
13+
File file = new File(common.gspCommon.BASE_SQL_DIR_PRIVATE +"erdiagram/voyager_sqlserver.sql");
14+
Option option = new Option();
15+
option.setVendor(TGSqlParser.getDBVendorByName("mssql"));
16+
option.setShowERDiagram(true);
17+
DataFlowAnalyzer dataFlowAnalyzer = new DataFlowAnalyzer(file,option);
18+
dataFlowAnalyzer.generateDataFlow();
19+
dataflow flow = dataFlowAnalyzer.getDataFlow();
20+
assertTrue(flow.getRelationships().stream().filter(t->"er".equals(t.getType())).collect(Collectors.toList()).size()==6);
21+
}
22+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package erdiagram;
2+
3+
import gudusoft.gsqlparser.TGSqlParser;
4+
import gudusoft.gsqlparser.dlineage.DataFlowAnalyzer;
5+
import gudusoft.gsqlparser.dlineage.dataflow.model.Option;
6+
import gudusoft.gsqlparser.dlineage.dataflow.model.xml.dataflow;
7+
import junit.framework.TestCase;
8+
import java.io.File;
9+
import java.util.stream.Collectors;
10+
11+
public class testMySQL extends TestCase {
12+
public void test1(){
13+
File file = new File(common.gspCommon.BASE_SQL_DIR_PRIVATE +"erdiagram/mysql_koel.sql");
14+
Option option = new Option();
15+
option.setVendor(TGSqlParser.getDBVendorByName("mysql"));
16+
option.setShowERDiagram(true);
17+
option.setDefaultSchema("HR");
18+
DataFlowAnalyzer dataFlowAnalyzer = new DataFlowAnalyzer(file,option);
19+
dataFlowAnalyzer.generateDataFlow();
20+
dataflow flow = dataFlowAnalyzer.getDataFlow();
21+
assertTrue(flow.getRelationships().stream().filter(t->"er".equals(t.getType())).collect(Collectors.toList()).size()==8);
22+
23+
}
24+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package erdiagram;
2+
3+
import gudusoft.gsqlparser.TGSqlParser;
4+
import gudusoft.gsqlparser.dlineage.DataFlowAnalyzer;
5+
import gudusoft.gsqlparser.dlineage.dataflow.model.Option;
6+
import gudusoft.gsqlparser.dlineage.dataflow.model.xml.dataflow;
7+
import junit.framework.TestCase;
8+
import java.io.File;
9+
import java.util.stream.Collectors;
10+
11+
public class testOracle extends TestCase {
12+
13+
public void test1(){
14+
File file = new File(common.gspCommon.BASE_SQL_DIR_PRIVATE +"erdiagram/I6AUDT.sql");
15+
Option option = new Option();
16+
option.setVendor(TGSqlParser.getDBVendorByName("oracle"));
17+
option.setShowERDiagram(true);
18+
DataFlowAnalyzer dataFlowAnalyzer = new DataFlowAnalyzer(file,option);
19+
dataFlowAnalyzer.generateDataFlow();
20+
dataflow flow = dataFlowAnalyzer.getDataFlow();
21+
flow.setRelationships(flow.getRelationships().stream().filter(t->"er".equals(t.getType())).collect(Collectors.toList()));
22+
assertTrue(flow.getRelationships().stream().filter(t->"er".equals(t.getType())).collect(Collectors.toList()).size()==1);
23+
}
24+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package erdiagram;
2+
3+
import gudusoft.gsqlparser.TGSqlParser;
4+
import gudusoft.gsqlparser.dlineage.DataFlowAnalyzer;
5+
import gudusoft.gsqlparser.dlineage.dataflow.model.Option;
6+
import gudusoft.gsqlparser.dlineage.dataflow.model.json.Dataflow;
7+
import gudusoft.gsqlparser.dlineage.dataflow.model.xml.dataflow;
8+
import gudusoft.gsqlparser.dlineage.metadata.Column;
9+
import junit.framework.TestCase;
10+
import java.io.File;
11+
import java.util.Arrays;
12+
import java.util.List;
13+
import java.util.Objects;
14+
import java.util.stream.Collectors;
15+
16+
public class testPostgres extends TestCase {
17+
public void test1() {
18+
File file = new File(common.gspCommon.BASE_SQL_DIR_PRIVATE + "erdiagram/postgres_voyager.sql");
19+
Option option = new Option();
20+
option.setVendor(TGSqlParser.getDBVendorByName("postgresql"));
21+
option.setShowERDiagram(true);
22+
DataFlowAnalyzer dataFlowAnalyzer = new DataFlowAnalyzer(file, option);
23+
dataFlowAnalyzer.generateDataFlow();
24+
dataflow flow = dataFlowAnalyzer.getDataFlow();
25+
assertTrue(flow.getRelationships().stream().filter(t->"er".equals(t.getType())).collect(Collectors.toList()).size()==6);
26+
}
27+
28+
public void test2() {
29+
File file = new File(common.gspCommon.BASE_SQL_DIR_PRIVATE + "erdiagram/postgres_index.sql");
30+
Option option = new Option();
31+
option.setVendor(TGSqlParser.getDBVendorByName("postgresql"));
32+
option.setShowERDiagram(true);
33+
DataFlowAnalyzer dataFlowAnalyzer = new DataFlowAnalyzer(file, option);
34+
dataFlowAnalyzer.generateDataFlow();
35+
dataflow flow = dataFlowAnalyzer.getDataFlow();
36+
Dataflow dataFlow = DataFlowAnalyzer.getSqlflowJSONModel(TGSqlParser.getDBVendorByName("postgresql"), flow, false);
37+
List<Column> column = dataFlow.getDbobjs().getServers().get(0).getDatabases().get(0).getSchemas().get(0).getTables().get(0).getColumns();
38+
assertTrue(column.get(1).isIndexKey());
39+
assertTrue(column.get(2).isIndexKey());
40+
}
41+
}

0 commit comments

Comments
 (0)