@@ -749,6 +749,16 @@ func TestRunExecsWithExpectedErrorMeetsExpectations(t *testing.T) {
749749 }
750750}
751751
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+
752762func TestRunQueryWithExpectedErrorMeetsExpectations (t * testing.T ) {
753763 db , dbmock , _ := New ()
754764 dbmock .ExpectQuery ("THE FIRST QUERY" ).WillReturnError (fmt .Errorf ("big bad bug" ))
@@ -959,7 +969,7 @@ func TestPrepareExec(t *testing.T) {
959969 mock .ExpectBegin ()
960970 ep := mock .ExpectPrepare ("INSERT INTO ORDERS\\ (ID, STATUS\\ ) VALUES \\ (\\ ?, \\ ?\\ )" )
961971 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 ))
963973 }
964974 mock .ExpectCommit ()
965975 tx , _ := db .Begin ()
@@ -1073,7 +1083,7 @@ func TestPreparedStatementCloseExpectation(t *testing.T) {
10731083 defer db .Close ()
10741084
10751085 ep := mock .ExpectPrepare ("INSERT INTO ORDERS" ).WillBeClosed ()
1076- ep .ExpectExec ().WithArgs ( 1 , "Hello" ). WillReturnResult (NewResult (1 , 1 ))
1086+ ep .ExpectExec ().WillReturnResult (NewResult (1 , 1 ))
10771087
10781088 stmt , err := db .Prepare ("INSERT INTO ORDERS(ID, STATUS) VALUES (?, ?)" )
10791089 if err != nil {
@@ -1104,7 +1114,6 @@ func TestExecExpectationErrorDelay(t *testing.T) {
11041114 // test that return of error is delayed
11051115 var delay time.Duration = 100 * time .Millisecond
11061116 mock .ExpectExec ("^INSERT INTO articles" ).
1107- WithArgs ("hello" ).
11081117 WillReturnError (errors .New ("slow fail" )).
11091118 WillDelayFor (delay )
11101119
@@ -1230,10 +1239,10 @@ func Test_sqlmock_Prepare_and_Exec(t *testing.T) {
12301239
12311240 mock .ExpectPrepare ("SELECT (.+) FROM users WHERE (.+)" )
12321241 expected := NewResult (1 , 1 )
1233- mock .ExpectExec ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ).
1242+ mock .ExpectExec ("SELECT (.+) FROM users WHERE (.+)" ).
12341243 WillReturnResult (expected )
12351244 expectedRows := mock .NewRows ([]string {"id" , "name" , "email" }).AddRow (1 , "test" , "test@example.com" )
1236- mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ). WillReturnRows (expectedRows )
1245+ mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WillReturnRows (expectedRows )
12371246
12381247 got , err := mock .(* sqlmock ).Prepare (query )
12391248 if err != nil {
@@ -1326,7 +1335,7 @@ func Test_sqlmock_Query(t *testing.T) {
13261335 }
13271336 defer db .Close ()
13281337 expectedRows := mock .NewRows ([]string {"id" , "name" , "email" }).AddRow (1 , "test" , "test@example.com" )
1329- mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WithArgs ( "test" ). WillReturnRows (expectedRows )
1338+ mock .ExpectQuery ("SELECT (.+) FROM users WHERE (.+)" ).WillReturnRows (expectedRows )
13301339 query := "SELECT name, email FROM users WHERE name = ?"
13311340 rows , err := mock .(* sqlmock ).Query (query , []driver.Value {"test" })
13321341 if err != nil {
@@ -1340,3 +1349,19 @@ func Test_sqlmock_Query(t *testing.T) {
13401349 return
13411350 }
13421351}
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" , "test@example.com" )
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