Skip to content

Commit 8cf05c2

Browse files
author
Nikita Koryabkin
committed
added tests
1 parent 03d1707 commit 8cf05c2

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

sqlmock_go18_test.go

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -654,17 +654,28 @@ func Test_sqlmock_Exec(t *testing.T) {
654654
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
655655
}
656656
defer db.Close()
657-
query := "SELECT name, email FROM users WHERE name = ?"
657+
658+
mock.ExpectBegin()
659+
_, err = mock.(*sqlmock).Exec("", []driver.Value{})
660+
if err == nil {
661+
t.Errorf("error expected")
662+
return
663+
}
658664

659665
expected := NewResult(1, 1)
660666
mock.ExpectExec("SELECT (.+) FROM users WHERE (.+)").
661667
WillReturnResult(expected).
662668
WithArgs("test")
663669

670+
matchErr := errors.New("matcher sqlmock.failArgument could not match 0 argument driver.NamedValue - {Name: Ordinal:1 Value:{}}")
664671
mock.ExpectExec("SELECT (.+) FROM animals WHERE (.+)").
665-
WillReturnError(errors.New("matcher %T could not match %d argument %T - %+v")).
672+
WillReturnError(matchErr).
666673
WithArgs(failArgument{})
667674

675+
mock.ExpectExec("").WithArgs(failArgument{})
676+
677+
mock.(*sqlmock).expected = mock.(*sqlmock).expected[1:]
678+
query := "SELECT name, email FROM users WHERE name = ?"
668679
result, err := mock.(*sqlmock).Exec(query, []driver.Value{"test"})
669680
if err != nil {
670681
t.Error(err)
@@ -675,7 +686,14 @@ func Test_sqlmock_Exec(t *testing.T) {
675686
return
676687
}
677688

678-
_, err = mock.(*sqlmock).Exec(query, []driver.Value{failArgument{}})
689+
failQuery := "SELECT name, sex FROM animals WHERE sex = ?"
690+
_, err = mock.(*sqlmock).Exec(failQuery, []driver.Value{failArgument{}})
691+
if err == nil {
692+
t.Errorf("error expected")
693+
return
694+
}
695+
mock.(*sqlmock).ordered = false
696+
_, err = mock.(*sqlmock).Exec("", []driver.Value{failArgument{}})
679697
if err == nil {
680698
t.Errorf("error expected")
681699
return
@@ -697,4 +715,9 @@ func Test_sqlmock_Query(t *testing.T) {
697715
return
698716
}
699717
defer rows.Close()
718+
_, err = mock.(*sqlmock).Query(query, []driver.Value{failArgument{}})
719+
if err == nil {
720+
t.Errorf("error expected")
721+
return
722+
}
700723
}

0 commit comments

Comments
 (0)