70 lines
1.8 KiB
Go
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))
|
|
}
|