MCPcopy
hub / github.com/apache/devlake / TestGetTableMetaData

Function TestGetTableMetaData

backend/helpers/e2ehelper/data_flow_tester_test.go:73–210  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

71}
72
73func TestGetTableMetaData(t *testing.T) {
74 var meta plugin.PluginMeta
75 dataflowTester := NewDataFlowTester(t, "test_dataflow", meta)
76 dataflowTester.FlushTabler(&TestModel{})
77 t.Run("dal_get_columns", func(t *testing.T) {
78 names, err := dal.GetColumnNames(dataflowTester.Dal, &TestModel{}, nil)
79 assert.Equal(t, err, nil)
80 assert.Equal(t, 9, len(names))
81 for _, e := range []string{
82 "connection_id",
83 "issue_id",
84 "label_name",
85 "created_at",
86 "updated_at",
87 "_raw_data_params",
88 "_raw_data_table",
89 "_raw_data_id",
90 "_raw_data_remark",
91 } {
92 assert.Contains(t, names, e)
93 }
94 })
95 t.Run("extract_columns", func(t *testing.T) {
96 columns := dataflowTester.extractColumns(&common.RawDataOrigin{})
97 assert.Equal(t, 4, len(columns))
98 for _, e := range []string{
99 "_raw_data_params",
100 "_raw_data_table",
101 "_raw_data_id",
102 "_raw_data_remark",
103 } {
104 assert.Contains(t, columns, e)
105 }
106 })
107 t.Run("dal_get_pk_column_names", func(t *testing.T) {
108 fields, err := dal.GetPrimarykeyColumnNames(dataflowTester.Dal, &TestModel{})
109 assert.Equal(t, err, nil)
110 assert.Equal(t, 3, len(fields))
111 for _, e := range []string{
112 "connection_id",
113 "issue_id",
114 "label_name",
115 } {
116 assert.Contains(t, fields, e)
117 }
118 })
119 t.Run("resolve_fields_targetFieldsOnly", func(t *testing.T) {
120 fields := dataflowTester.resolveTargetFields(&TestModel{}, TableOptions{
121 TargetFields: []string{"connection_id"},
122 IgnoreFields: nil,
123 IgnoreTypes: nil,
124 })
125 assert.Equal(t, 1, len(fields))
126 for _, e := range []string{"connection_id"} {
127 assert.Contains(t, fields, e)
128 }
129 })
130 t.Run("resolve_fields_ignoreFieldsOnly", func(t *testing.T) {

Callers

nothing calls this directly

Calls 5

FlushTablerMethod · 0.95
extractColumnsMethod · 0.95
resolveTargetFieldsMethod · 0.95
NewDataFlowTesterFunction · 0.85
RunMethod · 0.80

Tested by

no test coverage detected