provider/pagerduty: Randomize names in acceptance tests (#14364)
* Randomize names for pagerduty_user * Randomize names for pagerduty_team * Randomize names for pagerduty_service * Randomize names for pagerduty_service_integration * Randomize names for pagerduty_schedule * Randomize names for pagerduty_escalation_policy * Randomize names for pagerduty_addon * Randomize names for data_pagerduty_user * Randomize names for data_pagerduty_schedule * Randomize names for data_pagerduty_escalation_policy * Run in parallel if $PAGERDUTY_PARALLEL is passed
This commit is contained in:
parent
51c99b6e82
commit
0736dde0f7
|
@ -10,13 +10,16 @@ import (
|
|||
)
|
||||
|
||||
func TestAccDataSourcePagerDutyEscalationPolicy_Basic(t *testing.T) {
|
||||
rName := acctest.RandString(5)
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccDataSourcePagerDutyEscalationPolicyConfig(rName),
|
||||
{
|
||||
Config: testAccDataSourcePagerDutyEscalationPolicyConfig(username, email, escalationPolicy),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccDataSourcePagerDutyEscalationPolicy("pagerduty_escalation_policy.test", "data.pagerduty_escalation_policy.by_name"),
|
||||
),
|
||||
|
@ -50,15 +53,15 @@ func testAccDataSourcePagerDutyEscalationPolicy(src, n string) resource.TestChec
|
|||
}
|
||||
}
|
||||
|
||||
func testAccDataSourcePagerDutyEscalationPolicyConfig(rName string) string {
|
||||
func testAccDataSourcePagerDutyEscalationPolicyConfig(username, email, escalationPolicy string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "test" {
|
||||
name = "TF User %[1]s"
|
||||
email = "tf.%[1]s@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "test" {
|
||||
name = "TF Escalation Policy %[1]v"
|
||||
name = "%s"
|
||||
num_loops = 2
|
||||
|
||||
rule {
|
||||
|
@ -74,5 +77,5 @@ resource "pagerduty_escalation_policy" "test" {
|
|||
data "pagerduty_escalation_policy" "by_name" {
|
||||
name = "${pagerduty_escalation_policy.test.name}"
|
||||
}
|
||||
`, rName)
|
||||
`, username, email, escalationPolicy)
|
||||
}
|
||||
|
|
|
@ -10,13 +10,16 @@ import (
|
|||
)
|
||||
|
||||
func TestAccDataSourcePagerDutySchedule_Basic(t *testing.T) {
|
||||
rName := acctest.RandString(5)
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
schedule := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccDataSourcePagerDutyScheduleConfig(rName),
|
||||
{
|
||||
Config: testAccDataSourcePagerDutyScheduleConfig(username, email, schedule),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccDataSourcePagerDutySchedule("pagerduty_schedule.test", "data.pagerduty_schedule.by_name"),
|
||||
),
|
||||
|
@ -50,15 +53,15 @@ func testAccDataSourcePagerDutySchedule(src, n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
func testAccDataSourcePagerDutyScheduleConfig(rName string) string {
|
||||
func testAccDataSourcePagerDutyScheduleConfig(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "test" {
|
||||
name = "TF User %[1]s"
|
||||
email = "tf.%[1]s@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "test" {
|
||||
name = "TF Schedule %[1]s"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "America/New_York"
|
||||
|
||||
|
@ -81,5 +84,5 @@ resource "pagerduty_schedule" "test" {
|
|||
data "pagerduty_schedule" "by_name" {
|
||||
name = "${pagerduty_schedule.test.name}"
|
||||
}
|
||||
`, rName)
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
|
|
@ -10,13 +10,15 @@ import (
|
|||
)
|
||||
|
||||
func TestAccDataSourcePagerDutyUser_Basic(t *testing.T) {
|
||||
rName := acctest.RandString(5)
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccDataSourcePagerDutyUserConfig(rName),
|
||||
{
|
||||
Config: testAccDataSourcePagerDutyUserConfig(username, email),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccDataSourcePagerDutyUser("pagerduty_user.test", "data.pagerduty_user.by_email"),
|
||||
),
|
||||
|
@ -50,15 +52,15 @@ func testAccDataSourcePagerDutyUser(src, n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
func testAccDataSourcePagerDutyUserConfig(rName string) string {
|
||||
func testAccDataSourcePagerDutyUserConfig(username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "test" {
|
||||
name = "TF User %[1]s"
|
||||
email = "tf.%[1]s@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
data "pagerduty_user" "by_email" {
|
||||
email = "${pagerduty_user.test.email}"
|
||||
}
|
||||
`, rName)
|
||||
`, username, email)
|
||||
}
|
||||
|
|
|
@ -1,25 +1,29 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyEscalationPolicy_import(t *testing.T) {
|
||||
resourceName := "pagerduty_escalation_policy.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyEscalationPolicyDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfig(username, email, escalationPolicy),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_escalation_policy.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -1,25 +1,29 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutySchedule_import(t *testing.T) {
|
||||
resourceName := "pagerduty_schedule.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
schedule := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyUserDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfig(username, email, schedule),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_schedule.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -1,25 +1,31 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyServiceIntegration_import(t *testing.T) {
|
||||
resourceName := "pagerduty_service_integration.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceIntegration := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceIntegrationDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfig(username, email, escalationPolicy, service, serviceIntegration),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_service_integration.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -1,25 +1,30 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyService_import(t *testing.T) {
|
||||
resourceName := "pagerduty_service.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceConfig(username, email, escalationPolicy, service),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_service.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
@ -28,19 +33,22 @@ func TestAccPagerDutyService_import(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyServiceWithIncidentUrgency_import(t *testing.T) {
|
||||
resourceName := "pagerduty_service.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig(username, email, escalationPolicy, service),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_service.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -1,25 +1,27 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyTeam_import(t *testing.T) {
|
||||
resourceName := "pagerduty_team.foo"
|
||||
team := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyTeamDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyTeamConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyTeamConfig(team),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_team.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -1,25 +1,28 @@
|
|||
package pagerduty
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyUser_import(t *testing.T) {
|
||||
resourceName := "pagerduty_user.foo"
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyUserDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserConfig(username, email),
|
||||
},
|
||||
|
||||
resource.TestStep{
|
||||
ResourceName: resourceName,
|
||||
{
|
||||
ResourceName: "pagerduty_user.foo",
|
||||
ImportState: true,
|
||||
ImportStateVerify: true,
|
||||
},
|
||||
|
|
|
@ -29,6 +29,10 @@ func TestProviderImpl(t *testing.T) {
|
|||
}
|
||||
|
||||
func testAccPreCheck(t *testing.T) {
|
||||
if v := os.Getenv("PAGERDUTY_PARALLEL"); v != "" {
|
||||
t.Parallel()
|
||||
}
|
||||
|
||||
if v := os.Getenv("PAGERDUTY_TOKEN"); v == "" {
|
||||
t.Fatal("PAGERDUTY_TOKEN must be set for acceptance tests")
|
||||
}
|
||||
|
|
|
@ -5,32 +5,36 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyAddon_Basic(t *testing.T) {
|
||||
addon := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
addonUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyAddonDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyAddonConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyAddonConfig(addon),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyAddonExists("pagerduty_addon.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_addon.foo", "name", "Foo status page"),
|
||||
"pagerduty_addon.foo", "name", addon),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_addon.foo", "src", "https://intranet.foo.com/status"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyAddonConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyAddonConfigUpdated(addonUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyAddonExists("pagerduty_addon.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_addon.foo", "name", "Bar status page"),
|
||||
"pagerduty_addon.foo", "name", addonUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_addon.foo", "src", "https://intranet.bar.com/status"),
|
||||
),
|
||||
|
@ -80,16 +84,20 @@ func testAccCheckPagerDutyAddonExists(n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyAddonConfig = `
|
||||
func testAccCheckPagerDutyAddonConfig(addon string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_addon" "foo" {
|
||||
name = "Foo status page"
|
||||
name = "%s"
|
||||
src = "https://intranet.foo.com/status"
|
||||
}
|
||||
`
|
||||
`, addon)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyAddonConfigUpdated = `
|
||||
func testAccCheckPagerDutyAddonConfigUpdated(addon string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_addon" "foo" {
|
||||
name = "Bar status page"
|
||||
name = "%s"
|
||||
src = "https://intranet.bar.com/status"
|
||||
}
|
||||
`
|
||||
`, addon)
|
||||
}
|
||||
|
|
|
@ -5,22 +5,28 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyEscalationPolicy_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
escalationPolicyUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyEscalationPolicyDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfig(username, email, escalationPolicy),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyEscalationPolicyExists("pagerduty_escalation_policy.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "name", "foo"),
|
||||
"pagerduty_escalation_policy.foo", "name", escalationPolicy),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -31,12 +37,13 @@ func TestAccPagerDutyEscalationPolicy_Basic(t *testing.T) {
|
|||
"pagerduty_escalation_policy.foo", "rule.0.escalation_delay_in_minutes", "10"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfigUpdated,
|
||||
|
||||
{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyConfigUpdated(username, email, escalationPolicyUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyEscalationPolicyExists("pagerduty_escalation_policy.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "name", "bar"),
|
||||
"pagerduty_escalation_policy.foo", "name", escalationPolicyUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "description", "bar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -54,17 +61,23 @@ func TestAccPagerDutyEscalationPolicy_Basic(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyEscalationPolicyWithTeams_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
team := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
escalationPolicyUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyEscalationPolicyDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyWithTeamsConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyWithTeamsConfig(username, email, team, escalationPolicy),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyEscalationPolicyExists("pagerduty_escalation_policy.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "name", "foo"),
|
||||
"pagerduty_escalation_policy.foo", "name", escalationPolicy),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -77,12 +90,12 @@ func TestAccPagerDutyEscalationPolicyWithTeams_Basic(t *testing.T) {
|
|||
"pagerduty_escalation_policy.foo", "teams.#", "1"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyWithTeamsConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyEscalationPolicyWithTeamsConfigUpdated(username, email, team, escalationPolicyUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyEscalationPolicyExists("pagerduty_escalation_policy.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "name", "bar"),
|
||||
"pagerduty_escalation_policy.foo", "name", escalationPolicyUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_escalation_policy.foo", "description", "bar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -143,10 +156,11 @@ func testAccCheckPagerDutyEscalationPolicyExists(n string) resource.TestCheckFun
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyEscalationPolicyConfig = `
|
||||
func testAccCheckPagerDutyEscalationPolicyConfig(name, email, escalationPolicy string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -154,7 +168,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
num_loops = 1
|
||||
|
||||
|
@ -167,12 +181,14 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, name, email, escalationPolicy)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyEscalationPolicyConfigUpdated = `
|
||||
func testAccCheckPagerDutyEscalationPolicyConfigUpdated(name, email, escalationPolicy string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -180,7 +196,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -202,12 +218,14 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, name, email, escalationPolicy)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyEscalationPolicyWithTeamsConfig = `
|
||||
func testAccCheckPagerDutyEscalationPolicyWithTeamsConfig(name, email, team, escalationPolicy string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -215,12 +233,12 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
num_loops = 1
|
||||
teams = ["${pagerduty_team.foo.id}"]
|
||||
|
@ -234,12 +252,14 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, name, email, team, escalationPolicy)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyEscalationPolicyWithTeamsConfigUpdated = `
|
||||
func testAccCheckPagerDutyEscalationPolicyWithTeamsConfigUpdated(name, email, team, escalationPolicy string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -247,12 +267,12 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -274,4 +294,5 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, name, email, team, escalationPolicy)
|
||||
}
|
||||
|
|
|
@ -5,22 +5,28 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutySchedule_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
schedule := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
scheduleUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyScheduleDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfig(username, email, schedule),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyScheduleExists("pagerduty_schedule.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "name", "foo"),
|
||||
"pagerduty_schedule.foo", "name", schedule),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -31,12 +37,12 @@ func TestAccPagerDutySchedule_Basic(t *testing.T) {
|
|||
"pagerduty_schedule.foo", "layer.0.name", "foo"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfigUpdated(username, email, scheduleUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyScheduleExists("pagerduty_schedule.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "name", "bar"),
|
||||
"pagerduty_schedule.foo", "name", scheduleUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "description", "Managed by Terraform"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -52,17 +58,22 @@ func TestAccPagerDutySchedule_Basic(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutySchedule_BasicWeek(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
schedule := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
scheduleUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyScheduleDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfigWeek,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfigWeek(username, email, schedule),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyScheduleExists("pagerduty_schedule.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "name", "foo"),
|
||||
"pagerduty_schedule.foo", "name", schedule),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -75,12 +86,12 @@ func TestAccPagerDutySchedule_BasicWeek(t *testing.T) {
|
|||
"pagerduty_schedule.foo", "layer.0.restriction.0.start_day_of_week", "1"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfigWeekUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfigWeekUpdated(username, email, scheduleUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyScheduleExists("pagerduty_schedule.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "name", "bar"),
|
||||
"pagerduty_schedule.foo", "name", scheduleUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "description", "Managed by Terraform"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -98,17 +109,21 @@ func TestAccPagerDutySchedule_BasicWeek(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutySchedule_Multi(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
schedule := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyScheduleDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyScheduleConfigMulti,
|
||||
{
|
||||
Config: testAccCheckPagerDutyScheduleConfigMulti(username, email, schedule),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyScheduleExists("pagerduty_schedule.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "name", "foo"),
|
||||
"pagerduty_schedule.foo", "name", schedule),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_schedule.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -215,14 +230,15 @@ func testAccCheckPagerDutyScheduleExists(n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyScheduleConfig = `
|
||||
func testAccCheckPagerDutyScheduleConfig(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "Europe/Berlin"
|
||||
description = "foo"
|
||||
|
@ -241,16 +257,18 @@ resource "pagerduty_schedule" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyScheduleConfigUpdated = `
|
||||
func testAccCheckPagerDutyScheduleConfigUpdated(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "America/New_York"
|
||||
|
||||
|
@ -268,16 +286,18 @@ resource "pagerduty_schedule" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyScheduleConfigWeek = `
|
||||
func testAccCheckPagerDutyScheduleConfigWeek(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "Europe/Berlin"
|
||||
description = "foo"
|
||||
|
@ -297,16 +317,18 @@ resource "pagerduty_schedule" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyScheduleConfigWeekUpdated = `
|
||||
func testAccCheckPagerDutyScheduleConfigWeekUpdated(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "America/New_York"
|
||||
|
||||
|
@ -325,16 +347,18 @@ resource "pagerduty_schedule" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyScheduleConfigMulti = `
|
||||
func testAccCheckPagerDutyScheduleConfigMulti(username, email, schedule string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_schedule" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
|
||||
time_zone = "America/New_York"
|
||||
description = "foo"
|
||||
|
@ -383,4 +407,5 @@ resource "pagerduty_schedule" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, schedule)
|
||||
}
|
||||
|
|
|
@ -5,34 +5,42 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyServiceIntegration_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceIntegration := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceIntegrationUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceIntegrationDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfig(username, email, escalationPolicy, service, serviceIntegration),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceIntegrationExists("pagerduty_service_integration.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "name", "foo"),
|
||||
"pagerduty_service_integration.foo", "name", serviceIntegration),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "type", "generic_events_api_inbound_integration"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "vendor", "PAM4FGS"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationConfigUpdated(username, email, escalationPolicy, service, serviceIntegrationUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceIntegrationExists("pagerduty_service_integration.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "name", "bar"),
|
||||
"pagerduty_service_integration.foo", "name", serviceIntegrationUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "type", "generic_events_api_inbound_integration"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -44,27 +52,34 @@ func TestAccPagerDutyServiceIntegration_Basic(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyServiceIntegrationGeneric_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceIntegration := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceIntegrationUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceIntegrationDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationGenericConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationGenericConfig(username, email, escalationPolicy, service, serviceIntegration),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceIntegrationExists("pagerduty_service_integration.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "name", "foo"),
|
||||
"pagerduty_service_integration.foo", "name", serviceIntegration),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "type", "generic_events_api_inbound_integration"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationGenericConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceIntegrationGenericConfigUpdated(username, email, escalationPolicy, service, serviceIntegrationUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceIntegrationExists("pagerduty_service_integration.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "name", "bar"),
|
||||
"pagerduty_service_integration.foo", "name", serviceIntegrationUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service_integration.foo", "type", "generic_events_api_inbound_integration"),
|
||||
),
|
||||
|
@ -120,14 +135,15 @@ func testAccCheckPagerDutyServiceIntegrationExists(n string) resource.TestCheckF
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceIntegrationConfig = `
|
||||
func testAccCheckPagerDutyServiceIntegrationConfig(username, email, escalationPolicy, service, serviceIntegration string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
num_loops = 1
|
||||
|
||||
|
@ -142,7 +158,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
auto_resolve_timeout = 1800
|
||||
acknowledgement_timeout = 1800
|
||||
|
@ -159,16 +175,18 @@ data "pagerduty_vendor" "datadog" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service_integration" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
service = "${pagerduty_service.foo.id}"
|
||||
vendor = "${data.pagerduty_vendor.datadog.id}"
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service, serviceIntegration)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceIntegrationConfigUpdated = `
|
||||
func testAccCheckPagerDutyServiceIntegrationConfigUpdated(username, email, escalationPolicy, service, serviceIntegration string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -176,7 +194,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -191,7 +209,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
auto_resolve_timeout = 3600
|
||||
acknowledgement_timeout = 3600
|
||||
|
@ -208,20 +226,22 @@ data "pagerduty_vendor" "datadog" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service_integration" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
service = "${pagerduty_service.foo.id}"
|
||||
vendor = "${data.pagerduty_vendor.datadog.id}"
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service, serviceIntegration)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceIntegrationGenericConfig = `
|
||||
func testAccCheckPagerDutyServiceIntegrationGenericConfig(username, email, escalationPolicy, service, serviceIntegration string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
num_loops = 1
|
||||
|
||||
|
@ -236,7 +256,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
auto_resolve_timeout = 1800
|
||||
acknowledgement_timeout = 1800
|
||||
|
@ -249,16 +269,18 @@ resource "pagerduty_service" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service_integration" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
service = "${pagerduty_service.foo.id}"
|
||||
type = "generic_events_api_inbound_integration"
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service, serviceIntegration)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceIntegrationGenericConfigUpdated = `
|
||||
func testAccCheckPagerDutyServiceIntegrationGenericConfigUpdated(username, email, escalationPolicy, service, serviceIntegration string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -266,7 +288,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -281,7 +303,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
auto_resolve_timeout = 3600
|
||||
acknowledgement_timeout = 3600
|
||||
|
@ -294,8 +316,9 @@ resource "pagerduty_service" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service_integration" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
service = "${pagerduty_service.foo.id}"
|
||||
type = "generic_events_api_inbound_integration"
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service, serviceIntegration)
|
||||
}
|
||||
|
|
|
@ -5,22 +5,29 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyService_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceConfig(username, email, escalationPolicy, service),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "foo"),
|
||||
"pagerduty_service.foo", "name", service),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -35,12 +42,12 @@ func TestAccPagerDutyService_Basic(t *testing.T) {
|
|||
"pagerduty_service.foo", "incident_urgency_rule.0.type", "constant"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceConfigUpdated(username, email, escalationPolicy, serviceUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "bar"),
|
||||
"pagerduty_service.foo", "name", serviceUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "bar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -60,17 +67,23 @@ func TestAccPagerDutyService_Basic(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyService_BasicWithIncidentUrgencyRules(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig(username, email, escalationPolicy, service),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "foo"),
|
||||
"pagerduty_service.foo", "name", service),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -127,12 +140,12 @@ func TestAccPagerDutyService_BasicWithIncidentUrgencyRules(t *testing.T) {
|
|||
"pagerduty_service.foo", "support_hours.0.type", "fixed_time_per_day"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated(username, email, escalationPolicy, serviceUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "bar"),
|
||||
"pagerduty_service.foo", "name", serviceUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "bar bar bar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -194,17 +207,23 @@ func TestAccPagerDutyService_BasicWithIncidentUrgencyRules(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyService_FromBasicToCustomIncidentUrgencyRules(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
escalationPolicy := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
service := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
serviceUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyServiceDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceConfig(username, email, escalationPolicy, service),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "foo"),
|
||||
"pagerduty_service.foo", "name", service),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -219,12 +238,12 @@ func TestAccPagerDutyService_FromBasicToCustomIncidentUrgencyRules(t *testing.T)
|
|||
"pagerduty_service.foo", "incident_urgency_rule.0.type", "constant"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated(username, email, escalationPolicy, serviceUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyServiceExists("pagerduty_service.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "name", "bar"),
|
||||
"pagerduty_service.foo", "name", serviceUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_service.foo", "description", "bar bar bar"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -328,10 +347,11 @@ func testAccCheckPagerDutyServiceExists(n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceConfig = `
|
||||
func testAccCheckPagerDutyServiceConfig(username, email, escalationPolicy, service string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -339,7 +359,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
rule {
|
||||
|
@ -352,7 +372,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
auto_resolve_timeout = 1800
|
||||
acknowledgement_timeout = 1800
|
||||
|
@ -362,12 +382,14 @@ resource "pagerduty_service" "foo" {
|
|||
urgency = "high"
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceConfigUpdated = `
|
||||
func testAccCheckPagerDutyServiceConfigUpdated(username, email, escalationPolicy, service string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -375,7 +397,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -389,7 +411,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
auto_resolve_timeout = 3600
|
||||
acknowledgement_timeout = 3600
|
||||
|
@ -400,12 +422,14 @@ resource "pagerduty_service" "foo" {
|
|||
urgency = "high"
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig = `
|
||||
func testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfig(username, email, escalationPolicy, service string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -413,7 +437,7 @@ resource "pagerduty_user" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -427,7 +451,7 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
auto_resolve_timeout = 1800
|
||||
acknowledgement_timeout = 1800
|
||||
|
@ -463,12 +487,14 @@ resource "pagerduty_service" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated = `
|
||||
func testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated(username, email, escalationPolicy, service string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@example.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
|
@ -476,7 +502,7 @@ const testAccCheckPagerDutyServiceWithIncidentUrgencyRulesConfigUpdated = `
|
|||
}
|
||||
|
||||
resource "pagerduty_escalation_policy" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
num_loops = 2
|
||||
|
||||
|
@ -490,12 +516,12 @@ resource "pagerduty_escalation_policy" "foo" {
|
|||
}
|
||||
|
||||
resource "pagerduty_service" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar bar bar"
|
||||
auto_resolve_timeout = 3600
|
||||
acknowledgement_timeout = 3600
|
||||
escalation_policy = "${pagerduty_escalation_policy.foo.id}"
|
||||
|
||||
|
||||
incident_urgency_rule {
|
||||
type = "use_support_hours"
|
||||
during_support_hours {
|
||||
|
@ -525,4 +551,5 @@ resource "pagerduty_service" "foo" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
`, username, email, escalationPolicy, service)
|
||||
}
|
||||
|
|
|
@ -5,32 +5,36 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
func TestAccPagerDutyTeam_Basic(t *testing.T) {
|
||||
team := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
teamUpdated := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyTeamDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyTeamConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyTeamConfig(team),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyTeamExists("pagerduty_team.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_team.foo", "name", "foo"),
|
||||
"pagerduty_team.foo", "name", team),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_team.foo", "description", "foo"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyTeamConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyTeamConfigUpdated(teamUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyTeamExists("pagerduty_team.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_team.foo", "name", "bar"),
|
||||
"pagerduty_team.foo", "name", teamUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_team.foo", "description", "bar"),
|
||||
),
|
||||
|
@ -68,16 +72,18 @@ func testAccCheckPagerDutyTeamExists(n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyTeamConfig = `
|
||||
func testAccCheckPagerDutyTeamConfig(team string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "foo"
|
||||
name = "%s"
|
||||
description = "foo"
|
||||
}`, team)
|
||||
}
|
||||
`
|
||||
|
||||
const testAccCheckPagerDutyTeamConfigUpdated = `
|
||||
func testAccCheckPagerDutyTeamConfigUpdated(team string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "bar"
|
||||
name = "%s"
|
||||
description = "bar"
|
||||
}`, team)
|
||||
}
|
||||
`
|
||||
|
|
|
@ -5,24 +5,30 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/PagerDuty/go-pagerduty"
|
||||
"github.com/hashicorp/terraform/helper/acctest"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"github.com/hashicorp/terraform/terraform"
|
||||
)
|
||||
|
||||
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)
|
||||
emailUpdated := fmt.Sprintf("%s@foo.com", usernameUpdated)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyUserDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserConfig(username, email),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyUserExists("pagerduty_user.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "name", "foo"),
|
||||
"pagerduty_user.foo", "name", username),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "email", "foo@bar.com"),
|
||||
"pagerduty_user.foo", "email", email),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "color", "green"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -33,14 +39,14 @@ func TestAccPagerDutyUser_Basic(t *testing.T) {
|
|||
"pagerduty_user.foo", "description", "foo"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserConfigUpdated(usernameUpdated, emailUpdated),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyUserExists("pagerduty_user.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "name", "bar"),
|
||||
"pagerduty_user.foo", "name", usernameUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "email", "bar@foo.com"),
|
||||
"pagerduty_user.foo", "email", emailUpdated),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "color", "red"),
|
||||
resource.TestCheckResourceAttr(
|
||||
|
@ -56,43 +62,48 @@ func TestAccPagerDutyUser_Basic(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAccPagerDutyUserWithTeams_Basic(t *testing.T) {
|
||||
username := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
email := fmt.Sprintf("%s@foo.com", username)
|
||||
team1 := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
team2 := fmt.Sprintf("tf-%s", acctest.RandString(5))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckPagerDutyUserDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserWithTeamsConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserWithTeamsConfig(team1, username, email),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyUserExists("pagerduty_user.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "name", "foo"),
|
||||
"pagerduty_user.foo", "name", username),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "email", "foo@bar.com"),
|
||||
"pagerduty_user.foo", "email", email),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "teams.#", "1"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserWithTeamsConfigUpdated,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserWithTeamsConfigUpdated(team1, team2, username, email),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyUserExists("pagerduty_user.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "name", "foo"),
|
||||
"pagerduty_user.foo", "name", username),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "email", "foo@bar.com"),
|
||||
"pagerduty_user.foo", "email", email),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "teams.#", "2"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccCheckPagerDutyUserWithNoTeamsConfig,
|
||||
{
|
||||
Config: testAccCheckPagerDutyUserWithNoTeamsConfig(team1, team2, username, email),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckPagerDutyUserExists("pagerduty_user.foo"),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "name", "foo"),
|
||||
"pagerduty_user.foo", "name", username),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "email", "foo@bar.com"),
|
||||
"pagerduty_user.foo", "email", email),
|
||||
resource.TestCheckResourceAttr(
|
||||
"pagerduty_user.foo", "teams.#", "0"),
|
||||
),
|
||||
|
@ -145,66 +156,75 @@ func testAccCheckPagerDutyUserExists(n string) resource.TestCheckFunc {
|
|||
}
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyUserConfig = `
|
||||
func testAccCheckPagerDutyUserConfig(username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "green"
|
||||
role = "user"
|
||||
job_title = "foo"
|
||||
description = "foo"
|
||||
}`, username, email)
|
||||
}
|
||||
`
|
||||
|
||||
const testAccCheckPagerDutyUserConfigUpdated = `
|
||||
func testAccCheckPagerDutyUserConfigUpdated(username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "bar"
|
||||
email = "bar@foo.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
color = "red"
|
||||
role = "team_responder"
|
||||
job_title = "bar"
|
||||
description = "bar"
|
||||
}`, username, email)
|
||||
}
|
||||
`
|
||||
|
||||
const testAccCheckPagerDutyUserWithTeamsConfig = `
|
||||
func testAccCheckPagerDutyUserWithTeamsConfig(team, username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "Foo team"
|
||||
name = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
teams = ["${pagerduty_team.foo.id}"]
|
||||
}
|
||||
`
|
||||
const testAccCheckPagerDutyUserWithTeamsConfigUpdated = `
|
||||
`, team, username, email)
|
||||
}
|
||||
|
||||
func testAccCheckPagerDutyUserWithTeamsConfigUpdated(team1, team2, username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "Foo team"
|
||||
name = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_team" "bar" {
|
||||
name = "Bar team"
|
||||
name = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
teams = ["${pagerduty_team.foo.id}", "${pagerduty_team.bar.id}"]
|
||||
}
|
||||
`
|
||||
`, team1, team2, username, email)
|
||||
}
|
||||
|
||||
const testAccCheckPagerDutyUserWithNoTeamsConfig = `
|
||||
func testAccCheckPagerDutyUserWithNoTeamsConfig(team1, team2, username, email string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "pagerduty_team" "foo" {
|
||||
name = "Foo team"
|
||||
name = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_team" "bar" {
|
||||
name = "Bar team"
|
||||
name = "%s"
|
||||
}
|
||||
|
||||
resource "pagerduty_user" "foo" {
|
||||
name = "foo"
|
||||
email = "foo@bar.com"
|
||||
name = "%s"
|
||||
email = "%s"
|
||||
}
|
||||
`, team1, team2, username, email)
|
||||
}
|
||||
`
|
||||
|
|
Loading…
Reference in New Issue