1
0
mirror of https://github.com/mayflower/docker-ls.git synced 2025-11-26 12:03:12 +03:00
Files
docker-ls/lib/link_to_next_header_test.go
2016-02-17 17:27:59 +01:00

38 lines
767 B
Go

package lib
import (
"reflect"
"testing"
)
func TestLinkHeaderParse(t *testing.T) {
testcase := `<http://example.com/v2/_catalog?n=20&last=b>; rel="next"`
url, err := parseLinkToNextHeader(testcase)
if err != nil {
t.Fatal(err)
}
if url.Scheme != "http" ||
url.Host != "example.com" ||
url.Path != "/v2/_catalog" ||
!reflect.DeepEqual((map[string][]string)(url.Query()), map[string][]string{
"n": []string{"20"},
"last": []string{"b"},
}) {
t.Fatalf("parsing failed; got %s", url.String())
}
}
func TestLinkHeaderParseInvalid(t *testing.T) {
testcase := `<http://example.com/v2/_catalog?n=20&last=b; rel="next"`
_, err := parseLinkToNextHeader(testcase)
if err == nil {
t.Fatal("parsing an invalid header should fail")
}
}