budgeteer/server/main_test.go
2022-04-05 15:44:26 +00:00

54 lines
1.1 KiB
Go

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
}