31 lines
1.0 KiB
Go
31 lines
1.0 KiB
Go
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")
|
|
}
|