From 58092a21de12bc0c2e46cfd2702fe7e5b6717816 Mon Sep 17 00:00:00 2001 From: silenceper Date: Mon, 25 May 2020 23:27:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?testCase:=E4=BD=BF=E7=94=A8gock=E6=A8=A1?= =?UTF-8?q?=E6=8B=9Fhttp=E6=8E=A5=E5=8F=A3=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- credential/default_access_token_test.go | 18 ++++++++++++++++++ go.mod | 2 ++ go.sum | 5 +++++ 3 files changed, 25 insertions(+) create mode 100644 credential/default_access_token_test.go diff --git a/credential/default_access_token_test.go b/credential/default_access_token_test.go new file mode 100644 index 0000000..feafe39 --- /dev/null +++ b/credential/default_access_token_test.go @@ -0,0 +1,18 @@ +package credential + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "gopkg.in/h2non/gock.v1" +) + +func TestGetTicketFromServer(t *testing.T) { + defer gock.Off() + gock.New(getTicketURL).Reply(200).JSON(&ResTicket{Ticket: "mock-ticket", ExpiresIn: 10}) + ticket, err := GetTicketFromServer("arg-ak") + assert.Nil(t, err) + assert.Equal(t, int64(0), ticket.ErrCode) + assert.Equal(t, "mock-ticket", ticket.Ticket, "they should be equal") + assert.Equal(t, int64(10), ticket.ExpiresIn, "they should be equal") +} diff --git a/go.mod b/go.mod index 05eb1d5..accf6a3 100644 --- a/go.mod +++ b/go.mod @@ -8,5 +8,7 @@ require ( github.com/gomodule/redigo v1.8.1 github.com/sirupsen/logrus v1.6.0 github.com/spf13/cast v1.3.1 + github.com/stretchr/testify v1.5.1 golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 + gopkg.in/h2non/gock.v1 v1.0.15 ) diff --git a/go.sum b/go.sum index 2098f8c..16de9c6 100644 --- a/go.sum +++ b/go.sum @@ -7,8 +7,11 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/gomodule/redigo v1.8.1 h1:Abmo0bI7Xf0IhdIPc7HZQzZcShdnmxeoVuDDtIQp8N8= github.com/gomodule/redigo v1.8.1/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= +github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw= +github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= @@ -29,5 +32,7 @@ golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/h2non/gock.v1 v1.0.15 h1:SzLqcIlb/fDfg7UvukMpNcWsu7sI5tWwL+KCATZqks0= +gopkg.in/h2non/gock.v1 v1.0.15/go.mod h1:sX4zAkdYX1TRGJ2JY156cFspQn4yRWn6p9EMdODlynE= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 66369c9541898ee3eb5a97316387a03a2c3ab3b6 Mon Sep 17 00:00:00 2001 From: silenceper Date: Tue, 26 May 2020 21:50:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B0=86=E5=8E=9F=E5=A7=8B=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=86=85=E5=AE=B9=E6=9A=B4=E9=9C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- officialaccount/server/server.go | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/officialaccount/server/server.go b/officialaccount/server/server.go index b8addfa..ec8a635 100644 --- a/officialaccount/server/server.go +++ b/officialaccount/server/server.go @@ -29,10 +29,10 @@ type Server struct { messageHandler func(message.MixMessage) *message.Reply - requestRawXMLMsg []byte - requestMsg message.MixMessage - responseRawXMLMsg []byte - responseMsg interface{} + RequestRawXMLMsg []byte + RequestMsg message.MixMessage + ResponseRawXMLMsg []byte + ResponseMsg interface{} isSafeMode bool random []byte @@ -71,7 +71,7 @@ func (srv *Server) Serve() error { } //debug print request msg - log.Debugf("request msg =%s", string(srv.requestRawXMLMsg)) + log.Debugf("request msg =%s", string(srv.RequestRawXMLMsg)) return srv.buildResponse(response) } @@ -109,7 +109,7 @@ func (srv *Server) handleRequest() (reply *message.Reply, err error) { if !success { err = errors.New("消息类型转换失败") } - srv.requestMsg = mixMessage + srv.RequestMsg = mixMessage reply = srv.messageHandler(mixMessage) return } @@ -155,7 +155,7 @@ func (srv *Server) getMessage() (interface{}, error) { } } - srv.requestRawXMLMsg = rawXMLMsgBytes + srv.RequestRawXMLMsg = rawXMLMsgBytes return srv.parseRequestMessage(rawXMLMsgBytes) } @@ -204,10 +204,10 @@ func (srv *Server) buildResponse(reply *message.Reply) (err error) { } params := make([]reflect.Value, 1) - params[0] = reflect.ValueOf(srv.requestMsg.FromUserName) + params[0] = reflect.ValueOf(srv.RequestMsg.FromUserName) value.MethodByName("SetToUserName").Call(params) - params[0] = reflect.ValueOf(srv.requestMsg.ToUserName) + params[0] = reflect.ValueOf(srv.RequestMsg.ToUserName) value.MethodByName("SetFromUserName").Call(params) params[0] = reflect.ValueOf(msgType) @@ -216,19 +216,19 @@ func (srv *Server) buildResponse(reply *message.Reply) (err error) { params[0] = reflect.ValueOf(util.GetCurrTs()) value.MethodByName("SetCreateTime").Call(params) - srv.responseMsg = msgData - srv.responseRawXMLMsg, err = xml.Marshal(msgData) + srv.ResponseMsg = msgData + srv.ResponseRawXMLMsg, err = xml.Marshal(msgData) return } //Send 将自定义的消息发送 func (srv *Server) Send() (err error) { - replyMsg := srv.responseMsg + replyMsg := srv.ResponseMsg log.Debugf("response msg =%+v", replyMsg) if srv.isSafeMode { //安全模式下对消息进行加密 var encryptedMsg []byte - encryptedMsg, err = util.EncryptMsg(srv.random, srv.responseRawXMLMsg, srv.AppID, srv.EncodingAESKey) + encryptedMsg, err = util.EncryptMsg(srv.random, srv.ResponseRawXMLMsg, srv.AppID, srv.EncodingAESKey) if err != nil { return }