From 89de893bf901034ce8e976fbf7675218d11bf20e Mon Sep 17 00:00:00 2001 From: vilmibm Date: Fri, 17 Jun 2022 16:12:05 -0500 Subject: [PATCH] stuff --- server/cmd/api/api.go | 7 +------ server/cmd/api/api_test.go | 25 ++++++++++--------------- server/cmd/db/db.go | 1 + 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/server/cmd/api/api.go b/server/cmd/api/api.go index aa22c7a..eb27bad 100644 --- a/server/cmd/api/api.go +++ b/server/cmd/api/api.go @@ -71,12 +71,7 @@ func (a *API) Invoke(w http.ResponseWriter, req *http.Request, apiFn APIHandler) }) } - ctx := ReqCtx{ - User: *user, - Req: req, - } - - resp, err := apiFn(&ctx) + resp, err := apiFn(&ReqCtx{*user, req}) if err != nil { he := &HTTPError{} _ = errors.As(err, &he) diff --git a/server/cmd/api/api_test.go b/server/cmd/api/api_test.go index 23482a0..fe34de6 100644 --- a/server/cmd/api/api_test.go +++ b/server/cmd/api/api_test.go @@ -43,14 +43,12 @@ func TestUserRegister(t *testing.T) { ts := []struct { name string - opts config.Options setup func(opts *config.Options) error assert func(t *testing.T) error wantErr *HTTPError }{ { name: "user already exists", - opts: *opts, setup: func(opts *config.Options) error { return db.CreateUser(opts.DB, db.User{ Username: "albertwesker", @@ -75,7 +73,13 @@ func TestUserRegister(t *testing.T) { } defer teardown() - err = tt.setup(&tt.opts) + err = db.EnsureSchema(*opts) + if err != nil { + t.Fatalf("could not initialize DB: %s", err.Error()) + return + } + + err = tt.setup(opts) if err != nil { t.Fatalf("setup failed: %s", err.Error()) return @@ -100,22 +104,13 @@ func TestInstanceInfo(t *testing.T) { return } - teardown, err := db.Setup(opts) - if err != nil { - t.Fatalf("could not initialize DB: %s", err.Error()) - return - } - defer teardown() - ts := []struct { name string - opts config.Options wantData instanceInfo wantErr *HTTPError }{ { name: "basic", - opts: *opts, wantData: instanceInfo{ InstanceName: "cool test zone", AllowAnon: true, @@ -127,10 +122,10 @@ func TestInstanceInfo(t *testing.T) { t.Run(tt.name, func(t *testing.T) { req, _ := http.NewRequest("GET", "", strings.NewReader("")) api := &API{ - Opts: tt.opts, - Req: req, + Opts: *opts, } - resp, err := api.InstanceInfo() + ctx := &ReqCtx{Req: req} + resp, err := api.InstanceInfo(ctx) if tt.wantErr != nil && err != nil { t.Errorf("got unwanted error: %s", err.Error()) return diff --git a/server/cmd/db/db.go b/server/cmd/db/db.go index 41eaeb8..68500ff 100644 --- a/server/cmd/db/db.go +++ b/server/cmd/db/db.go @@ -54,6 +54,7 @@ type Message struct { func Setup(opts *config.Options) (func(), error) { db, err := sql.Open("sqlite3", opts.Config.DBPath) opts.DB = db + // TODO consider inlining EnsureSchema here return func() { db.Close() }, err }