27 lines
772 B
Go
27 lines
772 B
Go
|
|
package handlers
|
||
|
|
|
||
|
|
import (
|
||
|
|
"net/http/httptest"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestSetStaticCacheHeaders(t *testing.T) {
|
||
|
|
tests := map[string]string{
|
||
|
|
"/static/css/app.css": "public, max-age=86400",
|
||
|
|
"/static/js/app.js": "public, max-age=86400",
|
||
|
|
"/static/img/preview.webp": "public, max-age=31536000, immutable",
|
||
|
|
"/static/fonts/ui.woff2": "public, max-age=31536000, immutable",
|
||
|
|
"/static/videos/intro.mp4": "public, max-age=31536000, immutable",
|
||
|
|
"/static/uploads/file.data": "public, max-age=3600",
|
||
|
|
}
|
||
|
|
|
||
|
|
for path, want := range tests {
|
||
|
|
response := httptest.NewRecorder()
|
||
|
|
setStaticCacheHeaders(response, path)
|
||
|
|
|
||
|
|
if got := response.Header().Get("Cache-Control"); got != want {
|
||
|
|
t.Fatalf("Cache-Control for %s = %q, want %q", path, got, want)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|