check / check (push) Canceled after 0s
The new package internal/imagerequest holds the request type, its two parts Source and Transform, the Format and Fit types, the dimension and fit checks, the /v1/image/ path parsing and the variant key; it imports no other package of pixa. imgcache.ParsedURL, imgcache.ImageRequest, signature.Request, imageprocessor.Request, the second Size, format and fit types and the conversions between them are gone. The image processor takes a Transform only. encurl keeps a private struct with the token's short CBOR field names. VariantKey moves with the function that makes it. Tests follow the moved and renamed code; the tests of the removed conversions go with them. Model: opus-5-5
59 lines
1014 B
Go
59 lines
1014 B
Go
package imagerequest
|
|
|
|
import "testing"
|
|
|
|
func TestRequest_SourceURL_DefaultHTTPS(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
req := &Request{
|
|
Source: Source{
|
|
Host: testHostCDN,
|
|
Path: testPathCat,
|
|
Query: "v=2",
|
|
},
|
|
}
|
|
|
|
got := req.SourceURL()
|
|
|
|
want := "https://cdn.example.com/photos/cat.jpg?v=2"
|
|
if got != want {
|
|
t.Errorf("SourceURL() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestRequest_SourceURL_AllowHTTP(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
req := &Request{
|
|
Source: Source{
|
|
Host: "localhost:8080",
|
|
Path: testPathCat,
|
|
},
|
|
AllowHTTP: true,
|
|
}
|
|
|
|
got := req.SourceURL()
|
|
|
|
want := "http://localhost:8080/photos/cat.jpg"
|
|
if got != want {
|
|
t.Errorf("SourceURL() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestRequest_SourceURL_AllowHTTPFalse(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
req := &Request{
|
|
Source: Source{
|
|
Host: testHostCDN,
|
|
Path: "/img.jpg",
|
|
},
|
|
AllowHTTP: false,
|
|
}
|
|
|
|
got := req.SourceURL()
|
|
if got != "https://cdn.example.com/img.jpg" {
|
|
t.Errorf("SourceURL() = %q, want https scheme", got)
|
|
}
|
|
}
|