hanayo/vendor/gopkg.in/mailgun/mailgun-go.v1/mailgun_test.go
2019-02-23 13:29:15 +00:00

70 lines
1.4 KiB
Go

package mailgun
import (
"net/http"
"strconv"
"testing"
"github.com/facebookgo/ensure"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
const domain = "valid-mailgun-domain"
const apiKey = "valid-mailgun-api-key"
const publicApiKey = "valid-mailgun-public-api-key"
func TestMailgunGinkgo(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Mailgun Test Suite")
}
func TestMailgun(t *testing.T) {
m := NewMailgun(domain, apiKey, publicApiKey)
ensure.DeepEqual(t, m.Domain(), domain)
ensure.DeepEqual(t, m.ApiKey(), apiKey)
ensure.DeepEqual(t, m.PublicApiKey(), publicApiKey)
ensure.DeepEqual(t, m.Client(), http.DefaultClient)
client := new(http.Client)
m.SetClient(client)
ensure.DeepEqual(t, client, m.Client())
}
func TestBounceGetCode(t *testing.T) {
b1 := &Bounce{
CreatedAt: "blah",
code: 123,
Address: "blort",
Error: "bletch",
}
c, err := b1.GetCode()
ensure.Nil(t, err)
ensure.DeepEqual(t, c, 123)
b2 := &Bounce{
CreatedAt: "blah",
code: "456",
Address: "blort",
Error: "Bletch",
}
c, err = b2.GetCode()
ensure.Nil(t, err)
ensure.DeepEqual(t, c, 456)
b3 := &Bounce{
CreatedAt: "blah",
code: "456H",
Address: "blort",
Error: "Bletch",
}
c, err = b3.GetCode()
ensure.NotNil(t, err)
e, ok := err.(*strconv.NumError)
if !ok && e != nil {
t.Fatal("Expected a syntax error in numeric conversion: got ", err)
}
}