github.com/mailgun/mailgun-go/v3@v3.6.4/exports_test.go (about) 1 package mailgun_test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/facebookgo/ensure" 8 "github.com/mailgun/mailgun-go/v3" 9 ) 10 11 func TestExports(t *testing.T) { 12 mg := mailgun.NewMailgun(testDomain, testKey) 13 mg.SetAPIBase(server.URL()) 14 15 ctx := context.Background() 16 list, err := mg.ListExports(ctx, "") 17 ensure.Nil(t, err) 18 ensure.DeepEqual(t, len(list), 0) 19 20 err = mg.CreateExport(ctx, "/domains") 21 ensure.Nil(t, err) 22 23 list, err = mg.ListExports(ctx, "") 24 ensure.Nil(t, err) 25 ensure.DeepEqual(t, len(list), 1) 26 27 ensure.DeepEqual(t, list[0].ID, "0") 28 ensure.DeepEqual(t, list[0].URL, "/domains") 29 ensure.DeepEqual(t, list[0].Status, "complete") 30 31 export, err := mg.GetExport(ctx, "0") 32 ensure.Nil(t, err) 33 ensure.DeepEqual(t, export.ID, "0") 34 ensure.DeepEqual(t, export.URL, "/domains") 35 ensure.DeepEqual(t, export.Status, "complete") 36 } 37 38 func TestExportsLink(t *testing.T) { 39 mg := mailgun.NewMailgun(testDomain, testKey) 40 mg.SetAPIBase(server.URL()) 41 42 ctx := context.Background() 43 url, err := mg.GetExportLink(ctx, "12") 44 ensure.Nil(t, err) 45 ensure.StringContains(t, url, "/some/s3/url") 46 }