This requires a bunch of changes since the types on these tables are much closer to the underlying types of the Fieldseeker data we are getting back from the API. I now need to use proper UUID types everywhere, which means I had to modify the bob gen config to consistently use google UUID, my UUID library of choice. I also had to add the organization_id to all the fieldseeker tables since we rely on them existing for some of our compound queries. There were some changes to the API type signatures to get things to build. I may yet regret those.
131 lines
3.2 KiB
Go
131 lines
3.2 KiB
Go
// Code generated by BobGen psql v0.0.4-0.20251216163753-8e325b7c773a+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 TestOauthTokenByUserId(t *testing.T) {
|
|
t.Run("Base", func(t *testing.T) {
|
|
var sb strings.Builder
|
|
|
|
query := OauthTokenByUserId(random_int32(nil))
|
|
|
|
if _, err := query.WriteQuery(t.Context(), &sb, 1); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if diff := cmp.Diff(oauthTokenByUserIdSQL, sb.String()); diff != "" {
|
|
t.Fatalf("unexpected result (-got +want):\n%s", diff)
|
|
}
|
|
})
|
|
|
|
t.Run("Mod", func(t *testing.T) {
|
|
var sb strings.Builder
|
|
|
|
query := OauthTokenByUserId(random_int32(nil))
|
|
|
|
if _, err := psql.Select(query).WriteQuery(t.Context(), &sb, 1); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
queryDiff, err := testutils.QueryDiff(oauthTokenByUserIdSQL, 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(OauthTokenByUserId(random_int32(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) != 10 {
|
|
t.Fatalf("expected %d columns, got %d", 10, len(columns))
|
|
}
|
|
|
|
if columns[0] != "id" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 0, "id", columns[0])
|
|
}
|
|
|
|
if columns[1] != "access_token" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 1, "access_token", columns[1])
|
|
}
|
|
|
|
if columns[2] != "access_token_expires" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 2, "access_token_expires", columns[2])
|
|
}
|
|
|
|
if columns[3] != "refresh_token" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 3, "refresh_token", columns[3])
|
|
}
|
|
|
|
if columns[4] != "username" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 4, "username", columns[4])
|
|
}
|
|
|
|
if columns[5] != "user_id" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 5, "user_id", columns[5])
|
|
}
|
|
|
|
if columns[6] != "arcgis_id" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 6, "arcgis_id", columns[6])
|
|
}
|
|
|
|
if columns[7] != "arcgis_license_type_id" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 7, "arcgis_license_type_id", columns[7])
|
|
}
|
|
|
|
if columns[8] != "refresh_token_expires" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 8, "refresh_token_expires", columns[8])
|
|
}
|
|
|
|
if columns[9] != "invalidated_at" {
|
|
t.Fatalf("expected column %d to be %s, got %s", 9, "invalidated_at", columns[9])
|
|
}
|
|
})
|
|
}
|