Skip to content

Commit 62d1804

Browse files
committed
feat: more tests
1 parent 68468b4 commit 62d1804

File tree

2 files changed

+67
-42
lines changed

2 files changed

+67
-42
lines changed

cmd/sqlx_parser_test.go

Lines changed: 66 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ config {
2929
}
3030
SELECT * FROM electric_cars WHERE model = $1;`,
3131
expected: sqlxParserMeta{
32-
numLines: 13,
33-
configBlockMeta: ConfigBlockMeta {
34-
exsists: true,
35-
startOfConfigBlock: 2,
36-
endOfConfigBlock: 12,
37-
configBlockContent: `config {
32+
numLines: 13,
33+
configBlockMeta: ConfigBlockMeta{
34+
exsists: true,
35+
startOfConfigBlock: 2,
36+
endOfConfigBlock: 12,
37+
configBlockContent: `config {
3838
type: "table",
3939
schema: "electric_cars",
4040
dependencies: 'ALL_EV_CARS_DATA',
@@ -46,17 +46,17 @@ SELECT * FROM electric_cars WHERE model = $1;`,
4646
tags: ["TAG_1"]
4747
}
4848
`},
49-
sqlBlocksMeta: SqlBlockMeta {
50-
exsists: true,
51-
startOfSqlBlock: 13,
52-
endOfSqlBlock: 13,
53-
sqlBlockContent: `SELECT * FROM electric_cars WHERE model = $1;`,
54-
formattedSqlBlockContent: "",
55-
},
49+
sqlBlocksMeta: SqlBlockMeta{
50+
exsists: true,
51+
startOfSqlBlock: 13,
52+
endOfSqlBlock: 13,
53+
sqlBlockContent: `SELECT * FROM electric_cars WHERE model = $1;`,
54+
formattedSqlBlockContent: "",
55+
},
5656
},
57-
wantErr: false,
57+
wantErr: false,
5858
},
59-
{
59+
{
6060
name: "Pre operations query after config block",
6161
content: `
6262
config {
@@ -79,13 +79,13 @@ pre_operations {
7979
}
8080
8181
SELECT * FROM electric_cars WHERE model = $1;`,
82-
expected: sqlxParserMeta{
83-
numLines: 21,
84-
configBlockMeta: ConfigBlockMeta {
85-
exsists: true,
86-
startOfConfigBlock: 2,
87-
endOfConfigBlock: 12,
88-
configBlockContent: `
82+
expected: sqlxParserMeta{
83+
numLines: 21,
84+
configBlockMeta: ConfigBlockMeta{
85+
exsists: true,
86+
startOfConfigBlock: 2,
87+
endOfConfigBlock: 12,
88+
configBlockContent: `
8989
config {
9090
type: "table",
9191
schema: "electric_cars",
@@ -97,18 +97,32 @@ config {
9797
},
9898
tags: ["TAG_1"]
9999
}`,
100-
},
101-
sqlBlocksMeta: SqlBlockMeta {
102-
exsists: true,
103-
startOfSqlBlock: 21,
104-
endOfSqlBlock: 21,
105-
sqlBlockContent: `SELECT * FROM electric_cars WHERE model = $1;`,
106-
formattedSqlBlockContent: "",
107-
},
100+
},
101+
sqlBlocksMeta: SqlBlockMeta{
102+
exsists: true,
103+
startOfSqlBlock: 21,
104+
endOfSqlBlock: 21,
105+
sqlBlockContent: `SELECT * FROM electric_cars WHERE model = $1;`,
106+
formattedSqlBlockContent: "",
107+
},
108+
preOpsBlocksMeta: []PreOpsBlockMeta{
109+
{
110+
exsists: true,
111+
startOfPreOperationsBlock: 13,
112+
endOfPreOperationsBlock: 19,
113+
preOpsBlockContent: `pre_operations {
114+
${when(incremental(), ` + "`" + `DELETE
115+
FROM
116+
${self()}
117+
WHERE
118+
DATE(PIPELINE_RUN_DATETIME) = CURRENT_DATE()` + "`" + `)}
119+
}`,
120+
},
121+
},
108122
},
109-
wantErr: false,
110-
},
111-
}
123+
wantErr: false,
124+
},
125+
}
112126

