mirror of
https://github.com/willnorris/imageproxy.git
synced 2024-12-16 21:56:43 -05:00
add more tests: mostly trivial checks
This commit is contained in:
parent
b984bd0796
commit
0791f8ceec
3 changed files with 48 additions and 1 deletions
|
@ -24,4 +24,8 @@ func TestNopCache(t *testing.T) {
|
|||
if ok != false {
|
||||
t.Errorf("NopCache.Get returned ok = true, should always be false.")
|
||||
}
|
||||
|
||||
// nothing to test on these methods other than to verify they exist
|
||||
NopCache.Set("", []byte{})
|
||||
NopCache.Delete("")
|
||||
}
|
||||
|
|
19
data_test.go
19
data_test.go
|
@ -16,6 +16,7 @@ package imageproxy
|
|||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"testing"
|
||||
)
|
||||
|
||||
|
@ -98,7 +99,7 @@ func TestParseOptions(t *testing.T) {
|
|||
{"r90,fh,sc0ffee,png,q90,1x2,fv,fit", Options{1, 2, true, 90, true, true, 90, "c0ffee", false, "png", 0, 0, 0, 0, false}},
|
||||
|
||||
// all flags, in different orders with crop
|
||||
{"q70,cx100,cw300,1x2,fit,cy200,r90,fv,ch400,fh,sc0ffee,png", Options{1, 2, true, 90, true, true, 70, "c0ffee", false, "png", 100, 200, 300, 400, false}},
|
||||
{"q70,cx100,cw300,1x2,fit,cy200,r90,fv,ch400,fh,sc0ffee,png,sc,scaleUp", Options{1, 2, true, 90, true, true, 70, "c0ffee", true, "png", 100, 200, 300, 400, true}},
|
||||
{"ch400,r90,cw300,fh,sc0ffee,png,cx100,q90,cy200,1x2,fv,fit", Options{1, 2, true, 90, true, true, 90, "c0ffee", false, "png", 100, 200, 300, 400, false}},
|
||||
|
||||
// all flags, in different orders with crop & different resizes
|
||||
|
@ -204,3 +205,19 @@ func TestNewRequest(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewRequest_BaseURL(t *testing.T) {
|
||||
req, _ := http.NewRequest("GET", "/x/path", nil)
|
||||
base, _ := url.Parse("https://example.com/")
|
||||
|
||||
r, err := NewRequest(req, base)
|
||||
if err != nil {
|
||||
t.Errorf("NewRequest(%v, %v) returned unexpected error: %v", req, base, err)
|
||||
}
|
||||
|
||||
want := "https://example.com/path#0x0"
|
||||
if got := r.String(); got != want {
|
||||
t.Errorf("NewRequest(%v, %v) returned %q, want %q", req, base, got, want)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -195,6 +195,28 @@ func TestHostMatches(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestReferrerMatches(t *testing.T) {
|
||||
hosts := []string{"a.test"}
|
||||
|
||||
tests := []struct {
|
||||
referrer string
|
||||
valid bool
|
||||
}{
|
||||
{"", false},
|
||||
{"%", false},
|
||||
{"http://a.test/", true},
|
||||
{"http://b.test/", false},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
r, _ := http.NewRequest("GET", "/", nil)
|
||||
r.Header.Set("Referer", tt.referrer)
|
||||
if got, want := referrerMatches(hosts, r), tt.valid; got != want {
|
||||
t.Errorf("referrerMatches(%v, %v) returned %v, want %v", hosts, r, got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidSignature(t *testing.T) {
|
||||
key := []byte("c0ffee")
|
||||
|
||||
|
@ -348,6 +370,10 @@ func TestProxy_ServeHTTP(t *testing.T) {
|
|||
{"/http://good.test/nocontent", http.StatusNoContent}, // non-OK response
|
||||
{"/100/http://good.test/png", http.StatusOK},
|
||||
{"/100/http://good.test/plain", http.StatusForbidden}, // non-image response
|
||||
|
||||
// health-check URLs
|
||||
{"/", http.StatusOK},
|
||||
{"/health-check", http.StatusOK},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
|
Loading…
Reference in a new issue