From 50ea018252ce69542eab6a107b99ea8179810d1e Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 11 Apr 2025 16:33:59 +0200 Subject: refactor: introduce lex-serve package --- lexsurf_test.go | 144 -------------------------------------------------------- 1 file changed, 144 deletions(-) delete mode 100644 lexsurf_test.go (limited to 'lexsurf_test.go') diff --git a/lexsurf_test.go b/lexsurf_test.go deleted file mode 100644 index e647a2f..0000000 --- a/lexsurf_test.go +++ /dev/null @@ -1,144 +0,0 @@ -package main - -import ( - "net/http/httptest" - "strings" - "testing" - - "github.com/peter-evans/patience" -) - -func newHandler() handler { - return handler{ - domain: "lex.example", - countries: map[string]country{ - "zu": country{ - Name: "Zubrowka", - SearchURL: "https://lex.gov.zu/?search=%s", - }, - }, - lawsByCC: map[string]map[string]law{}, - } -} - -func TestStartPage(t *testing.T) { - h := newHandler() - - req := httptest.NewRequest("GET", "/", nil) - req.Host = "lex.example" - w := httptest.NewRecorder() - h.handle(w, req) - - resp := w.Result() - if resp.StatusCode != 200 { - t.Errorf("expected status 200 OK, got %d", resp.StatusCode) - } - expected := ` - - - Lex.surf: Portal to National Law - - - - - -

The portal to national law.

-
- ZU -
- - -` - assertEqual(t, w.Body.String(), expected) -} - -func TestSearch(t *testing.T) { - h := newHandler() - - req := httptest.NewRequest("GET", "/", nil) - req.Host = "zu.lex.example" - w := httptest.NewRecorder() - h.handle(w, req) - - resp := w.Result() - if resp.StatusCode != 200 { - t.Errorf("expected status 200 OK, got %d", resp.StatusCode) - } - expected := ` - - - National Law of Zubrowka - - - - - -

National Law of Zubrowka

- - -
- - - - - - -
- - - - -` - assertEqual(t, w.Body.String(), expected) -} - -func TestSearchRedirect(t *testing.T) { - h := newHandler() - - req := httptest.NewRequest("GET", "/?q=tourism", nil) - req.Host = "zu.lex.example" - w := httptest.NewRecorder() - h.handle(w, req) - - resp := w.Result() - if resp.StatusCode != 302 { - t.Errorf("expected status 302, got %d", resp.StatusCode) - } - - if resp.Header.Get("Location") != "https://lex.gov.zu/?search=tourism" { - t.Errorf("wrong location, got %s", resp.Header.Get("Location")) - } -} - -func TestLawRedirect(t *testing.T) { - h := newHandler() - - h.lawsByCC["zu"] = map[string]law{} - h.lawsByCC["zu"]["zepl"] = law{ - URL: "https://lex.gov.zu/zeppelin-code", - } - - req := httptest.NewRequest("GET", "/zepl", nil) - req.Host = "zu.lex.example" - w := httptest.NewRecorder() - h.handle(w, req) - - resp := w.Result() - if resp.StatusCode != 302 { - t.Errorf("expected status 302, got %d", resp.StatusCode) - } - - if resp.Header.Get("Location") != "https://lex.gov.zu/zeppelin-code" { - t.Errorf("wrong location, got %s", resp.Header.Get("Location")) - } -} - -func assertEqual(t *testing.T, received string, expected string) { - if received != expected { - a := strings.Split(received, "\n") - b := strings.Split(expected, "\n") - diffs := patience.Diff(a, b) - unidiff := patience.UnifiedDiffText(diffs) - t.Error(unidiff) - } -} -- cgit v1.2.3