113127
for _, tt := range tests {
114128
t.Run(tt.name, func(t *testing.T) {
@@ -152,18 +166,28 @@ config {
152166
if got.configBlockMeta.endOfConfigBlock != tt.expected.configBlockMeta.endOfConfigBlock {
153167
t.Errorf("[got]: configEndLine = %v, [want]: %v", got.configBlockMeta.endOfConfigBlock, tt.expected.configBlockMeta.endOfConfigBlock)
154168
}
155-
if strings.TrimSpace(got.configBlockMeta.configBlockContent) != strings.TrimSpace(tt.expected.configBlockMeta.configBlockContent) {
169+
if strings.TrimSpace(got.configBlockMeta.configBlockContent) != strings.TrimSpace(tt.expected.configBlockMeta.configBlockContent) {
156170
t.Errorf("[got]: configString = %v, [want]: %v", got.configBlockMeta.configBlockContent, tt.expected.configBlockMeta.configBlockContent)
157171
}
158-
if strings.TrimSpace(got.sqlBlocksMeta.sqlBlockContent) != strings.TrimSpace(tt.expected.sqlBlocksMeta.sqlBlockContent) {
159-
t.Errorf("[got]: sqlBlockContent = %v, [want]: %v", got.sqlBlocksMeta.sqlBlockContent, tt.expected.sqlBlocksMeta.sqlBlockContent)
160-
}
172+
if strings.TrimSpace(got.sqlBlocksMeta.sqlBlockContent) != strings.TrimSpace(tt.expected.sqlBlocksMeta.sqlBlockContent) {
173+
t.Errorf("[got]: sqlBlockContent = %v, [want]: %v", got.sqlBlocksMeta.sqlBlockContent, tt.expected.sqlBlocksMeta.sqlBlockContent)
174+
}
161175

162-
if (got.sqlBlocksMeta.startOfSqlBlock != tt.expected.sqlBlocksMeta.startOfSqlBlock) {
163-
t.Errorf("[got]: startOfSqlBlock = %v, [want]: %v", got.sqlBlocksMeta.startOfSqlBlock, tt.expected.sqlBlocksMeta.startOfSqlBlock)
164-
}
165-
if (got.sqlBlocksMeta.endOfSqlBlock != tt.expected.sqlBlocksMeta.endOfSqlBlock) {
166-
t.Errorf("[got]: endOfSqlBlock = %v, [want]: %v", got.sqlBlocksMeta.endOfSqlBlock, tt.expected.sqlBlocksMeta.endOfSqlBlock)
176+
if got.sqlBlocksMeta.startOfSqlBlock != tt.expected.sqlBlocksMeta.startOfSqlBlock {
177+
t.Errorf("[got]: startOfSqlBlock = %v, [want]: %v", got.sqlBlocksMeta.startOfSqlBlock, tt.expected.sqlBlocksMeta.startOfSqlBlock)
178+
}
179+
if got.sqlBlocksMeta.endOfSqlBlock != tt.expected.sqlBlocksMeta.endOfSqlBlock {
180+
t.Errorf("[got]: endOfSqlBlock = %v, [want]: %v", got.sqlBlocksMeta.endOfSqlBlock, tt.expected.sqlBlocksMeta.endOfSqlBlock)
181+
}
182+
183+
if len(tt.expected.preOpsBlocksMeta) > 0 {
184+
if got.preOpsBlocksMeta[0].startOfPreOperationsBlock != tt.expected.preOpsBlocksMeta[0].startOfPreOperationsBlock {
185+
t.Errorf("[got]: startOfPreOperationsBlock = %v, [want]: %v", got.preOpsBlocksMeta[0].startOfPreOperationsBlock, tt.expected.preOpsBlocksMeta[0].startOfPreOperationsBlock)
186+
}
187+
188+
if got.preOpsBlocksMeta[0].endOfPreOperationsBlock != tt.expected.preOpsBlocksMeta[0].endOfPreOperationsBlock {
189+
t.Errorf("[got]: endOfPreOperationsBlock = %v, [want]: %v", got.preOpsBlocksMeta[0].endOfPreOperationsBlock, tt.expected.preOpsBlocksMeta[0].endOfPreOperationsBlock)
190+
}
167191
}
168192

169193
})

cmd/utils.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ func writeContentsToFileInPlace(sqlxFileMetaData *sqlxParserMeta, formattingErro
164164
func formatSqlxFile(sqlxFilePath string, inplace bool, sqlfluffConfigPath string, pythonExecutable string, logger *slog.Logger) {
165165
sqlxFileMetaData, err := sqlxParser(sqlxFilePath)
166166
// fmt.Printf("%+v\n", sqlxFileMetaData)
167+
167168
if err != nil {
168169
fmt.Println("Error finding config blocks:", err)
169170
} else {

0 commit comments

Comments
 (0)