mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
08b117517d
Signed-off-by: Daniel Nephin <dnephin@docker.com>
105 lines
1.9 KiB
Go
105 lines
1.9 KiB
Go
package httputils
|
|
|
|
import (
|
|
"net/http"
|
|
"net/url"
|
|
"testing"
|
|
)
|
|
|
|
func TestBoolValue(t *testing.T) {
|
|
cases := map[string]bool{
|
|
"": false,
|
|
"0": false,
|
|
"no": false,
|
|
"false": false,
|
|
"none": false,
|
|
"1": true,
|
|
"yes": true,
|
|
"true": true,
|
|
"one": true,
|
|
"100": true,
|
|
}
|
|
|
|
for c, e := range cases {
|
|
v := url.Values{}
|
|
v.Set("test", c)
|
|
r, _ := http.NewRequest("POST", "", nil)
|
|
r.Form = v
|
|
|
|
a := BoolValue(r, "test")
|
|
if a != e {
|
|
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestBoolValueOrDefault(t *testing.T) {
|
|
r, _ := http.NewRequest("GET", "", nil)
|
|
if !BoolValueOrDefault(r, "queryparam", true) {
|
|
t.Fatal("Expected to get true default value, got false")
|
|
}
|
|
|
|
v := url.Values{}
|
|
v.Set("param", "")
|
|
r, _ = http.NewRequest("GET", "", nil)
|
|
r.Form = v
|
|
if BoolValueOrDefault(r, "param", true) {
|
|
t.Fatal("Expected not to get true")
|
|
}
|
|
}
|
|
|
|
func TestInt64ValueOrZero(t *testing.T) {
|
|
cases := map[string]int64{
|
|
"": 0,
|
|
"asdf": 0,
|
|
"0": 0,
|
|
"1": 1,
|
|
}
|
|
|
|
for c, e := range cases {
|
|
v := url.Values{}
|
|
v.Set("test", c)
|
|
r, _ := http.NewRequest("POST", "", nil)
|
|
r.Form = v
|
|
|
|
a := Int64ValueOrZero(r, "test")
|
|
if a != e {
|
|
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestInt64ValueOrDefault(t *testing.T) {
|
|
cases := map[string]int64{
|
|
"": -1,
|
|
"-1": -1,
|
|
"42": 42,
|
|
}
|
|
|
|
for c, e := range cases {
|
|
v := url.Values{}
|
|
v.Set("test", c)
|
|
r, _ := http.NewRequest("POST", "", nil)
|
|
r.Form = v
|
|
|
|
a, err := Int64ValueOrDefault(r, "test", -1)
|
|
if a != e {
|
|
t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
|
|
}
|
|
if err != nil {
|
|
t.Fatalf("Error should be nil, but received: %s", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestInt64ValueOrDefaultWithError(t *testing.T) {
|
|
v := url.Values{}
|
|
v.Set("test", "invalid")
|
|
r, _ := http.NewRequest("POST", "", nil)
|
|
r.Form = v
|
|
|
|
_, err := Int64ValueOrDefault(r, "test", -1)
|
|
if err == nil {
|
|
t.Fatalf("Expected an error.")
|
|
}
|
|
}
|