aboutsummaryrefslogtreecommitdiff
path: root/resp_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'resp_test.go')
-rw-r--r--resp_test.go70
1 files changed, 0 insertions, 70 deletions
diff --git a/resp_test.go b/resp_test.go
deleted file mode 100644
index 7e01946..0000000
--- a/resp_test.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// SPDX-FileCopyrightText: © 2019 Grégoire Duchêne <gduchene@awhk.org>
-// SPDX-License-Identifier: ISC
-
-package main
-
-import (
- "io"
- "net/http"
- "net/http/httptest"
- "regexp"
- "testing"
-)
-
-func TestRedirector_ServeHTTP(t *testing.T) {
- r := &redirector{regexp.MustCompile(`src\.example\.com/x`), "https://example.com/git", "git"}
-
- t.Run("NotFound", func(t *testing.T) {
- req := httptest.NewRequest(http.MethodGet, "https://example.com/foo", nil)
- w := httptest.NewRecorder()
- r.ServeHTTP(w, req)
-
- resp := w.Result()
- if http.StatusNotFound != resp.StatusCode {
- t.Errorf("expected %d, got %d", http.StatusNotFound, resp.StatusCode)
- }
- })
-
- t.Run("GoVisit", func(t *testing.T) {
- req := httptest.NewRequest(http.MethodGet, "https://src.example.com/x/foo?go-get=1", nil)
- w := httptest.NewRecorder()
- r.ServeHTTP(w, req)
-
- resp := w.Result()
- if http.StatusOK != resp.StatusCode {
- t.Errorf("expected %d, got %d", http.StatusFound, resp.StatusCode)
- }
- body, err := io.ReadAll(resp.Body)
- if err != nil {
- t.Error(err)
- t.FailNow()
- }
- expected := `<!doctype html>
-<meta name="go-import" content="src.example.com/x/foo git https://example.com/git/foo">
-<title>go-import-redirect</title>
-`
- if string(body) != expected {
- t.Errorf("expected\n---\n%s\n---\ngot\n---\n%s\n---", expected, string(body))
- }
- if hdr := resp.Header.Get("Location"); hdr != "" {
- t.Error("expected empty Location header")
- }
- })
-
- t.Run("UserVisit", func(t *testing.T) {
- req := httptest.NewRequest(http.MethodGet, "https://src.example.com/x/foo", nil)
- w := httptest.NewRecorder()
- r.ServeHTTP(w, req)
-
- resp := w.Result()
- if http.StatusFound != resp.StatusCode {
- t.Errorf("expected %d, got %d", http.StatusFound, resp.StatusCode)
- }
- if resp.ContentLength > 0 {
- t.Error("expected empty body")
- }
- if hdr := resp.Header.Get("Location"); hdr != "https://pkg.go.dev/src.example.com/x/foo" {
- t.Errorf("expected %q, got %q", "https://pkg.go.dev/src.example.com/x/foo", hdr)
- }
- })
-}