(t *testing.T, rows *Rows, scan func(*sql.Rows) ([]byte, error), want []struct {
Initial []byte
Replaced []byte
})
| 512 | } |
| 513 | |
| 514 | func queryRowBytesInvalidatedByNext(t *testing.T, rows *Rows, scan func(*sql.Rows) ([]byte, error), want []struct { |
| 515 | Initial []byte |
| 516 | Replaced []byte |
| 517 | }) { |
| 518 | db, mock, err := New() |
| 519 | if err != nil { |
| 520 | t.Fatalf("an error '%s' was not expected when opening a stub database connection", err) |
| 521 | } |
| 522 | defer db.Close() |
| 523 | mock.ExpectQuery("SELECT").WillReturnRows(rows) |
| 524 | |
| 525 | rs, err := db.Query("SELECT") |
| 526 | if err != nil { |
| 527 | t.Fatalf("failed to query rows: %s", err) |
| 528 | } |
| 529 | |
| 530 | if !rs.Next() || rs.Err() != nil { |
| 531 | t.Fatal("unexpected error on first row retrieval") |
| 532 | } |
| 533 | var count int |
| 534 | for i := 0; ; i++ { |
| 535 | count++ |
| 536 | b, err := scan(rs) |
| 537 | if err != nil { |
| 538 | t.Fatalf("unexpected error scanning row: %s", err) |
| 539 | } |
| 540 | if exp := want[i].Initial; !bytes.Equal(b, exp) { |
| 541 | t.Fatalf("expected raw value to be '%s' (len:%d), but got [%T]:%s (len:%d)", exp, len(exp), b, b, len(b)) |
| 542 | } |
| 543 | next := rs.Next() |
| 544 | if exp := want[i].Replaced; !bytes.Equal(b, exp) { |
| 545 | t.Fatalf("expected raw value to be replaced with '%s' (len:%d) after calling Next(), but got [%T]:%s (len:%d)", exp, len(exp), b, b, len(b)) |
| 546 | } |
| 547 | if !next { |
| 548 | break |
| 549 | } |
| 550 | } |
| 551 | if err := rs.Err(); err != nil { |
| 552 | t.Fatalf("row iteration failed: %s", err) |
| 553 | } |
| 554 | if exp := len(want); count != exp { |
| 555 | t.Fatalf("incorrect number of rows exp: %d, but got %d", exp, count) |
| 556 | } |
| 557 | |
| 558 | if err := mock.ExpectationsWereMet(); err != nil { |
| 559 | t.Fatal(err) |
| 560 | } |
| 561 | } |
| 562 | |
| 563 | func queryRowBytesNotInvalidatedByNext(t *testing.T, rows *Rows, scan func(*sql.Rows) ([]byte, error), want [][]byte) { |
| 564 | db, mock, err := New() |
no test coverage detected
searching dependent graphs…