package relay import "testing" func TestParseUsername(t *testing.T) { u, err := ParseUsername("1900000000:abc:meet:0123456789abcdef:k1") if err != nil || u.Account != "abc" || u.App != "meet" || u.Incarnation != "0123456789abcdef" || u.Kid != "k1" || u.Expiry.Unix() != 1900000000 { t.Fatalf("parse = %+v %v", u, err) } for _, bad := range []string{"", "1:2:3:4", "1:2:3:4:5:6", "x:abc:meet:0123456789abcdef:k1", "1900000000:ABC:meet:0123456789abcdef:k1", "1900000000:abc:9meet:0123456789abcdef:k1", "1900000000:abc:meet:short:k1", "1900000000:abc:meet:0123456789abcdef:K1", "+1900000000:abc:meet:0123456789abcdef:k1"} { if _, err := ParseUsername(bad); err == nil { t.Errorf("ParseUsername(%q) accepted", bad) } } }