This is an intermediate step between shifting from the old fs_* prefixed table names to an entire fieldseeker schema. At this point we have both, and we aren't doing much with the new schema but compiling.
103 lines
2.5 KiB
Go
103 lines
2.5 KiB
Go
// Code generated by BobGen psql v0.42.0. 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 TestTrapDataByLocationIDRecent(t *testing.T) {
|
|
t.Run("Base", func(t *testing.T) {
|
|
var sb strings.Builder
|
|
|
|
query := TrapDataByLocationIDRecent(random_int32(nil), []string{random_string(nil)})
|
|
|
|
if _, err := query.WriteQuery(t.Context(), &sb, 1); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if diff := cmp.Diff(trapDataByLocationIDRecentSQL, sb.String()); diff != "" {
|
|
t.Fatalf("unexpected result (-got +want):\n%s", diff)
|
|
}
|
|
})
|
|
|
|
t.Run("Mod", func(t *testing.T) {
|
|
var sb strings.Builder
|
|
|
|
query := TrapDataByLocationIDRecent(random_int32(nil), []string{random_string(nil)})
|
|
|
|
if _, err := psql.Select(query).WriteQuery(t.Context(), &sb, 1); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
queryDiff, err := testutils.QueryDiff(trapDataByLocationIDRecentSQL, 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(TrapDataByLocationIDRecent(random_int32(nil), []string{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) != 3 {
|
|
t.Fatalf("expected %d columns, got %d", 3, len(columns))
|
|
}
|
|
|
|
if columns[0] != "enddatetime" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 0, "enddatetime", columns[0])
|
|
}
|
|
|
|
if columns[1] != "globalid" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 1, "globalid", columns[1])
|
|
}
|
|
|
|
if columns[2] != "loc_id" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 2, "loc_id", columns[2])
|
|
}
|
|
})
|
|
}
|