package db import ( "bytes" "testing" ) func TestBuildAndParseToken(t *testing.T) { tests := []struct { id int64 payload []byte }{ {11111, []byte("may the force be with you")}, {123213, []byte("If we can hit that bullseye the rest of the dominoes will fall like a house of cards, checkmate!")}, {1, []byte{0xd3, 0x22, 0xa8, 0x44, 0x34, 0x94, 0xd8}}, } for i, tt := range tests { id, payload, err := parseToken(buildToken(tt.id, tt.payload)) if err != nil { t.Errorf("case %d: failed to parse token: %v", i, err) continue } if tt.id != id { t.Errorf("case %d: want id=%d, got id=%d", i, tt.id, id) } if bytes.Compare(tt.payload, payload) != 0 { t.Errorf("case %d: want payload=%x, got payload=%x", i, tt.payload, payload) } } }