Covered ApiSender with tests
This commit is contained in:
parent
d2e8342866
commit
b66cfcc840
4 changed files with 71 additions and 5 deletions
|
|
@ -1,7 +1,63 @@
|
|||
package vk
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"gopkg.in/h2non/gock.v1"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestApiSender_Send(t *testing.T) {
|
||||
func TestApiSender_Send_OK(t *testing.T) {
|
||||
defer gock.Off()
|
||||
|
||||
gock.New(SendMessageUrl).MatchParams(
|
||||
map[string]string{
|
||||
"access_token": "token",
|
||||
"peer_id": "1",
|
||||
"message": "msg",
|
||||
"v": "5.95",
|
||||
},
|
||||
).ParamPresent("random_id").Reply(http.StatusOK)
|
||||
|
||||
sender := ApiSender{Token: "token"}
|
||||
sender.Send(1, "msg")
|
||||
assert.False(t, gock.HasUnmatchedRequest())
|
||||
}
|
||||
|
||||
func TestApiSender_Send_NotOK(t *testing.T) {
|
||||
defer gock.Off()
|
||||
|
||||
gock.New(SendMessageUrl).Reply(http.StatusInternalServerError)
|
||||
|
||||
b := &bytes.Buffer{}
|
||||
sender := ApiSender{
|
||||
Token: "token",
|
||||
Logger: log.New(b, "", 0),
|
||||
}
|
||||
sender.Send(1, "msg")
|
||||
assert.True(t, strings.Contains(b.String(), "[error]"))
|
||||
}
|
||||
|
||||
func TestApiSender_Send_ErrorCode(t *testing.T) {
|
||||
defer gock.Off()
|
||||
|
||||
gock.New(SendMessageUrl).Reply(http.StatusOK).JSON(
|
||||
map[string]interface{}{
|
||||
"error": map[string]interface{}{
|
||||
"error_code": 100,
|
||||
"error_msg": "bad user",
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
b := &bytes.Buffer{}
|
||||
sender := ApiSender{
|
||||
Token: "token",
|
||||
Logger: log.New(b, "", 0),
|
||||
}
|
||||
sender.Send(1, "msg")
|
||||
assert.True(t, strings.Contains(b.String(), "[error]"))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue