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") } }