mirror of https://github.com/writeas/writefreely
Merge pull request #336 from Antolius/static-assets-cache-control
Add Cache-Control headerpull/382/head
commit
c31a87fb76
@ -0,0 +1,38 @@ |
||||
package writefreely |
||||
|
||||
import ( |
||||
"net/http" |
||||
"net/http/httptest" |
||||
"strings" |
||||
"testing" |
||||
|
||||
"github.com/gorilla/mux" |
||||
) |
||||
|
||||
func TestCacheControlForStaticFiles(t *testing.T) { |
||||
app := NewApp("testdata/config.ini") |
||||
if err := app.LoadConfig(); err != nil { |
||||
t.Fatalf("Could not create an app; %v", err) |
||||
} |
||||
router := mux.NewRouter() |
||||
app.InitStaticRoutes(router) |
||||
|
||||
rec := httptest.NewRecorder() |
||||
req := httptest.NewRequest("GET", "/style.css", nil) |
||||
router.ServeHTTP(rec, req) |
||||
if code := rec.Result().StatusCode; code != http.StatusOK { |
||||
t.Fatalf("Could not get /style.css, got HTTP status %d", code) |
||||
} |
||||
actual := rec.Result().Header.Get("Cache-Control") |
||||
|
||||
expectedDirectives := []string{ |
||||
"public", |
||||
"max-age", |
||||
"immutable", |
||||
} |
||||
for _, expected := range expectedDirectives { |
||||
if !strings.Contains(actual, expected) { |
||||
t.Errorf("Expected Cache-Control header to contain '%s', but was '%s'", expected, actual) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1 @@ |
||||
!config.ini |
@ -0,0 +1,2 @@ |
||||
[server] |
||||
static_parent_dir = testdata |
@ -0,0 +1,3 @@ |
||||
body { |
||||
background-color: lightblue; |
||||
} |
Loading…
Reference in new issue