43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package nextcloud
|
|
|
|
import "testing"
|
|
|
|
func TestUserIDFromClaimsPrefersEmail(t *testing.T) {
|
|
got := UserIDFromClaims("User@Example.com", "opaque-sub")
|
|
if got != "user@example.com" {
|
|
t.Fatalf("UserIDFromClaims() = %q", got)
|
|
}
|
|
}
|
|
|
|
func TestUserIDFromClaimsFallbackSub(t *testing.T) {
|
|
got := UserIDFromClaims("", "opaque-sub")
|
|
if got != "opaque-sub" {
|
|
t.Fatalf("UserIDFromClaims() = %q", got)
|
|
}
|
|
}
|
|
|
|
func TestNormalizeDAVHref(t *testing.T) {
|
|
got := normalizeDAVHref("/cloud/remote.php/dav/addressbooks/users/alice/contacts/")
|
|
want := "/remote.php/dav/addressbooks/users/alice/contacts/"
|
|
if got != want {
|
|
t.Fatalf("normalizeDAVHref() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestDavResponseErrorNotFound(t *testing.T) {
|
|
raw := []byte(`<?xml version="1.0"?><d:error xmlns:d="DAV:"><d:message>missing</d:message></d:error>`)
|
|
if err := davResponseError(raw, 404); err != ErrPrincipalNotFound {
|
|
t.Fatalf("davResponseError() = %v", err)
|
|
}
|
|
}
|
|
|
|
func TestGenerateNextcloudPassword(t *testing.T) {
|
|
pw, err := generateNextcloudPassword()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(pw) < 24 {
|
|
t.Fatalf("password too short: %d", len(pw))
|
|
}
|
|
}
|