Skip to content

Commit 4fbf605

Browse files
author
Nikita Koryabkin
committed
move tests
1 parent 8cf05c2 commit 4fbf605

File tree

2 files changed

+80
-82
lines changed

2 files changed

+80
-82
lines changed

sqlmock_go18_test.go

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ package sqlmock
55
import (
66
"context"
77
"database/sql"
8-
"database/sql/driver"
98
"errors"
10-
"reflect"
119
"testing"
1210
"time"
1311
)
@@ -641,83 +639,3 @@ func TestPingExpectationsContextTimeout(t *testing.T) {
641639
t.Errorf("expected Ping to return after context timeout, but it did not in a timely fashion")
642640
}
643641
}
644-
645-
type failArgument struct{}
646-
647-
func (f failArgument) Match(_ driver.Value) bool {
648-
return false
649-
}
650-
651-
func Test_sqlmock_Exec(t *testing.T) {
652-
db, mock, err := New()
653-
if err != nil {
654-
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
655-
}
656-
defer db.Close()
657-
658-
mock.ExpectBegin()
659-
_, err = mock.(*sqlmock).Exec("", []driver.Value{})
660-
if err == nil {
661-
t.Errorf("error expected")
662-
return
663-
}
664-
665-
expected := NewResult(1, 1)
666-
mock.ExpectExec("SELECT (.+) FROM users WHERE (.+)").
667-
WillReturnResult(expected).
668-
WithArgs("test")
669-
670-
matchErr := errors.New("matcher sqlmock.failArgument could not match 0 argument driver.NamedValue - {Name: Ordinal:1 Value:{}}")
671-
mock.ExpectExec("SELECT (.+) FROM animals WHERE (.+)").
672-
WillReturnError(matchErr).
673-
WithArgs(failArgument{})
674-
675-
mock.ExpectExec("").WithArgs(failArgument{})
676-
677-
mock.(*sqlmock).expected = mock.(*sqlmock).expected[1:]
678-
query := "SELECT name, email FROM users WHERE name = ?"
679-
result, err := mock.(*sqlmock).Exec(query, []driver.Value{"test"})
680-
if err != nil {
681-
t.Error(err)
682-
return
683-
}
684-
if !reflect.DeepEqual(result, expected) {
685-
t.Errorf("Results are not equal. Expected: %v, Actual: %v", expected, result)
686-
return
687-
}
688-
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{}})
697-
if err == nil {
698-
t.Errorf("error expected")
699-
return
700-
}
701-
}
702-
703-
func Test_sqlmock_Query(t *testing.T) {
704-
db, mock, err := New()
705-
if err != nil {
706-
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
707-
}
708-
defer db.Close()
709-
expectedRows := mock.NewRows([]string{"id", "name", "email"}).AddRow(1, "test", "test@example.com")
710-
mock.ExpectQuery("SELECT (.+) FROM users WHERE (.+)").WillReturnRows(expectedRows)
711-
query := "SELECT name, email FROM users WHERE name = ?"
712-
rows, err := mock.(*sqlmock).Query(query, []driver.Value{"test"})
713-
if err != nil {
714-
t.Error(err)
715-
return
716-
}
717-
defer rows.Close()
718-
_, err = mock.(*sqlmock).Query(query, []driver.Value{failArgument{}})
719-
if err == nil {
720-
t.Errorf("error expected")
721-
return
722-
}
723-
}

sqlmock_test.go

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1260,3 +1260,83 @@ func Test_sqlmock_Prepare_and_Exec(t *testing.T) {
12601260
}
12611261
defer rows.Close()
12621262
}
1263+
1264+
type failArgument struct{}
1265+
1266+
func (f failArgument) Match(_ driver.Value) bool {
1267+
return false
1268+
}
1269+
1270+
func Test_sqlmock_Exec(t *testing.T) {
1271+
db, mock, err := New()
1272+
if err != nil {
1273+
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
1274+
}
1275+
defer db.Close()
1276+
1277+
mock.ExpectBegin()
1278+
_, err = mock.(*sqlmock).Exec("", []driver.Value{})
1279+
if err == nil {
1280+
t.Errorf("error expected")
1281+
return
1282+
}
1283+
1284+
expected := NewResult(1, 1)
1285+
mock.ExpectExec("SELECT (.+) FROM users WHERE (.+)").
1286+
WillReturnResult(expected).
1287+
WithArgs("test")
1288+
1289+
matchErr := errors.New("matcher sqlmock.failArgument could not match 0 argument driver.NamedValue - {Name: Ordinal:1 Value:{}}")
1290+
mock.ExpectExec("SELECT (.+) FROM animals WHERE (.+)").
1291+
WillReturnError(matchErr).
1292+
WithArgs(failArgument{})
1293+
1294+
mock.ExpectExec("").WithArgs(failArgument{})
1295+
1296+
mock.(*sqlmock).expected = mock.(*sqlmock).expected[1:]
1297+
query := "SELECT name, email FROM users WHERE name = ?"
1298+
result, err := mock.(*sqlmock).Exec(query, []driver.Value{"test"})
1299+
if err != nil {
1300+
t.Error(err)
1301+
return
1302+
}
1303+
if !reflect.DeepEqual(result, expected) {
1304+
t.Errorf("Results are not equal. Expected: %v, Actual: %v", expected, result)
1305+
return
1306+
}
1307+
1308+
failQuery := "SELECT name, sex FROM animals WHERE sex = ?"
1309+
_, err = mock.(*sqlmock).Exec(failQuery, []driver.Value{failArgument{}})
1310+
if err == nil {
1311+
t.Errorf("error expected")
1312+
return
1313+
}
1314+
mock.(*sqlmock).ordered = false
1315+
_, err = mock.(*sqlmock).Exec("", []driver.Value{failArgument{}})
1316+
if err == nil {
1317+
t.Errorf("error expected")
1318+
return
1319+
}
1320+
}
1321+
1322+
func Test_sqlmock_Query(t *testing.T) {
1323+
db, mock, err := New()
1324+
if err != nil {
1325+
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
1326+
}
1327+
defer db.Close()
1328+
expectedRows := mock.NewRows([]string{"id", "name", "email"}).AddRow(1, "test", "test@example.com")
1329+
mock.ExpectQuery("SELECT (.+) FROM users WHERE (.+)").WillReturnRows(expectedRows)
1330+
query := "SELECT name, email FROM users WHERE name = ?"
1331+
rows, err := mock.(*sqlmock).Query(query, []driver.Value{"test"})
1332+
if err != nil {
1333+
t.Error(err)
1334+
return
1335+
}
1336+
defer rows.Close()
1337+
_, err = mock.(*sqlmock).Query(query, []driver.Value{failArgument{}})
1338+
if err == nil {
1339+
t.Errorf("error expected")
1340+
return
1341+
}
1342+
}

0 commit comments

Comments
 (0)