Skip to content

Commit 168056e

Browse files
author
Jan Was
committed
move options to a separate file
1 parent 3cbf32d commit 168056e

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

driver.go

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ func (d *mockDriver) Open(dsn string) (driver.Conn, error) {
3535
return c, nil
3636
}
3737

38-
// New creates sqlmock database connection
39-
// and a mock to manage expectations.
38+
// New creates sqlmock database connection and a mock to manage expectations.
39+
// Accepts options, like ValueConverterOption, to use a ValueConverter from
40+
// a specific driver.
4041
// Pings db so that all expectations could be
4142
// asserted.
4243
func New(options ...func(*sqlmock) error) (*sql.DB, Sqlmock, error) {
@@ -51,8 +52,10 @@ func New(options ...func(*sqlmock) error) (*sql.DB, Sqlmock, error) {
5152
return smock.open(options)
5253
}
5354

54-
// NewWithDSN creates sqlmock database connection
55-
// with a specific DSN and a mock to manage expectations.
55+
// NewWithDSN creates sqlmock database connection with a specific DSN
56+
// and a mock to manage expectations.
57+
// Accepts options, like ValueConverterOption, to use a ValueConverter from
58+
// a specific driver.
5659
// Pings db so that all expectations could be asserted.
5760
//
5861
// This method is introduced because of sql abstraction
@@ -76,12 +79,3 @@ func NewWithDSN(dsn string, options ...func(*sqlmock) error) (*sql.DB, Sqlmock,
7679

7780
return smock.open(options)
7881
}
79-
80-
// WithValueConverter allows to create a sqlmock connection
81-
// with a custom ValueConverter to support drivers with special data types.
82-
func WithValueConverter(converter driver.ValueConverter) func(*sqlmock) error {
83-
return func(s *sqlmock) error {
84-
s.converter = converter
85-
return nil
86-
}
87-
}

driver_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func TestTwoOpenConnectionsOnTheSameDSN(t *testing.T) {
100100

101101
func TestWithOptions(t *testing.T) {
102102
c := &converter{}
103-
_, mock, err := New(WithValueConverter(c))
103+
_, mock, err := New(ValueConverterOption(c))
104104
if err != nil {
105105
t.Errorf("expected no error, but got: %s", err)
106106
}

options.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package sqlmock
2+
3+
import "database/sql/driver"
4+
5+
// ValueConverterOption allows to create a sqlmock connection
6+
// with a custom ValueConverter to support drivers with special data types.
7+
func ValueConverterOption(converter driver.ValueConverter) func(*sqlmock) error {
8+
return func(s *sqlmock) error {
9+
s.converter = converter
10+
return nil
11+
}
12+
}

0 commit comments

Comments
 (0)