mirror of
https://github.com/DATA-DOG/go-sqlmock.git
synced 2025-03-19 20:57:50 +02:00
move options to a separate file
This commit is contained in:
parent
3cbf32d5e7
commit
168056e96a
20
driver.go
20
driver.go
@ -35,8 +35,9 @@ func (d *mockDriver) Open(dsn string) (driver.Conn, error) {
|
|||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// New creates sqlmock database connection
|
// New creates sqlmock database connection and a mock to manage expectations.
|
||||||
// and a mock to manage expectations.
|
// Accepts options, like ValueConverterOption, to use a ValueConverter from
|
||||||
|
// a specific driver.
|
||||||
// Pings db so that all expectations could be
|
// Pings db so that all expectations could be
|
||||||
// asserted.
|
// asserted.
|
||||||
func New(options ...func(*sqlmock) error) (*sql.DB, Sqlmock, error) {
|
func New(options ...func(*sqlmock) error) (*sql.DB, Sqlmock, error) {
|
||||||
@ -51,8 +52,10 @@ func New(options ...func(*sqlmock) error) (*sql.DB, Sqlmock, error) {
|
|||||||
return smock.open(options)
|
return smock.open(options)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewWithDSN creates sqlmock database connection
|
// NewWithDSN creates sqlmock database connection with a specific DSN
|
||||||
// with a specific DSN and a mock to manage expectations.
|
// and a mock to manage expectations.
|
||||||
|
// Accepts options, like ValueConverterOption, to use a ValueConverter from
|
||||||
|
// a specific driver.
|
||||||
// Pings db so that all expectations could be asserted.
|
// Pings db so that all expectations could be asserted.
|
||||||
//
|
//
|
||||||
// This method is introduced because of sql abstraction
|
// This method is introduced because of sql abstraction
|
||||||
@ -76,12 +79,3 @@ func NewWithDSN(dsn string, options ...func(*sqlmock) error) (*sql.DB, Sqlmock,
|
|||||||
|
|
||||||
return smock.open(options)
|
return smock.open(options)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithValueConverter allows to create a sqlmock connection
|
|
||||||
// with a custom ValueConverter to support drivers with special data types.
|
|
||||||
func WithValueConverter(converter driver.ValueConverter) func(*sqlmock) error {
|
|
||||||
return func(s *sqlmock) error {
|
|
||||||
s.converter = converter
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -100,7 +100,7 @@ func TestTwoOpenConnectionsOnTheSameDSN(t *testing.T) {
|
|||||||
|
|
||||||
func TestWithOptions(t *testing.T) {
|
func TestWithOptions(t *testing.T) {
|
||||||
c := &converter{}
|
c := &converter{}
|
||||||
_, mock, err := New(WithValueConverter(c))
|
_, mock, err := New(ValueConverterOption(c))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("expected no error, but got: %s", err)
|
t.Errorf("expected no error, but got: %s", err)
|
||||||
}
|
}
|
||||||
|
12
options.go
Normal file
12
options.go
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package sqlmock
|
||||||
|
|
||||||
|
import "database/sql/driver"
|
||||||
|
|
||||||
|
// ValueConverterOption allows to create a sqlmock connection
|
||||||
|
// with a custom ValueConverter to support drivers with special data types.
|
||||||
|
func ValueConverterOption(converter driver.ValueConverter) func(*sqlmock) error {
|
||||||
|
return func(s *sqlmock) error {
|
||||||
|
s.converter = converter
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user