From 5014e10c7fb1cd82c6fb54310329c2a74452e3af Mon Sep 17 00:00:00 2001 From: rramiachraf <51409801+rramiachraf@users.noreply.github.com> Date: Sat, 4 May 2024 13:34:19 +0100 Subject: [PATCH] test: add static assets handler test --- handlers/handler_test.go | 2 +- handlers/static_test.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 handlers/static_test.go diff --git a/handlers/handler_test.go b/handlers/handler_test.go index 878b00f..e30467a 100644 --- a/handlers/handler_test.go +++ b/handlers/handler_test.go @@ -9,5 +9,5 @@ import ( type assets struct{} func (assets) Open(p string) (fs.File, error) { - return os.Open(path.Join("./", p)) + return os.Open(path.Join("../", p)) } diff --git a/handlers/static_test.go b/handlers/static_test.go new file mode 100644 index 0000000..ecd6bd2 --- /dev/null +++ b/handlers/static_test.go @@ -0,0 +1,35 @@ +package handlers + +import ( + "mime" + "net/http" + "net/http/httptest" + "os" + "testing" + + "github.com/rramiachraf/dumb/utils" +) + +func TestStaticAssets(t *testing.T) { + r, err := http.NewRequest(http.MethodGet, "/static/style.css", nil) + if err != nil { + t.Fatal(err) + } + + rr := httptest.NewRecorder() + l := utils.NewLogger(os.Stdout) + m := New(l, &assets{}) + + m.ServeHTTP(rr, r) + + contentType := rr.Header().Get("content-type") + expectedContentType := mime.TypeByExtension(".css") + + if contentType != expectedContentType { + t.Fatalf("expected %q, got %q", expectedContentType, contentType) + } + + if rr.Code != 200 { + t.Fatalf("expected %d, got %d", 200, rr.Code) + } +}