nidus-sync/db/sql/test_utils.bob_test.go

125 lines
2.5 KiB
Go
Raw Normal View History

// 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 (
"strconv"
"strings"
"time"
enums "github.com/Gleipnir-Technology/nidus-sync/db/enums"
"github.com/jaswdr/faker/v2"
"github.com/shopspring/decimal"
"github.com/stephenafamo/bob"
pg_query "github.com/wasilibs/go-pgquery"
)
// Set the testDB to enable tests that use the database
var testDB bob.Transactor[bob.Tx]
func formatQuery(s string) (string, error) {
aTree, err := pg_query.Parse(s)
if err != nil {
return "", err
}
return pg_query.Deparse(aTree)
}
var defaultFaker = faker.New()
func random_decimal_Decimal(f *faker.Faker, limits ...string) decimal.Decimal {
if f == nil {
f = &defaultFaker
}
var precision int64 = 7
var scale int64 = 3
if len(limits) > 0 {
precision, _ = strconv.ParseInt(limits[0], 10, 32)
}
if len(limits) > 1 {
scale, _ = strconv.ParseInt(limits[1], 10, 32)
}
baseVal := f.Float32(10, -1, 1)
for baseVal == -1 || baseVal == 0 || baseVal == 1 {
baseVal = f.Float32(10, -1, 1)
}
precisionDecimal, _ := decimal.NewFromInt(10).PowInt32(int32(precision))
val := decimal.
NewFromFloat32(baseVal).
Mul(precisionDecimal).
Shift(int32(-1 * scale)).
RoundDown(int32(scale))
return val
}
func random_enums_Arcgislicensetype(f *faker.Faker, limits ...string) enums.Arcgislicensetype {
if f == nil {
f = &defaultFaker
}
var e enums.Arcgislicensetype
all := e.All()
return all[f.IntBetween(0, len(all)-1)]
}
func random_enums_Hashtype(f *faker.Faker, limits ...string) enums.Hashtype {
if f == nil {
f = &defaultFaker
}
var e enums.Hashtype
all := e.All()
return all[f.IntBetween(0, len(all)-1)]
}
func random_int32(f *faker.Faker, limits ...string) int32 {
if f == nil {
f = &defaultFaker
}
return f.Int32()
}
func random_int64(f *faker.Faker, limits ...string) int64 {
if f == nil {
f = &defaultFaker
}
return f.Int64()
}
func random_string(f *faker.Faker, limits ...string) string {
if f == nil {
f = &defaultFaker
}
val := strings.Join(f.Lorem().Words(f.IntBetween(1, 5)), " ")
if len(limits) == 0 {
return val
}
limitInt, _ := strconv.Atoi(limits[0])
if limitInt > 0 && limitInt < len(val) {
val = val[:limitInt]
}
return val
}
func random_time_Time(f *faker.Faker, limits ...string) time.Time {
if f == nil {
f = &defaultFaker
}
year := time.Hour * 24 * 365
min := time.Now().Add(-year)
max := time.Now().Add(year)
return f.Time().TimeBetween(min, max)
}