From dc8a78be322284dab8b029c48db301974e7d4b28 Mon Sep 17 00:00:00 2001 From: Juliusz Chroboczek Date: Thu, 4 May 2023 03:32:44 +0200 Subject: [PATCH] Add test for parseStatefulToken. --- rtpconn/webclient_test.go | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 rtpconn/webclient_test.go diff --git a/rtpconn/webclient_test.go b/rtpconn/webclient_test.go new file mode 100644 index 0000000..2134ca2 --- /dev/null +++ b/rtpconn/webclient_test.go @@ -0,0 +1,52 @@ +package rtpconn + +import ( + "encoding/json" + "reflect" + "testing" + + "github.com/jech/galene/token" +) + +var tokens = []string{ + `{ + "token": "a", + "group": "g", + "username": "u", + "permissions":["present"], + "expires": "2023-05-03T20:24:47.616624532+02:00" + }`, + `{ + "token": "a", + "group": "g" + }`, + `{ + "token": "a", + "group": "g", + "username":"" + }`, +} + +func TestParseStatefulToken(t *testing.T) { + for i, tok := range tokens { + var t1 *token.Stateful + err := json.Unmarshal([]byte(tok), &t1) + if err != nil { + t.Errorf("Unmarshal %v: %v", i, err) + continue + } + var m map[string]interface{} + err = json.Unmarshal([]byte(tok), &m) + if err != nil { + t.Errorf("Unmarshal (map) %v: %v", i, err) + continue + } + t2, err := parseStatefulToken(m) + if err != nil { + t.Errorf("parseStatefulToken %v: %v", i, err) + } + if !reflect.DeepEqual(t1, t2) { + t.Errorf("Mismatch: %v, %v", t1, t2) + } + } +}