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ů.

88 lines
2.8KB

  1. package main
  2. import (
  3. "encoding/json"
  4. "log"
  5. "testing"
  6. )
  7. func TestDecodeSubscribeJson(t *testing.T) {
  8. msg := `
  9. {
  10. "subscribe": 1,
  11. "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
  12. "nickname": "Band",
  13. "sex": 1,
  14. "language": "zh_CN",
  15. "city": "广州",
  16. "province": "广东",
  17. "country": "中国",
  18. "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
  19. "subscribe_time": 1382694957,
  20. "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL",
  21. "remark": "rr",
  22. "groupid": 0,
  23. "tagid_list":[128,2]
  24. }`
  25. s := WechatUserInfo{}
  26. err := json.Unmarshal([]byte(msg), &s)
  27. AssertEqual(t, err, nil, "decode json should have no error")
  28. AssertEqual(t, s.Avatar, "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", "Avatar not right")
  29. AssertEqual(t, s.Subscribe, int32(1), "subscribe should =1")
  30. AssertEqual(t, s.OpenID, "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", "OpenID mismatch")
  31. AssertEqual(t, s.NickName, "Band", "NickName wrong")
  32. AssertEqual(t, s.Sex, int32(1), "sex should = 1 ")
  33. AssertEqual(t, s.Language, "zh_CN", "language should = zh_CN")
  34. AssertEqual(t, s.City, "广州", "City = 广州")
  35. AssertEqual(t, s.Province, "广东", "Province = 广东")
  36. AssertEqual(t, s.Country, "中国", "country = 中国")
  37. AssertEqual(t, s.SubscribeTime, int32(1382694957), "time = 1382694957")
  38. AssertEqual(t, s.UnionID, "o6_bmasdasdsad6_2sgVt7hMZOPfL", "Union ID wrong")
  39. AssertEqual(t, s.Remark, "rr", "Remark wrong")
  40. AssertEqual(t, s.GroupID, int32(0), "GroupID wrong")
  41. AssertEqual(t, s.TagIDList[0], int32(128), "TagIDList wrong")
  42. AssertEqual(t, s.TagIDList[1], int32(2), "TagIDList wrong")
  43. }
  44. func TestRegisterNewUser(t *testing.T) {
  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. newuser, err := s.registerNewLeadWithInfo(in)
  67. AssertEqual(t, err, nil, "should be successfully added new user")
  68. AssertEqual(t, newuser.WechatHitxyID, in.header.FromUserName, "wechatOpenID mismatch")
  69. log.Printf("created temp Lead %s ", newuser.ID)
  70. deleted, err := crmDeleteEntity("Lead", newuser.ID)
  71. AssertEqual(t, err, nil, "should be successfully cleanup test record")
  72. AssertEqual(t, deleted, true, "deleted should be true ")
  73. log.Printf("deleted temp Lead %s ", newuser.ID)
  74. }