Skip to content

Commit 6c8a572

Browse files
committed
for some reason transaction statement was not working on go1.8
1 parent 4ee1fda commit 6c8a572

File tree

3 files changed

+40
-31
lines changed

3 files changed

+40
-31
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ go:
1313
- 1.9.x
1414
- 1.10.x
1515
- 1.11.x
16+
- 1.12.x
1617

1718

1819

sqlmock_go18_test.go

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -474,34 +474,3 @@ func TestContextExecErrorDelay(t *testing.T) {
474474
t.Errorf("expecting a delay of less than %v before error, actual delay was %v", delay, elapsed)
475475
}
476476
}
477-
478-
func TestStatementTX(t *testing.T) {
479-
t.Parallel()
480-
db, mock, err := New()
481-
if err != nil {
482-
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
483-
}
484-
defer db.Close()
485-
486-
prep := mock.ExpectPrepare("SELECT")
487-
mock.ExpectBegin()
488-
489-
prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail"))
490-
491-
stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?")
492-
if err != nil {
493-
t.Fatalf("unexpected error on prepare: %v", err)
494-
}
495-
496-
tx, err := db.Begin()
497-
if err != nil {
498-
t.Fatalf("unexpected error on begin: %v", err)
499-
}
500-
501-
// upgrade connection for statement
502-
txStmt := tx.Stmt(stmt)
503-
_, err = txStmt.Query(1)
504-
if err == nil || err.Error() != "fast fail" {
505-
t.Fatalf("unexpected result: %v", err)
506-
}
507-
}

sqlmock_go19_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// +build go1.9
2+
3+
package sqlmock
4+
5+
import (
6+
"errors"
7+
"testing"
8+
)
9+
10+
func TestStatementTX(t *testing.T) {
11+
t.Parallel()
12+
db, mock, err := New()
13+
if err != nil {
14+
t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
15+
}
16+
defer db.Close()
17+
18+
prep := mock.ExpectPrepare("SELECT")
19+
mock.ExpectBegin()
20+
21+
prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail"))
22+
23+
stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?")
24+
if err != nil {
25+
t.Fatalf("unexpected error on prepare: %v", err)
26+
}
27+
28+
tx, err := db.Begin()
29+
if err != nil {
30+
t.Fatalf("unexpected error on begin: %v", err)
31+
}
32+
33+
// upgrade connection for statement
34+
txStmt := tx.Stmt(stmt)
35+
_, err = txStmt.Query(1)
36+
if err == nil || err.Error() != "fast fail" {
37+
t.Fatalf("unexpected result: %v", err)
38+
}
39+
}

0 commit comments

Comments
 (0)