go-jamming/app/pingback/send/send_test.go

39 lines
832 B
Go

package send
import (
"brainbaking.com/go-jamming/app/mf"
"brainbaking.com/go-jamming/mocks"
"github.com/stretchr/testify/assert"
"testing"
)
func TestSendPingbackToEndpoint(t *testing.T) {
var capturedBody string
sender := Sender{
RestClient: &mocks.RestClientMock{
PostFunc: func(url string, contentType string, body string) error {
capturedBody = body
return nil
},
},
}
expectedXml := `<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>src</string></value>
</param>
<param>
<value><string>target</string></value>
</param>
</params>
</methodCall>`
sender.SendPingbackToEndpoint("http://dingdong.com/pingback", mf.Mention{
Source: "src",
Target: "target",
})
assert.Equal(t, expectedXml, capturedBody)
}