diff options
| author | Elizabeth Hunt <elizabeth@simponic.xyz> | 2024-04-03 17:53:50 -0600 |
|---|---|---|
| committer | Elizabeth Hunt <elizabeth@simponic.xyz> | 2024-04-03 17:53:50 -0600 |
| commit | f38e8719c2a8537fe9b64ed8ceca45858a58e498 (patch) | |
| tree | 5cf2c7c7f6396f75bdb841db00638e4eef8e81e8 /api/guestbook_test.go | |
| parent | e398cf05402c010d594cea4e2dea307ca1a36dbe (diff) | |
| download | hatecomputers.club-f38e8719c2a8537fe9b64ed8ceca45858a58e498.tar.gz hatecomputers.club-f38e8719c2a8537fe9b64ed8ceca45858a58e498.zip | |
make it compile
Diffstat (limited to 'api/guestbook_test.go')
| -rw-r--r-- | api/guestbook_test.go | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/api/guestbook_test.go b/api/guestbook_test.go deleted file mode 100644 index 5c1831f..0000000 --- a/api/guestbook_test.go +++ /dev/null @@ -1,129 +0,0 @@ -package api_test - -import ( - "database/sql" - "net/http" - "net/http/httptest" - "os" - "testing" - - "git.hatecomputers.club/hatecomputers/hatecomputers.club/api" - "git.hatecomputers.club/hatecomputers/hatecomputers.club/args" - "git.hatecomputers.club/hatecomputers/hatecomputers.club/database" - "git.hatecomputers.club/hatecomputers/hatecomputers.club/utils" -) - -func setup() (*sql.DB, *api.RequestContext, func()) { - randomDb := utils.RandomId() - - testDb := database.MakeConn(&randomDb) - database.Migrate(testDb) - - context := &api.RequestContext{ - DBConn: testDb, - Args: &args.Arguments{}, - TemplateData: &(map[string]interface{}{}), - } - - return testDb, context, func() { - testDb.Close() - os.Remove(randomDb) - } -} - -func TestValidGuestbookPutsInDatabase(t *testing.T) { - db, context, cleanup := setup() - defer cleanup() - - entries, err := database.GetGuestbookEntries(db) - if err != nil { - t.Fatal(err) - } - if len(entries) > 0 { - t.Errorf("expected no entries, got entries") - } - - ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - api.SignGuestbookContinuation(context, r, w)(api.IdContinuation, api.IdContinuation) - })) - defer ts.Close() - - req := httptest.NewRequest("POST", ts.URL, nil) - req.Form = map[string][]string{ - "name": {"test"}, - "message": {"test"}, - } - - w := httptest.NewRecorder() - ts.Config.Handler.ServeHTTP(w, req) - - if w.Code != http.StatusOK { - t.Errorf("expected status code 200, got %d", w.Code) - } - - entries, err = database.GetGuestbookEntries(db) - if err != nil { - t.Fatal(err) - } - - if len(entries) != 1 { - t.Errorf("expected 1 entry, got %d", len(entries)) - } - - if entries[0].Name != req.FormValue("name") { - t.Errorf("expected name %s, got %s", req.FormValue("name"), entries[0].Name) - } -} - -func TestInvalidGuestbookNotFoundInDatabase(t *testing.T) { - db, context, cleanup := setup() - defer cleanup() - - entries, err := database.GetGuestbookEntries(db) - if err != nil { - t.Fatal(err) - } - if len(entries) > 0 { - t.Errorf("expected no entries, got entries") - } - - testServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - api.SignGuestbookContinuation(context, r, w)(api.IdContinuation, api.IdContinuation) - })) - defer testServer.Close() - - reallyLongStringThatWouldTakeTooMuchSpace := "a\na\na\na\na\na\na\na\na\na\na\n" - invalidRequests := []struct { - name string - message string - }{ - {"", "test"}, - {"test", ""}, - {"", ""}, - {"test", reallyLongStringThatWouldTakeTooMuchSpace}, - } - - for _, form := range invalidRequests { - req := httptest.NewRequest("POST", testServer.URL, nil) - req.Form = map[string][]string{ - "name": {form.name}, - "message": {form.message}, - } - - responseRecorder := httptest.NewRecorder() - testServer.Config.Handler.ServeHTTP(responseRecorder, req) - - if responseRecorder.Code != http.StatusBadRequest { - t.Errorf("expected status code 400, got %d", responseRecorder.Code) - } - } - - entries, err = database.GetGuestbookEntries(db) - if err != nil { - t.Fatal(err) - } - - if len(entries) != 0 { - t.Errorf("expected 0 entries, got %d", len(entries)) - } -} |
