Add query param 'size' as alias for 's'

This commit is contained in:
Paul-Christian Volkmer 2024-05-05 18:49:08 +02:00
parent 16d569c457
commit eb093f9cb2
3 changed files with 35 additions and 1 deletions

View File

@ -18,7 +18,10 @@ func requestHandler(w http.ResponseWriter, r *http.Request) {
size, err := strconv.Atoi(r.URL.Query().Get("s"))
if err != nil {
size = 80
size, err = strconv.Atoi(r.URL.Query().Get("size"))
if err != nil {
size = 80
}
}
colorScheme := r.URL.Query().Get("c")

View File

@ -23,6 +23,9 @@ var gh1 []byte
//go:embed testdata/a1d0c6e83f027327d8461063f4ac58a6_gh.png
var gh2 []byte
//go:embed testdata/1a79a4d60de6718e8e5b326e338ae533_s40.png
var s40 []byte
func testRouter() *mux.Router {
router := mux.NewRouter()
router.HandleFunc("/avatar/{id}", requestHandler)
@ -99,6 +102,34 @@ func TestCorrectResponseForAltGHColorSchemeAndPattern(t *testing.T) {
}
}
func TestCorrectResponseForSParam40(t *testing.T) {
req, err := http.NewRequest("GET", "/avatar/1a79a4d60de6718e8e5b326e338ae533?s=40", nil)
if err != nil {
t.Fatal(err)
}
rr := httptest.NewRecorder()
testRouter().ServeHTTP(rr, req)
if !reflect.DeepEqual(rr.Body.Bytes(), s40) {
t.Errorf("returned image does not match expected image")
}
}
func TestCorrectResponseForSizeParam40(t *testing.T) {
req, err := http.NewRequest("GET", "/avatar/1a79a4d60de6718e8e5b326e338ae533?size=40", nil)
if err != nil {
t.Fatal(err)
}
rr := httptest.NewRecorder()
testRouter().ServeHTTP(rr, req)
if !reflect.DeepEqual(rr.Body.Bytes(), s40) {
t.Errorf("returned image does not match expected image")
}
}
func TestUsesConfig(t *testing.T) {
configure("./testdata/testconfig.toml")

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B