package server import ( "fmt" "io/fs" "log" "net/http" "git.javil.eu/jacob1123/budgeteer/bcrypt" "git.javil.eu/jacob1123/budgeteer/config" "git.javil.eu/jacob1123/budgeteer/jwt" "git.javil.eu/jacob1123/budgeteer/postgres" "git.javil.eu/jacob1123/budgeteer/web" ) func TestMain() { cfg := config.Config{ DatabaseConnection: "postgres://budgeteer:budgeteer@db:5432/budgeteer-testing", SessionSecret: "random string for JWT authorization", } queries, err := postgres.Connect("pgx", cfg.DatabaseConnection) if err != nil { log.Fatalf("Failed connecting to DB: %v", err) } static, err := fs.Sub(web.Static, "dist") if err != nil { panic("couldn't open static files") } tokenVerifier, err := jwt.NewTokenVerifier(cfg.SessionSecret) if err != nil { panic(fmt.Errorf("couldn't create token verifier: %w", err)) } handler := &Handler{ Service: queries, TokenVerifier: tokenVerifier, CredentialsVerifier: &bcrypt.Verifier{}, StaticFS: http.FS(static), } // create new budget // import from YNAB // check available balance // check categories // check accounts }