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

70 lines
1.8 KiB
Go

package mailgun
import (
"testing"
"github.com/facebookgo/ensure"
)
func TestCreateUnsubscriber(t *testing.T) {
email := randomEmail("unsubcribe", reqEnv(t, "MG_DOMAIN"))
mg, err := NewMailgunFromEnv()
ensure.Nil(t, err)
// Create unsubscription record
ensure.Nil(t, mg.Unsubscribe(email, "*"))
}
func TestGetUnsubscribes(t *testing.T) {
mg, err := NewMailgunFromEnv()
ensure.Nil(t, err)
n, us, err := mg.GetUnsubscribes(DefaultLimit, DefaultSkip)
ensure.Nil(t, err)
t.Logf("Received %d out of %d unsubscribe records.\n", len(us), n)
if len(us) > 0 {
t.Log("ID\tAddress\tCreated At\tTags\t")
for _, u := range us {
t.Logf("%s\t%s\t%s\t%s\t\n", u.ID, u.Address, u.CreatedAt, u.Tags)
}
}
}
func TestGetUnsubscriptionByAddress(t *testing.T) {
email := randomEmail("unsubcribe", reqEnv(t, "MG_DOMAIN"))
mg, err := NewMailgunFromEnv()
ensure.Nil(t, err)
// Create unsubscription record
ensure.Nil(t, mg.Unsubscribe(email, "*"))
n, us, err := mg.GetUnsubscribesByAddress(email)
ensure.Nil(t, err)
t.Logf("Received %d out of %d unsubscribe records.\n", len(us), n)
if len(us) > 0 {
t.Log("ID\tAddress\tCreated At\tTags\t")
for _, u := range us {
t.Logf("%s\t%s\t%s\t%s\t\n", u.ID, u.Address, u.CreatedAt, u.Tags)
}
}
// Destroy the unsubscription record
ensure.Nil(t, mg.RemoveUnsubscribe(email))
}
func TestCreateDestroyUnsubscription(t *testing.T) {
email := randomEmail("unsubcribe", reqEnv(t, "MG_DOMAIN"))
mg, err := NewMailgunFromEnv()
ensure.Nil(t, err)
// Create unsubscription record
ensure.Nil(t, mg.Unsubscribe(email, "*"))
n, us, err := mg.GetUnsubscribesByAddress(email)
ensure.Nil(t, err)
t.Logf("Received %d out of %d unsubscribe records.\n", len(us), n)
// Destroy the unsubscription record
ensure.Nil(t, mg.RemoveUnsubscribe(email))
}