package main import ( "net/http" "net/http/httptest" "testing" ) func TestBunnyCdn_Purge(t *testing.T) { cdn := &BunnyCdn{ key: "testkey", } ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if expectedUrl := "/api/purge?url=https://test.url/test"; r.URL.String() != expectedUrl { t.Errorf("Wrong URL: Got %s, but expected %s", r.URL.String(), expectedUrl) } if expectedContentType := "application/json"; r.Header.Get("Content-Type") != expectedContentType { t.Errorf("Wrong Content-Type Header: Got %s, but expected %s", r.Header.Get("Content-Type"), expectedContentType) } if expectedAccept := "application/json"; r.Header.Get("Accept") != expectedAccept { t.Errorf("Wrong Accept Header: Got %s, but expected %s", r.Header.Get("Accept"), expectedAccept) } if r.Header.Get("AccessKey") != cdn.key { t.Errorf("Wrong AccessKey Header: Got %s, but expected %s", r.Header.Get("AccessKey"), cdn.key) } })) defer ts.Close() bunnyCdnUrl = ts.URL cdn.Purge("https://test.url/test") }