From 741d74bd478d7dab85842afe484467d478de72bf Mon Sep 17 00:00:00 2001 From: Scott McAllister Date: Thu, 18 Mar 2021 19:15:57 -0700 Subject: [PATCH 1/4] response_play.responder to optional --- pagerduty/resource_pagerduty_response_play.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pagerduty/resource_pagerduty_response_play.go b/pagerduty/resource_pagerduty_response_play.go index e03733a4d..20e9f9a96 100644 --- a/pagerduty/resource_pagerduty_response_play.go +++ b/pagerduty/resource_pagerduty_response_play.go @@ -65,7 +65,7 @@ func resourcePagerDutyResponsePlay() *schema.Resource { }, "responder": { Type: schema.TypeList, - Required: true, + Optional: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "id": { From 5928e21343e12562fa1e3526eb51815ca9a9921e Mon Sep 17 00:00:00 2001 From: Scott McAllister Date: Mon, 22 Mar 2021 18:31:03 -0700 Subject: [PATCH 2/4] add suppress case diff to user email --- pagerduty/resource_pagerduty_user.go | 8 ++------ pagerduty/resource_pagerduty_user_test.go | 4 ++-- pagerduty/util.go | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/pagerduty/resource_pagerduty_user.go b/pagerduty/resource_pagerduty_user.go index 7f6f59bfe..bc7d22550 100644 --- a/pagerduty/resource_pagerduty_user.go +++ b/pagerduty/resource_pagerduty_user.go @@ -25,17 +25,13 @@ func resourcePagerDutyUser() *schema.Resource { Type: schema.TypeString, Required: true, // Suppress the diff shown if there are leading or trailing spaces - DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { - if old == strings.TrimSpace(new) { - return true - } - return false - }, + DiffSuppressFunc: suppressLeadTrailSpaceDiff, }, "email": { Type: schema.TypeString, Required: true, + DiffSuppressFunc: suppressCaseDiff, }, "color": { diff --git a/pagerduty/resource_pagerduty_user_test.go b/pagerduty/resource_pagerduty_user_test.go index aaefe9309..b97f34a6f 100644 --- a/pagerduty/resource_pagerduty_user_test.go +++ b/pagerduty/resource_pagerduty_user_test.go @@ -55,7 +55,7 @@ func testSweepUser(region string) error { func TestAccPagerDutyUser_Basic(t *testing.T) { username := fmt.Sprintf("tf-%s", acctest.RandString(5)) usernameUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5)) - email := fmt.Sprintf("%s@foo.com", username) + email := fmt.Sprintf("%s@Foo.com", username) emailUpdated := fmt.Sprintf("%s@foo.com", usernameUpdated) resource.Test(t, resource.TestCase{ @@ -70,7 +70,7 @@ func TestAccPagerDutyUser_Basic(t *testing.T) { resource.TestCheckResourceAttr( "pagerduty_user.foo", "name", username), resource.TestCheckResourceAttr( - "pagerduty_user.foo", "email", email), + "pagerduty_user.foo", "email", strings.ToLower(email)), resource.TestCheckResourceAttr( "pagerduty_user.foo", "color", "green"), resource.TestCheckResourceAttr( diff --git a/pagerduty/util.go b/pagerduty/util.go index c6d6596a4..d511c10ac 100644 --- a/pagerduty/util.go +++ b/pagerduty/util.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "time" + "strings" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" ) @@ -42,6 +43,20 @@ func suppressRFC3339Diff(k, oldTime, newTime string, d *schema.ResourceData) boo return oldT.Equal(newT) } +func suppressLeadTrailSpaceDiff(k, old, new string, d *schema.ResourceData) bool { + if old == strings.TrimSpace(new) { + return true + } + return false +} + +func suppressCaseDiff(k, old, new string, d *schema.ResourceData) bool { + if old == strings.ToLower(new) { + return true + } + return false +} + // Validate a value against a set of possible values func validateValueFunc(values []string) schema.SchemaValidateFunc { return func(v interface{}, k string) (we []string, errors []error) { From 6e9b4dffeb1cbc1a6744988ff7e5442ba7db250d Mon Sep 17 00:00:00 2001 From: Scott McAllister Date: Mon, 22 Mar 2021 19:04:09 -0700 Subject: [PATCH 3/4] fix fmt errors --- pagerduty/resource_pagerduty_user.go | 4 ++-- pagerduty/util.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pagerduty/resource_pagerduty_user.go b/pagerduty/resource_pagerduty_user.go index bc7d22550..af55d2f2b 100644 --- a/pagerduty/resource_pagerduty_user.go +++ b/pagerduty/resource_pagerduty_user.go @@ -29,8 +29,8 @@ func resourcePagerDutyUser() *schema.Resource { }, "email": { - Type: schema.TypeString, - Required: true, + Type: schema.TypeString, + Required: true, DiffSuppressFunc: suppressCaseDiff, }, diff --git a/pagerduty/util.go b/pagerduty/util.go index d511c10ac..b4dbf4e10 100644 --- a/pagerduty/util.go +++ b/pagerduty/util.go @@ -4,8 +4,8 @@ import ( "encoding/json" "fmt" "log" - "time" "strings" + "time" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" ) From 0117c69fcc0bd0a0606685dd8838e29d1d921cf5 Mon Sep 17 00:00:00 2001 From: Scott McAllister Date: Thu, 25 Mar 2021 17:39:43 -0700 Subject: [PATCH 4/4] adding spaces to username test --- pagerduty/resource_pagerduty_user_test.go | 3 ++- pagerduty/util.go | 10 ++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/pagerduty/resource_pagerduty_user_test.go b/pagerduty/resource_pagerduty_user_test.go index b97f34a6f..0b8da6d25 100644 --- a/pagerduty/resource_pagerduty_user_test.go +++ b/pagerduty/resource_pagerduty_user_test.go @@ -54,6 +54,7 @@ func testSweepUser(region string) error { func TestAccPagerDutyUser_Basic(t *testing.T) { username := fmt.Sprintf("tf-%s", acctest.RandString(5)) + usernameSpaces := " " + username + " " usernameUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5)) email := fmt.Sprintf("%s@Foo.com", username) emailUpdated := fmt.Sprintf("%s@foo.com", usernameUpdated) @@ -64,7 +65,7 @@ func TestAccPagerDutyUser_Basic(t *testing.T) { CheckDestroy: testAccCheckPagerDutyUserDestroy, Steps: []resource.TestStep{ { - Config: testAccCheckPagerDutyUserConfig(username, email), + Config: testAccCheckPagerDutyUserConfig(usernameSpaces, email), Check: resource.ComposeTestCheckFunc( testAccCheckPagerDutyUserExists("pagerduty_user.foo"), resource.TestCheckResourceAttr( diff --git a/pagerduty/util.go b/pagerduty/util.go index b4dbf4e10..cb53e7842 100644 --- a/pagerduty/util.go +++ b/pagerduty/util.go @@ -44,17 +44,11 @@ func suppressRFC3339Diff(k, oldTime, newTime string, d *schema.ResourceData) boo } func suppressLeadTrailSpaceDiff(k, old, new string, d *schema.ResourceData) bool { - if old == strings.TrimSpace(new) { - return true - } - return false + return old == strings.TrimSpace(new) } func suppressCaseDiff(k, old, new string, d *schema.ResourceData) bool { - if old == strings.ToLower(new) { - return true - } - return false + return old == strings.ToLower(new) } // Validate a value against a set of possible values