1
0
mirror of https://github.com/zhashkevych/go-sqlxmock.git synced 2024-11-24 08:12:13 +02:00
This commit is contained in:
gedi 2016-02-26 14:38:04 +02:00
parent 55a0289da5
commit b465b1f024
2 changed files with 33 additions and 1 deletions

View File

@ -340,7 +340,6 @@ func (c *sqlmock) Query(query string, args []driver.Value) (rw driver.Rows, err
}
defer expected.Unlock()
expected.triggered = true
if !expected.queryMatches(query) {
return nil, fmt.Errorf("query '%s', does not match regex [%s]", query, expected.sqlRegex.String())
@ -358,6 +357,7 @@ func (c *sqlmock) Query(query string, args []driver.Value) (rw driver.Rows, err
return nil, fmt.Errorf("query '%s' with args %+v, must return a database/sql/driver.rows, but it was not set for expectation %T as %+v", query, args, expected, expected)
}
expected.triggered = true
return expected.rows, err
}

View File

@ -658,3 +658,35 @@ func ExampleSqlmock_goroutines() {
}
// Output:
}
// False Positive - passes despite mismatched Exec
// see #37 issue
func TestRunExecsWithOrderedShouldNotMeetAllExpectations(t *testing.T) {
db, dbmock, _ := New()
dbmock.ExpectExec("THE FIRST EXEC")
dbmock.ExpectExec("THE SECOND EXEC")
_, _ = db.Exec("THE FIRST EXEC")
_, _ = db.Exec("THE WRONG EXEC")
err := dbmock.ExpectationsWereMet()
if err == nil {
t.Fatal("was expecting an error, but there wasn't any")
}
}
// False Positive - passes despite mismatched Exec
// see #37 issue
func TestRunQueriesWithOrderedShouldNotMeetAllExpectations(t *testing.T) {
db, dbmock, _ := New()
dbmock.ExpectQuery("THE FIRST EXEC")
dbmock.ExpectQuery("THE SECOND EXEC")
_, _ = db.Query("THE FIRST EXEC")
_, _ = db.Query("THE WRONG EXEC")
err := dbmock.ExpectationsWereMet()
if err == nil {
t.Fatal("was expecting an error, but there wasn't any")
}
}