// Code generated by BobGen psql v0.0.3-0.20251202003046-49148fc66a73+dirty. 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]) } }) }