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