Skip to content

Commit 6622224

Browse files
authored
Merge pull request DATA-DOG#333 from sfc-gh-tvidyasankar/patch-1
fix bug/334 when checking empty expectedQuery with actual query
2 parents 108200d + f53e637 commit 6622224

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

query.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ func (f QueryMatcherFunc) Match(expectedSQL, actualSQL string) error {
4242
// QueryMatcherRegexp is the default SQL query matcher
4343
// used by sqlmock. It parses expectedSQL to a regular
4444
// expression and attempts to match actualSQL.
45-
var QueryMatcherRegexp QueryMatcher = QueryMatcherFunc(func(expectedSQL, actualSQL string) error {
45+
var QueryMatcherRegexp QueryMatcher = QueryMatcherFunc(func(expectedSQL, actualSQL string) error {
4646
expect := stripQuery(expectedSQL)
4747
actual := stripQuery(actualSQL)
48+
if actual != "" && expect == "" {
49+
return fmt.Errorf("expectedSQL can't be empty")
50+
}
4851
re, err := regexp.Compile(expect)
4952
if err != nil {
5053
return err

query_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func TestQueryMatcherRegexp(t *testing.T) {
6969
{"SELECT (.+) FROM users", "SELECT name, email FROM users WHERE id = ?", nil},
7070
{"Select (.+) FROM users", "SELECT name, email FROM users WHERE id = ?", fmt.Errorf(`could not match actual sql: "SELECT name, email FROM users WHERE id = ?" with expected regexp "Select (.+) FROM users"`)},
7171
{"SELECT (.+) FROM\nusers", "SELECT name, email\n FROM users\n WHERE id = ?", nil},
72+
{"","SELECT from table", fmt.Errorf(`expectedSQL can't be empty`)},
7273
}
7374

7475
for i, c := range cases {

0 commit comments

Comments
 (0)