github.com/mailgun/mailgun-go/v3@v3.6.4/credentials_test.go (about) 1 package mailgun 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 "strings" 8 "testing" 9 10 "github.com/facebookgo/ensure" 11 ) 12 13 func TestGetCredentials(t *testing.T) { 14 if reason := SkipNetworkTest(); reason != "" { 15 t.Skip(reason) 16 } 17 18 mg, err := NewMailgunFromEnv() 19 ensure.Nil(t, err) 20 21 ctx := context.Background() 22 it := mg.ListCredentials(nil) 23 24 var page []Credential 25 for it.Next(ctx, &page) { 26 t.Logf("Login\tCreated At\t\n") 27 for _, c := range page { 28 t.Logf("%s\t%s\t\n", c.Login, c.CreatedAt) 29 } 30 } 31 ensure.Nil(t, it.Err()) 32 } 33 34 func TestCreateDeleteCredentials(t *testing.T) { 35 if reason := SkipNetworkTest(); reason != "" { 36 t.Skip(reason) 37 } 38 39 domain := os.Getenv("MG_DOMAIN") 40 mg, err := NewMailgunFromEnv() 41 ensure.Nil(t, err) 42 43 randomPassword := randomString(16, "pw") 44 randomID := strings.ToLower(randomString(16, "usr")) 45 randomLogin := fmt.Sprintf("%s@%s", randomID, domain) 46 47 ctx := context.Background() 48 ensure.Nil(t, mg.CreateCredential(ctx, randomLogin, randomPassword)) 49 ensure.Nil(t, mg.ChangeCredentialPassword(ctx, randomID, randomString(16, "pw2"))) 50 ensure.Nil(t, mg.DeleteCredential(ctx, randomID)) 51 }