carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

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