MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / TestValidator_Validate

Function TestValidator_Validate

cmd/gosqlx/cmd/validator_test.go:126–291  ·  view source on GitHub ↗

TestValidator_Validate tests multi-file validation

(t *testing.T)

Source from the content-addressed store, hash-verified

124
125// TestValidator_Validate tests multi-file validation
126func TestValidator_Validate(t *testing.T) {
127 tmpDir := t.TempDir()
128
129 tests := []struct {
130 name string
131 files map[string]string // filename -> content
132 args []string
133 opts ValidatorOptions
134 expectTotalFiles int
135 expectValidFiles int
136 expectInvalidFiles int
137 expectError bool
138 expectOutContains []string
139 expectErrContains []string
140 }{
141 {
142 name: "single valid file",
143 files: map[string]string{
144 "query1.sql": "SELECT * FROM users",
145 },
146 args: []string{filepath.Join(tmpDir, "query1.sql")},
147 opts: ValidatorOptions{},
148 expectTotalFiles: 1,
149 expectValidFiles: 1,
150 expectInvalidFiles: 0,
151 expectOutContains: []string{"✅", "query1.sql", "Valid SQL"},
152 },
153 {
154 name: "multiple valid files",
155 files: map[string]string{
156 "query1.sql": "SELECT * FROM users",
157 "query2.sql": "INSERT INTO users (name) VALUES ('John')",
158 "query3.sql": "UPDATE users SET active = true WHERE id = 1",
159 },
160 args: []string{
161 filepath.Join(tmpDir, "query1.sql"),
162 filepath.Join(tmpDir, "query2.sql"),
163 filepath.Join(tmpDir, "query3.sql"),
164 },
165 opts: ValidatorOptions{},
166 expectTotalFiles: 3,
167 expectValidFiles: 3,
168 expectInvalidFiles: 0,
169 expectOutContains: []string{"✅", "query1.sql", "query2.sql", "query3.sql"},
170 },
171 {
172 name: "mix of valid and invalid files",
173 files: map[string]string{
174 "valid.sql": "SELECT * FROM users",
175 "invalid.sql": "SELECT * FROM",
176 },
177 args: []string{
178 filepath.Join(tmpDir, "valid.sql"),
179 filepath.Join(tmpDir, "invalid.sql"),
180 },
181 opts: ValidatorOptions{},
182 expectTotalFiles: 2,
183 expectValidFiles: 1,

Callers

nothing calls this directly

Calls 6

ValidateMethod · 0.95
RunMethod · 0.80
NewValidatorFunction · 0.70
FatalfMethod · 0.65
ErrorfMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected