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  }