aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoralexandreFre <51956137+alexandreFre@users.noreply.github.com>2019-07-09 10:32:31 +0200
committerGitHub <noreply@github.com>2019-07-09 10:32:31 +0200
commitdbbb014f494c502d8ac26437acd02412ee275b5a (patch)
tree57d42534000bfd9b7f1f73a3af62343d4a3a94a3
parent1b47892a9bef231b3e54c40345ae23a4b3b701e0 (diff)
parentb8802d62b2dcaad11d846bde7306b74f49263e5e (diff)
downloadterraform-provider-mailgun-dbbb014f494c502d8ac26437acd02412ee275b5a.tar.gz
terraform-provider-mailgun-dbbb014f494c502d8ac26437acd02412ee275b5a.tar.zst
terraform-provider-mailgun-dbbb014f494c502d8ac26437acd02412ee275b5a.zip
Merge pull request #14 from alexandreFre/add_import_test
Add test for importation
-rw-r--r--mailgun/resource_mailgun_domain.go15
-rw-r--r--mailgun/resource_mailgun_domain_test.go29
-rw-r--r--mailgun/resource_mailgun_route_test.go23
3 files changed, 65 insertions, 2 deletions
diff --git a/mailgun/resource_mailgun_domain.go b/mailgun/resource_mailgun_domain.go
index 1fcba83..86531c6 100644
--- a/mailgun/resource_mailgun_domain.go
+++ b/mailgun/resource_mailgun_domain.go
@@ -16,7 +16,7 @@ func resourceMailgunDomain() *schema.Resource {
16 Delete: DeleteDomain, 16 Delete: DeleteDomain,
17 Read: ReadDomain, 17 Read: ReadDomain,
18 Importer: &schema.ResourceImporter{ 18 Importer: &schema.ResourceImporter{
19 State: schema.ImportStatePassthrough, 19 State: ImportStatePassthroughDomain,
20 }, 20 },
21 21
22 Schema: map[string]*schema.Schema{ 22 Schema: map[string]*schema.Schema{
@@ -368,7 +368,7 @@ func ReadDomain(d *schema.ResourceData, meta interface{}) error {
368 mg := meta.(*mailgun.MailgunImpl) 368 mg := meta.(*mailgun.MailgunImpl)
369 ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) 369 ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
370 defer cancel() 370 defer cancel()
371 domainName := d.Get("name").(string) 371 domainName := d.Id()
372 mg = mailgun.NewMailgun(domainName, mg.APIKey()) 372 mg = mailgun.NewMailgun(domainName, mg.APIKey())
373 373
374 domainResponse, err := mg.GetDomain(ctx, domainName) 374 domainResponse, err := mg.GetDomain(ctx, domainName)
@@ -482,3 +482,14 @@ func ListCredentials(domain, apiKey string) ([]mailgun.Credential, error) {
482 } 482 }
483 return result, nil 483 return result, nil
484} 484}
485
486func ImportStatePassthroughDomain(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
487 if _, ok := d.GetOk("dkim_key_size"); !ok {
488 d.Set("dkim_key_size", 1024)
489 }
490
491 if _, ok := d.GetOk("force_dkim_authority"); !ok {
492 d.Set("force_dkim_authority", false)
493 }
494 return []*schema.ResourceData{d}, nil
495}
diff --git a/mailgun/resource_mailgun_domain_test.go b/mailgun/resource_mailgun_domain_test.go
index 6096c60..952e013 100644
--- a/mailgun/resource_mailgun_domain_test.go
+++ b/mailgun/resource_mailgun_domain_test.go
@@ -105,6 +105,30 @@ func TestAccMailgunDomain_withUpdate(t *testing.T) {
105 }) 105 })
106} 106}
107 107
108
109func TestDomain_importBasic(t *testing.T) {
110 var domain fullDomain
111
112 resource.Test(t, resource.TestCase{
113 PreCheck: func() { testAccPreCheck(t) },
114 Providers: testAccProviders,
115 CheckDestroy: testAccDomainCheckDestroy(&domain),
116 Steps: []resource.TestStep{
117 {
118 Config: interpolateTerraformTemplateDomain(testAccDomainConfig_import),
119 Check: resource.ComposeTestCheckFunc(
120 testAccDomainCheckExists("mailgun_domain.exemple",&domain),
121 ),
122 },
123 {
124 ResourceName: "mailgun_domain.exemple",
125 ImportState: true,
126 ImportStateVerify: true,
127 },
128 },
129 })
130}
131
108func testAccDomainCheckExists(rn string, domain *fullDomain) resource.TestCheckFunc { 132func testAccDomainCheckExists(rn string, domain *fullDomain) resource.TestCheckFunc {
109 return func(s *terraform.State) error { 133 return func(s *terraform.State) error {
110 rs, ok := s.RootModule().Resources[rn] 134 rs, ok := s.RootModule().Resources[rn]
@@ -226,3 +250,8 @@ resource "mailgun_domain" "exemple" {
226 250
227} 251}
228` 252`
253const testAccDomainConfig_import = `
254resource "mailgun_domain" "exemple" {
255 name = "%s"
256}
257`
diff --git a/mailgun/resource_mailgun_route_test.go b/mailgun/resource_mailgun_route_test.go
index 2d7b221..02d552a 100644
--- a/mailgun/resource_mailgun_route_test.go
+++ b/mailgun/resource_mailgun_route_test.go
@@ -57,6 +57,29 @@ func TestAccMailgunRoute_withUpdate(t *testing.T) {
57 }) 57 })
58} 58}
59 59
60func TestRoute_importBasic(t *testing.T) {
61 var route mailgun.Route
62
63 resource.Test(t, resource.TestCase{
64 PreCheck: func() { testAccPreCheck(t) },
65 Providers: testAccProviders,
66 CheckDestroy: testAccRouteCheckDestroy(&route),
67 Steps: []resource.TestStep{
68 {
69 Config: testAccRouteConfig_basic,
70 Check: resource.ComposeTestCheckFunc(
71 testAccRouteCheckExists("mailgun_route.exemple",&route),
72 ),
73 },
74 {
75 ResourceName: "mailgun_route.exemple",
76 ImportState: true,
77 ImportStateVerify: true,
78 },
79 },
80 })
81}
82
60func testAccRouteCheckExists(rn string, route *mailgun.Route) resource.TestCheckFunc { 83func testAccRouteCheckExists(rn string, route *mailgun.Route) resource.TestCheckFunc {
61 return func(s *terraform.State) error { 84 return func(s *terraform.State) error {
62 rs, ok := s.RootModule().Resources[rn] 85 rs, ok := s.RootModule().Resources[rn]