Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

79 lines
2.4KB

  1. package main
  2. import (
  3. "encoding/json"
  4. "testing"
  5. )
  6. func TestDecodeSubscribeJson(t *testing.T) {
  7. msg := `
  8. {
  9. "subscribe": 1,
  10. "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
  11. "nickname": "Band",
  12. "sex": 1,
  13. "language": "zh_CN",
  14. "city": "广州",
  15. "province": "广东",
  16. "country": "中国",
  17. "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
  18. "subscribe_time": 1382694957,
  19. "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL",
  20. "remark": "rr",
  21. "groupid": 0,
  22. "tagid_list":[128,2]
  23. }`
  24. s := WechatUserInfo{}
  25. err := json.Unmarshal([]byte(msg), &s)
  26. AssertEqual(t, err, nil, "decode json should have no error")
  27. AssertEqual(t, s.Avatar, "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", "Avatar not right")
  28. AssertEqual(t, s.Subscribe, int32(1), "subscribe should =1")
  29. AssertEqual(t, s.OpenID, "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", "OpenID mismatch")
  30. AssertEqual(t, s.NickName, "Band", "NickName wrong")
  31. AssertEqual(t, s.Sex, int32(1), "sex should = 1 ")
  32. AssertEqual(t, s.Language, "zh_CN", "language should = zh_CN")
  33. AssertEqual(t, s.City, "广州", "City = 广州")
  34. AssertEqual(t, s.Province, "广东", "Province = 广东")
  35. AssertEqual(t, s.Country, "中国", "country = 中国")
  36. AssertEqual(t, s.SubscribeTime, int32(1382694957), "time = 1382694957")
  37. AssertEqual(t, s.UnionID, "o6_bmasdasdsad6_2sgVt7hMZOPfL", "Union ID wrong")
  38. AssertEqual(t, s.Remark, "rr", "Remark wrong")
  39. AssertEqual(t, s.GroupID, int32(0), "GroupID wrong")
  40. AssertEqual(t, s.TagIDList[0], int32(128), "TagIDList wrong")
  41. AssertEqual(t, s.TagIDList[1], int32(2), "TagIDList wrong")
  42. }
  43. func TestRegisterNewUser(t *testing.T) {
  44. SetupConfig()
  45. msg := `
  46. {
  47. "subscribe": 1,
  48. "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
  49. "nickname": "Band",
  50. "sex": 1,
  51. "language": "zh_CN",
  52. "city": "广州",
  53. "province": "广东",
  54. "country": "中国",
  55. "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
  56. "subscribe_time": 1382694957,
  57. "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL",
  58. "remark": "rr",
  59. "groupid": 0,
  60. "tagid_list":[128,2]
  61. }`
  62. in := InWechatMsg{}
  63. in.header.FromUserName = "abc"
  64. s := WechatUserInfo{}
  65. json.Unmarshal([]byte(msg), &s)
  66. s.registerNewUserWithInfo(in)
  67. }