aboutsummaryrefslogtreecommitdiffhomepage
path: root/mailgun/resource_mailgun_domain_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'mailgun/resource_mailgun_domain_test.go')
-rw-r--r--mailgun/resource_mailgun_domain_test.go23
1 files changed, 16 insertions, 7 deletions
diff --git a/mailgun/resource_mailgun_domain_test.go b/mailgun/resource_mailgun_domain_test.go
index 952e013..57aa630 100644
--- a/mailgun/resource_mailgun_domain_test.go
+++ b/mailgun/resource_mailgun_domain_test.go
@@ -10,6 +10,7 @@ import (
10 "strconv" 10 "strconv"
11 "testing" 11 "testing"
12 "time" 12 "time"
13 "log"
13) 14)
14 15
15type fullDomain struct { 16type fullDomain struct {
@@ -21,7 +22,7 @@ type fullDomain struct {
21} 22}
22 23
23func getFullDomain(mg *mailgun.MailgunImpl, domainName string) (*fullDomain, error) { 24func getFullDomain(mg *mailgun.MailgunImpl, domainName string) (*fullDomain, error) {
24 ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) 25 ctx, cancel := context.WithTimeout(context.Background(), time.Second*120)
25 defer cancel() 26 defer cancel()
26 mg = mailgun.NewMailgun(domainName, mg.APIKey()) 27 mg = mailgun.NewMailgun(domainName, mg.APIKey())
27 28
@@ -42,7 +43,8 @@ func getFullDomain(mg *mailgun.MailgunImpl, domainName string) (*fullDomain, err
42 return nil, fmt.Errorf("Error Getting mailgun domain tracking Details for %s: Error: %s", domainName, err) 43 return nil, fmt.Errorf("Error Getting mailgun domain tracking Details for %s: Error: %s", domainName, err)
43 } 44 }
44 45
45 ipAddress, err := mg.ListDomainIPS(ctx) 46 ipAddress, err := getIps(ctx, mg)
47
46 if err != nil { 48 if err != nil {
47 return nil, fmt.Errorf("Error Getting mailgun domain ips2 for %s: Error: %s", domainName, err) 49 return nil, fmt.Errorf("Error Getting mailgun domain ips2 for %s: Error: %s", domainName, err)
48 } 50 }
@@ -210,12 +212,19 @@ func testAccDomainCheckDestroy(domain *fullDomain) resource.TestCheckFunc {
210 ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) 212 ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
211 defer cancel() 213 defer cancel()
212 214
213 _, err := mg.GetDomain(ctx, domain.domainResponse.Domain.Name) 215 log.Printf("[DEBUG] try to fetch destroyed domain %s",mg.Domain())
214 if err == nil {
215 return fmt.Errorf("domain still exists")
216 }
217 216
218 return nil 217 return resource.Retry(1*time.Minute, func() *resource.RetryError {
218 _, err := mg.GetDomain(ctx, domain.domainResponse.Domain.Name)
219 if err == nil {
220 log.Printf("[DEBUG] managed to fetch destroyed domain %s",mg.Domain())
221 return resource.RetryableError(err)
222 }
223
224 log.Printf("[DEBUG] failed to fetch destroyed domain %s",mg.Domain())
225
226 return nil
227 })
219 } 228 }
220} 229}
221 230