/vendor/github.com/mailgun/mailgun-go/acceptance/credentials_test.go
Go | 53 lines | 45 code | 7 blank | 1 comment | 9 complexity | 4d872b58055ed1747d4ecdc4a771e507 MD5 | raw file
1// +build acceptance
2
3package acceptance
4
5import (
6 "fmt"
7 mailgun "github.com/mailgun/mailgun-go"
8 "os"
9 "testing"
10 "text/tabwriter"
11)
12
13func TestGetCredentials(t *testing.T) {
14 domain := reqEnv(t, "MG_DOMAIN")
15 apiKey := reqEnv(t, "MG_API_KEY")
16 mg := mailgun.NewMailgun(domain, apiKey, "")
17 n, cs, err := mg.GetCredentials(mailgun.DefaultLimit, mailgun.DefaultSkip)
18 if err != nil {
19 t.Fatal(err)
20 }
21 tw := &tabwriter.Writer{}
22 tw.Init(os.Stdout, 2, 8, 2, ' ', 0)
23 fmt.Fprintf(tw, "Login\tCreated At\t\n")
24 for _, c := range cs {
25 fmt.Fprintf(tw, "%s\t%s\t\n", c.Login, c.CreatedAt)
26 }
27 tw.Flush()
28 fmt.Printf("%d credentials listed out of %d\n", len(cs), n)
29}
30
31func TestCreateDeleteCredentials(t *testing.T) {
32 domain := reqEnv(t, "MG_DOMAIN")
33 apiKey := reqEnv(t, "MG_API_KEY")
34 mg := mailgun.NewMailgun(domain, apiKey, "")
35 randomPassword := randomString(16, "pw")
36 randomID := randomString(16, "usr")
37 randomLogin := fmt.Sprintf("%s@%s", randomID, domain)
38
39 err := mg.CreateCredential(randomLogin, randomPassword)
40 if err != nil {
41 t.Fatal(err)
42 }
43
44 err = mg.ChangeCredentialPassword(randomID, randomString(16, "pw2"))
45 if err != nil {
46 t.Fatal(err)
47 }
48
49 err = mg.DeleteCredential(randomID)
50 if err != nil {
51 t.Fatal(err)
52 }
53}