Skip to content

Commit 55ecc5a

Browse files
authored
Merge pull request #67 from ahmadmuzakki29/master
apply stripQuery before assigning query expectation
2 parents d24b409 + 1fd67a1 commit 55ecc5a

File tree

4 files changed

+23
-29
lines changed

4 files changed

+23
-29
lines changed

expectations_test.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func ExampleExpectedExec() {
104104
// Output: some error
105105
}
106106

107-
func TestBuildQuery(t *testing.T){
107+
func TestBuildQuery(t *testing.T) {
108108
db, mock, _ := New()
109109
query := `
110110
SELECT
@@ -113,17 +113,22 @@ func TestBuildQuery(t *testing.T){
113113
address,
114114
anotherfield
115115
FROM user
116+
where
117+
name = 'John'
118+
and
119+
address = 'Jakarta'
120+
116121
`
117-
122+
118123
mock.ExpectQuery(query)
119124
mock.ExpectExec(query)
120125
mock.ExpectPrepare(query)
121-
126+
122127
db.QueryRow(query)
123128
db.Exec(query)
124129
db.Prepare(query)
125-
126-
if err:=mock.ExpectationsWereMet(); err!=nil{
130+
131+
if err := mock.ExpectationsWereMet(); err != nil {
127132
t.Error(err)
128133
}
129-
}
134+
}

sqlmock.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ func (c *sqlmock) Exec(query string, args []driver.Value) (res driver.Result, er
255255

256256
func (c *sqlmock) ExpectExec(sqlRegexStr string) *ExpectedExec {
257257
e := &ExpectedExec{}
258-
sqlRegexStr = buildQuery(sqlRegexStr)
258+
sqlRegexStr = stripQuery(sqlRegexStr)
259259
e.sqlRegex = regexp.MustCompile(sqlRegexStr)
260260
c.expected = append(c.expected, e)
261261
return e
@@ -302,7 +302,7 @@ func (c *sqlmock) Prepare(query string) (driver.Stmt, error) {
302302
}
303303

304304
func (c *sqlmock) ExpectPrepare(sqlRegexStr string) *ExpectedPrepare {
305-
sqlRegexStr = buildQuery(sqlRegexStr)
305+
sqlRegexStr = stripQuery(sqlRegexStr)
306306
e := &ExpectedPrepare{sqlRegex: regexp.MustCompile(sqlRegexStr), mock: c}
307307
c.expected = append(c.expected, e)
308308
return e
@@ -371,7 +371,7 @@ func (c *sqlmock) Query(query string, args []driver.Value) (rw driver.Rows, err
371371

372372
func (c *sqlmock) ExpectQuery(sqlRegexStr string) *ExpectedQuery {
373373
e := &ExpectedQuery{}
374-
sqlRegexStr = buildQuery(sqlRegexStr)
374+
sqlRegexStr = stripQuery(sqlRegexStr)
375375
e.sqlRegex = regexp.MustCompile(sqlRegexStr)
376376
c.expected = append(c.expected, e)
377377
return e

sqlmock_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ package sqlmock
33
import (
44
"database/sql"
55
"fmt"
6+
"strconv"
67
"sync"
78
"testing"
89
"time"
9-
"github.com/golang/go/src/pkg/strconv"
1010
)
1111

1212
func cancelOrder(db *sql.DB, orderID int) error {
1313
tx, _ := db.Begin()
1414
_, _ = tx.Query("SELECT * FROM orders {0} FOR UPDATE", orderID)
1515
err := tx.Rollback()
16-
if (err != nil) {
16+
if err != nil {
1717
return err
1818
}
1919
return nil
@@ -892,8 +892,8 @@ func TestPrepareExec(t *testing.T) {
892892
defer db.Close()
893893
mock.ExpectBegin()
894894
ep := mock.ExpectPrepare("INSERT INTO ORDERS\\(ID, STATUS\\) VALUES \\(\\?, \\?\\)")
895-
for i:=0; i < 3; i++ {
896-
ep.ExpectExec().WillReturnResult(NewResult(1,1))
895+
for i := 0; i < 3; i++ {
896+
ep.ExpectExec().WillReturnResult(NewResult(1, 1))
897897
}
898898
mock.ExpectCommit()
899899
tx, _ := db.Begin()
@@ -902,8 +902,8 @@ func TestPrepareExec(t *testing.T) {
902902
t.Fatal(err)
903903
}
904904
defer stmt.Close()
905-
for i:=0; i < 3; i++ {
906-
_, err := stmt.Exec(i, "Hello" + strconv.Itoa(i))
905+
for i := 0; i < 3; i++ {
906+
_, err := stmt.Exec(i, "Hello"+strconv.Itoa(i))
907907
if err != nil {
908908
t.Fatal(err)
909909
}
@@ -938,8 +938,8 @@ func TestPrepareQuery(t *testing.T) {
938938
}
939939
defer rows.Close()
940940
for rows.Next() {
941-
var(
942-
id int
941+
var (
942+
id int
943943
status string
944944
)
945945
if rows.Scan(&id, &status); id != 101 || status != "Hello" {
@@ -995,4 +995,4 @@ func TestExpectedBeginOrder(t *testing.T) {
995995
if err := db.Close(); err == nil {
996996
t.Error("an error was expected when calling close, but got none")
997997
}
998-
}
998+
}

util.go

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,3 @@ var re = regexp.MustCompile("\\s+")
1111
func stripQuery(q string) (s string) {
1212
return strings.TrimSpace(re.ReplaceAllString(q, " "))
1313
}
14-
15-
// mimicking how sql.DB build their queries
16-
func buildQuery(q string)string{
17-
q = strings.TrimSpace(q)
18-
lines := strings.Split(q,"\n")
19-
var newQuery string
20-
for _,l := range lines{
21-
newQuery = newQuery +" " +strings.TrimSpace(l)
22-
}
23-
return strings.TrimSpace(newQuery)
24-
}

0 commit comments

Comments
 (0)