aboutsummaryrefslogtreecommitdiff
path: root/internal/mock/mock.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/mock/mock.go')
-rw-r--r--internal/mock/mock.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/internal/mock/mock.go b/internal/mock/mock.go
index d3358c4..ecbb03e 100644
--- a/internal/mock/mock.go
+++ b/internal/mock/mock.go
@@ -245,8 +245,9 @@ func (r result) RowsAffected() (int64, error) {
// Rows is a mock response for a Query() or QueryRow() call.
// It is constructed by [ResponseSet.ExpectQuery].
type Rows struct {
- columns []string
- results [][]any
+ columns []string
+ results [][]any
+ closeError error
}
// AndReturnColumns configures the set of column names that will be returend by this query.
@@ -272,6 +273,11 @@ func (r *Rows) WithRow(values ...any) *Rows {
return r
}
+// AndCloseFailsWith sets up Close() for this Rows to fail with the provided error message.
+func (r *Rows) AndCloseFailsWith(err error) {
+ r.closeError = err
+}
+
type rows struct {
r Rows
closed bool
@@ -285,7 +291,7 @@ func (r *rows) Columns() []string {
// Close implements the [driver.Rows] interface.
func (r *rows) Close() error {
r.closed = true
- return nil
+ return r.r.closeError
}
// Next implements the [driver.Rows] interface.