aboutsummaryrefslogtreecommitdiff
path: root/src/models/boil_main_test.go
diff options
context:
space:
mode:
authorAlexander Kavon <me+git@alexkavon.com>2024-01-22 00:35:44 -0500
committerAlexander Kavon <me+git@alexkavon.com>2024-01-22 00:35:44 -0500
commitd6fdb3a460eb228d7b1cd7870b7ef6c8c7391f0b (patch)
treef0fdc9963f9da9eae89e34ddbd401f8fc2cdd65c /src/models/boil_main_test.go
parent857a7dd47a42faeee4c91e8089905b2ba7135bb7 (diff)
sqlboiler and generated models
Diffstat (limited to 'src/models/boil_main_test.go')
-rw-r--r--src/models/boil_main_test.go119
1 files changed, 119 insertions, 0 deletions
diff --git a/src/models/boil_main_test.go b/src/models/boil_main_test.go
new file mode 100644
index 0000000..1ebd97f
--- /dev/null
+++ b/src/models/boil_main_test.go
@@ -0,0 +1,119 @@
+// Code generated by SQLBoiler 4.16.1 (https://github.com/volatiletech/sqlboiler). DO NOT EDIT.
+// This file is meant to be re-generated in place and/or deleted at any time.
+
+package models
+
+import (
+ "database/sql"
+ "flag"
+ "fmt"
+ "math/rand"
+ "os"
+ "path/filepath"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/spf13/viper"
+ "github.com/volatiletech/sqlboiler/v4/boil"
+)
+
+var flagDebugMode = flag.Bool("test.sqldebug", false, "Turns on debug mode for SQL statements")
+var flagConfigFile = flag.String("test.config", "", "Overrides the default config")
+
+const outputDirDepth = 2
+
+var (
+ dbMain tester
+)
+
+type tester interface {
+ setup() error
+ conn() (*sql.DB, error)
+ teardown() error
+}
+
+func TestMain(m *testing.M) {
+ if dbMain == nil {
+ fmt.Println("no dbMain tester interface was ready")
+ os.Exit(-1)
+ }
+
+ rand.Seed(time.Now().UnixNano())
+
+ flag.Parse()
+
+ var err error
+
+ // Load configuration
+ err = initViper()
+ if err != nil {
+ fmt.Println("unable to load config file")
+ os.Exit(-2)
+ }
+
+ // Set DebugMode so we can see generated sql statements
+ boil.DebugMode = *flagDebugMode
+
+ if err = dbMain.setup(); err != nil {
+ fmt.Println("Unable to execute setup:", err)
+ os.Exit(-4)
+ }
+
+ conn, err := dbMain.conn()
+ if err != nil {
+ fmt.Println("failed to get connection:", err)
+ }
+
+ var code int
+ boil.SetDB(conn)
+ code = m.Run()
+
+ if err = dbMain.teardown(); err != nil {
+ fmt.Println("Unable to execute teardown:", err)
+ os.Exit(-5)
+ }
+
+ os.Exit(code)
+}
+
+func initViper() error {
+ if flagConfigFile != nil && *flagConfigFile != "" {
+ viper.SetConfigFile(*flagConfigFile)
+ if err := viper.ReadInConfig(); err != nil {
+ return err
+ }
+ return nil
+ }
+
+ var err error
+
+ viper.SetConfigName("sqlboiler")
+
+ configHome := os.Getenv("XDG_CONFIG_HOME")
+ homePath := os.Getenv("HOME")
+ wd, err := os.Getwd()
+ if err != nil {
+ wd = strings.Repeat("../", outputDirDepth)
+ } else {
+ wd = wd + strings.Repeat("/..", outputDirDepth)
+ }
+
+ configPaths := []string{wd}
+ if len(configHome) > 0 {
+ configPaths = append(configPaths, filepath.Join(configHome, "sqlboiler"))
+ } else {
+ configPaths = append(configPaths, filepath.Join(homePath, ".config/sqlboiler"))
+ }
+
+ for _, p := range configPaths {
+ viper.AddConfigPath(p)
+ }
+
+ // Ignore errors here, fall back to defaults and validation to provide errs
+ _ = viper.ReadInConfig()
+ viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
+ viper.AutomaticEnv()
+
+ return nil
+}