100 lines
2.3 KiB
Go
100 lines
2.3 KiB
Go
|
|
// Code generated by BobGen psql v0.41.1. DO NOT EDIT.
|
||
|
|
// This file is meant to be re-generated in place and/or deleted at any time.
|
||
|
|
|
||
|
|
package sql
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"fmt"
|
||
|
|
"strings"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"github.com/google/go-cmp/cmp"
|
||
|
|
"github.com/stephenafamo/bob"
|
||
|
|
"github.com/stephenafamo/bob/dialect/psql"
|
||
|
|
testutils "github.com/stephenafamo/bob/test/utils"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestTrapLocationBySourceID(t *testing.T) {
|
||
|
|
t.Run("Base", func(t *testing.T) {
|
||
|
|
var sb strings.Builder
|
||
|
|
|
||
|
|
query := TrapLocationBySourceID(random_int32(nil), random_string(nil))
|
||
|
|
|
||
|
|
if _, err := query.WriteQuery(t.Context(), &sb, 1); err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
if diff := cmp.Diff(trapLocationBySourceIDSQL, sb.String()); diff != "" {
|
||
|
|
t.Fatalf("unexpected result (-got +want):\n%s", diff)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("Mod", func(t *testing.T) {
|
||
|
|
var sb strings.Builder
|
||
|
|
|
||
|
|
query := TrapLocationBySourceID(random_int32(nil), random_string(nil))
|
||
|
|
|
||
|
|
if _, err := psql.Select(query).WriteQuery(t.Context(), &sb, 1); err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
queryDiff, err := testutils.QueryDiff(trapLocationBySourceIDSQL, sb.String(), formatQuery)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
if queryDiff != "" {
|
||
|
|
fmt.Println(sb.String())
|
||
|
|
t.Fatalf("unexpected result (-got +want):\n%s", queryDiff)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("Scanning", func(t *testing.T) {
|
||
|
|
if testDB == nil {
|
||
|
|
t.Skip("skipping test, no DSN provided")
|
||
|
|
}
|
||
|
|
|
||
|
|
ctxTx, cancel := context.WithCancel(t.Context())
|
||
|
|
defer cancel()
|
||
|
|
|
||
|
|
tx, err := testDB.Begin(ctxTx)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("Error starting transaction: %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
defer func() {
|
||
|
|
if err := tx.Rollback(ctxTx); err != nil {
|
||
|
|
t.Fatalf("Error rolling back transaction: %v", err)
|
||
|
|
}
|
||
|
|
}()
|
||
|
|
|
||
|
|
query, args, err := bob.Build(ctxTx, psql.Select(TrapLocationBySourceID(random_int32(nil), random_string(nil))))
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
rows, err := tx.QueryContext(ctxTx, query, args...)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
defer rows.Close()
|
||
|
|
|
||
|
|
columns, err := rows.Columns()
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
if len(columns) != 2 {
|
||
|
|
t.Fatalf("expected %d columns, got %d", 2, len(columns))
|
||
|
|
}
|
||
|
|
|
||
|
|
if columns[0] != "trap_location_globalid" {
|
||
|
|
t.Fatalf("expected column %d to be %s, got %s", 0, "trap_location_globalid", columns[0])
|
||
|
|
}
|
||
|
|
|
||
|
|
if columns[1] != "distance" {
|
||
|
|
t.Fatalf("expected column %d to be %s, got %s", 1, "distance", columns[1])
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|