@@ -749,6 +749,16 @@ func TestRunExecsWithExpectedErrorMeetsExpectations(t *testing.T) {
749
749
}
750
750
}
751
751
752
+ func TestRunExecsWithNoArgsExpectedMeetsExpectations (t * testing.T ) {
753
+ db , dbmock , _ := New ()
754
+ dbmock .ExpectExec ("THE FIRST EXEC" ).WithoutArgs ().WillReturnResult (NewResult (0 , 0 ))
755
+
756
+ _ , err := db .Exec ("THE FIRST EXEC" , "foobar" )
757
+ if err == nil {
758
+ t .Fatalf ("expected error, but there wasn't any" )
759
+ }
760
+ }
761
+
752
762
func TestRunQueryWithExpectedErrorMeetsExpectations (t * testing.T ) {
753
763
db , dbmock , _ := New ()
754
764
dbmock .ExpectQuery ("THE FIRST QUERY" ).WillReturnError (fmt .Errorf ("big bad bug" ))
@@ -959,7 +969,7 @@ func TestPrepareExec(t *testing.T) {
959
969
mock .ExpectBegin ()
960
970
ep := mock .ExpectPrepare ("INSERT INTO ORDERS\\ (ID, STATUS\\ ) VALUES \\ (\\ ?, \\ ?\\ )" )
961
971
for i := 0 ; i < 3 ; i ++ {
962
- ep .ExpectExec ().WithArgs ( i , "Hello" + strconv . Itoa ( i )). WillReturnResult (NewResult (1 , 1 ))
972
+ ep .ExpectExec ().WillReturnResult (NewResult (1 , 1 ))
963
973
}
964
974
mock .ExpectCommit ()
965
975
tx , _ := db .Begin ()
@@ -1073,7 +1083,7 @@ func TestPreparedStatementCloseExpectation(t *testing.T) {
1073
1083
defer db .Close ()
1074
1084
1075
1085
ep := mock .ExpectPrepare ("INSERT INTO ORDERS" ).WillBeClosed ()
1076
- ep .ExpectExec ().WithArgs ( 1 , "Hello" ). WillReturnResult (NewResult (1 , 1 ))
1086
+ ep .ExpectExec ().WillReturnResult (NewResult (1 , 1 ))
1077
1087
1078
1088
stmt , err := db .Prepare ("INSERT INTO ORDERS(ID, STATUS) VALUES (?, ?)" )
1079
1089
if err != nil {
@@ -1104,7 +1114,6 @@ func TestExecExpectationErrorDelay(t *testing.T) {
1104
1114
// test that return of error is delayed
1105
1115
var delay time.Duration = 100 * time .Millisecond
1106
1116
mock .ExpectExec ("^INSERT INTO articles" ).
1107
- WithArgs ("hello" ).
1108
1117
WillReturnError (errors .New ("slow fail" )).
1109
1118
WillDelayFor (delay )
1110
1119
@@ -1230,10 +1239,10 @@ func Test_sqlmock_Prepare_and_Exec(t *testing.T) {
1230
1239
1231
1240
mock .ExpectPrepare ("SELECT (.+) FROM users WHERE (.+)" )
1232
1241
expected := NewResult (1 , 1 )
1233
- mock .ExpectExec ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ).
1242
+ mock .ExpectExec ("SELECT (.+) FROM users WHERE (.+)" ).
1234
1243
WillReturnResult (expected )
1235
1244
expectedRows := mock .
NewRows ([]
string {
"id" ,
"name" ,
"email" }).
AddRow (
1 ,
"test" ,
"[email protected] " )
1236
- mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ). WillReturnRows (expectedRows )
1245
+ mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WillReturnRows (expectedRows )
1237
1246
1238
1247
got , err := mock .(* sqlmock ).Prepare (query )
1239
1248
if err != nil {
@@ -1326,7 +1335,7 @@ func Test_sqlmock_Query(t *testing.T) {
1326
1335
}
1327
1336
defer db .Close ()
1328
1337
expectedRows := mock .
NewRows ([]
string {
"id" ,
"name" ,
"email" }).
AddRow (
1 ,
"test" ,
"[email protected] " )
1329
- mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ). WillReturnRows (expectedRows )
1338
+ mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WillReturnRows (expectedRows )
1330
1339
query := "SELECT name, email FROM users WHERE name = ?"
1331
1340
rows , err := mock .(* sqlmock ).Query (query , []driver.Value {"test" })
1332
1341
if err != nil {
@@ -1340,3 +1349,19 @@ func Test_sqlmock_Query(t *testing.T) {
1340
1349
return
1341
1350
}
1342
1351
}
1352
+
1353
+ func Test_sqlmock_QueryExpectWithoutArgs (t * testing.T ) {
1354
+ db , mock , err := New ()
1355
+ if err != nil {
1356
+ t .Errorf ("an error '%s' was not expected when opening a stub database connection" , err )
1357
+ }
1358
+ defer db .Close ()
1359
+ expectedRows := mock .
NewRows ([]
string {
"id" ,
"name" ,
"email" }).
AddRow (
1 ,
"test" ,
"[email protected] " )
1360
+ mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WillReturnRows (expectedRows ).WithoutArgs ()
1361
+ query := "SELECT name, email FROM users WHERE name = ?"
1362
+ _ , err = mock .(* sqlmock ).Query (query , []driver.Value {"test" })
1363
+ if err == nil {
1364
+ t .Errorf ("error expected" )
1365
+ return
1366
+ }
1367
+ }
0 commit comments