]> git.immae.eu Git - github/fretlink/terraform-provider-mailgun.git/commitdiff
Merge pull request #14 from alexandreFre/add_import_test
authoralexandreFre <51956137+alexandreFre@users.noreply.github.com>
Tue, 9 Jul 2019 08:32:31 +0000 (10:32 +0200)
committerGitHub <noreply@github.com>
Tue, 9 Jul 2019 08:32:31 +0000 (10:32 +0200)
Add test for importation

mailgun/resource_mailgun_domain.go
mailgun/resource_mailgun_domain_test.go
mailgun/resource_mailgun_route_test.go

index 1fcba83bb1f104bbd270ec8304db6a6776d503a7..86531c62aec01cefcdbb59a767f3a93beaada9e9 100644 (file)
@@ -16,7 +16,7 @@ func resourceMailgunDomain() *schema.Resource {
                Delete: DeleteDomain,
                Read:   ReadDomain,
                Importer: &schema.ResourceImporter{
-                       State: schema.ImportStatePassthrough,
+                       State: ImportStatePassthroughDomain,
                },
 
                Schema: map[string]*schema.Schema{
@@ -368,7 +368,7 @@ func ReadDomain(d *schema.ResourceData, meta interface{}) error {
        mg := meta.(*mailgun.MailgunImpl)
        ctx, cancel := context.WithTimeout(context.Background(), time.Second*30)
        defer cancel()
-       domainName := d.Get("name").(string)
+       domainName := d.Id()
        mg = mailgun.NewMailgun(domainName, mg.APIKey())
 
        domainResponse, err := mg.GetDomain(ctx, domainName)
@@ -482,3 +482,14 @@ func ListCredentials(domain, apiKey string) ([]mailgun.Credential, error) {
        }
        return result, nil
 }
+
+func ImportStatePassthroughDomain(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
+       if _, ok := d.GetOk("dkim_key_size"); !ok {
+               d.Set("dkim_key_size", 1024)
+       }
+
+       if _, ok := d.GetOk("force_dkim_authority"); !ok {
+               d.Set("force_dkim_authority", false)
+       }
+       return []*schema.ResourceData{d}, nil
+}
index 6096c60844fc8c976511736ef5a8297680de31cb..952e0132aed7ee5f85bd7e0ecbb154125d5287c0 100644 (file)
@@ -105,6 +105,30 @@ func TestAccMailgunDomain_withUpdate(t *testing.T) {
        })
 }
 
+
+func TestDomain_importBasic(t *testing.T) {
+       var domain fullDomain
+
+       resource.Test(t, resource.TestCase{
+               PreCheck:     func() { testAccPreCheck(t) },
+               Providers:    testAccProviders,
+               CheckDestroy: testAccDomainCheckDestroy(&domain),
+               Steps: []resource.TestStep{
+                       {
+                               Config: interpolateTerraformTemplateDomain(testAccDomainConfig_import),
+                               Check: resource.ComposeTestCheckFunc(
+                                       testAccDomainCheckExists("mailgun_domain.exemple",&domain),
+                               ),
+                       },
+                       {
+                               ResourceName:      "mailgun_domain.exemple",
+                               ImportState:       true,
+                               ImportStateVerify: true,
+                       },
+               },
+       })
+}
+
 func testAccDomainCheckExists(rn string, domain *fullDomain) resource.TestCheckFunc {
        return func(s *terraform.State) error {
                rs, ok := s.RootModule().Resources[rn]
@@ -226,3 +250,8 @@ resource "mailgun_domain" "exemple" {
 
 }
 `
+const testAccDomainConfig_import = `
+resource "mailgun_domain" "exemple" {
+       name = "%s"
+}
+`
index 2d7b2210f89b2c7991bde143ef28f3fe318cd7c7..02d552adc032d69d14b6295da99ef458233ffcd7 100644 (file)
@@ -57,6 +57,29 @@ func TestAccMailgunRoute_withUpdate(t *testing.T) {
        })
 }
 
+func TestRoute_importBasic(t *testing.T) {
+       var route mailgun.Route
+
+       resource.Test(t, resource.TestCase{
+               PreCheck:     func() { testAccPreCheck(t) },
+               Providers:    testAccProviders,
+               CheckDestroy: testAccRouteCheckDestroy(&route),
+               Steps: []resource.TestStep{
+                       {
+                               Config: testAccRouteConfig_basic,
+                               Check: resource.ComposeTestCheckFunc(
+                                       testAccRouteCheckExists("mailgun_route.exemple",&route),
+                               ),
+                       },
+                       {
+                               ResourceName:      "mailgun_route.exemple",
+                               ImportState:       true,
+                               ImportStateVerify: true,
+                       },
+               },
+       })
+}
+
 func testAccRouteCheckExists(rn string, route *mailgun.Route) resource.TestCheckFunc {
        return func(s *terraform.State) error {
                rs, ok := s.RootModule().Resources[rn]