52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package domain_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
|
)
|
|
|
|
func TestParseURL(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
input := "https://user:pass@example.com:8443/users?id=100#me"
|
|
if _, err := domain.ParseURL(input); err != nil {
|
|
t.Errorf("ParseURL(%s) = %+v, want nil", input, err)
|
|
}
|
|
}
|
|
|
|
func TestURL_UnmarshalForm(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
url := domain.TestURL(t, "https://user:pass@example.com:8443/users?id=100#me")
|
|
input := []byte(fmt.Sprint(url))
|
|
result := new(domain.URL)
|
|
|
|
if err := result.UnmarshalForm(input); err != nil {
|
|
t.Fatalf("%+v", err)
|
|
}
|
|
|
|
if fmt.Sprint(result) != fmt.Sprint(url) {
|
|
t.Errorf("UnmarshalForm(%s) = %v, want %v", input, result, url)
|
|
}
|
|
}
|
|
|
|
func TestURL_UnmarshalJSON(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
url := domain.TestURL(t, "https://user:pass@example.com:8443/users?id=100#me")
|
|
input := []byte(fmt.Sprintf(`"%s"`, url))
|
|
result := new(domain.URL)
|
|
|
|
if err := result.UnmarshalJSON(input); err != nil {
|
|
t.Fatalf("%+v", err)
|
|
}
|
|
|
|
if fmt.Sprint(result) != fmt.Sprint(url) {
|
|
t.Errorf("UnmarshalJSON(%s) = %v, want %v", input, result, url)
|
|
}
|
|
}
|
|
|
|
// TODO(toby3d): TestURL_URL
|