diff --git a/.travis.yml b/.travis.yml index 318f88c..9a56f03 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ go: - 1.9.x - 1.10.x - 1.11.x + - 1.12.x diff --git a/sqlmock_go18_test.go b/sqlmock_go18_test.go index 1db3f5f..e53d9c7 100644 --- a/sqlmock_go18_test.go +++ b/sqlmock_go18_test.go @@ -474,34 +474,3 @@ func TestContextExecErrorDelay(t *testing.T) { t.Errorf("expecting a delay of less than %v before error, actual delay was %v", delay, elapsed) } } - -func TestStatementTX(t *testing.T) { - t.Parallel() - db, mock, err := New() - if err != nil { - t.Errorf("an error '%s' was not expected when opening a stub database connection", err) - } - defer db.Close() - - prep := mock.ExpectPrepare("SELECT") - mock.ExpectBegin() - - prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail")) - - stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?") - if err != nil { - t.Fatalf("unexpected error on prepare: %v", err) - } - - tx, err := db.Begin() - if err != nil { - t.Fatalf("unexpected error on begin: %v", err) - } - - // upgrade connection for statement - txStmt := tx.Stmt(stmt) - _, err = txStmt.Query(1) - if err == nil || err.Error() != "fast fail" { - t.Fatalf("unexpected result: %v", err) - } -} diff --git a/sqlmock_go19_test.go b/sqlmock_go19_test.go new file mode 100644 index 0000000..6c69559 --- /dev/null +++ b/sqlmock_go19_test.go @@ -0,0 +1,39 @@ +// +build go1.9 + +package sqlmock + +import ( + "errors" + "testing" +) + +func TestStatementTX(t *testing.T) { + t.Parallel() + db, mock, err := New() + if err != nil { + t.Errorf("an error '%s' was not expected when opening a stub database connection", err) + } + defer db.Close() + + prep := mock.ExpectPrepare("SELECT") + mock.ExpectBegin() + + prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail")) + + stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?") + if err != nil { + t.Fatalf("unexpected error on prepare: %v", err) + } + + tx, err := db.Begin() + if err != nil { + t.Fatalf("unexpected error on begin: %v", err) + } + + // upgrade connection for statement + txStmt := tx.Stmt(stmt) + _, err = txStmt.Query(1) + if err == nil || err.Error() != "fast fail" { + t.Fatalf("unexpected result: %v", err) + } +}