package protocol import "testing" func TestAuthRequestJSONRoundTrip(t *testing.T) { raw := EncodeAuthRequest(AuthRequest{Token: "abc", DeviceID: 7, AppVersion: "1.0", Language: "zh-CN"}) got, err := DecodeAuthRequest(raw) if err != nil { t.Fatal(err) } if got.Token != "abc" || got.DeviceID != 7 || got.Language != "zh-CN" { t.Fatalf("%+v", got) } if _, err := DecodeAuthRequest([]byte(`{"device_id":1}`)); err == nil { t.Fatal("empty token") } if _, err := DecodeAuthRequest([]byte("not-json")); err == nil { t.Fatal("garbage") } } func TestEncodeOKStampsRequestID(t *testing.T) { raw := EncodeOK("rid-tcp", map[string]int{"n": 1}) env, err := DecodeEnvelope(raw) if err != nil { t.Fatal(err) } if env.Code != "0" || env.RequestID != "rid-tcp" { t.Fatalf("%+v %s", env, raw) } }