@@ -2,6 +2,7 @@ package github
22
33import (
44 "fmt"
5+ "os"
56 "testing"
67
78 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
@@ -17,6 +18,26 @@ func TestAccGithubEnterpriseCostCenterDataSource(t *testing.T) {
1718 if testEnterprise == "" {
1819 t .Skip ("Skipping because `ENTERPRISE_SLUG` is not set" )
1920 }
21+ testEnterpriseCostCenterOrganization := os .Getenv ("ENTERPRISE_TEST_ORGANIZATION" )
22+ testEnterpriseCostCenterRepository := os .Getenv ("ENTERPRISE_TEST_REPOSITORY" )
23+ testEnterpriseCostCenterUsers := os .Getenv ("ENTERPRISE_TEST_USERS" )
24+
25+ if testEnterpriseCostCenterOrganization == "" {
26+ t .Skip ("Skipping because `ENTERPRISE_TEST_ORGANIZATION` is not set" )
27+ }
28+ if testEnterpriseCostCenterRepository == "" {
29+ t .Skip ("Skipping because `ENTERPRISE_TEST_REPOSITORY` is not set" )
30+ }
31+ if testEnterpriseCostCenterUsers == "" {
32+ t .Skip ("Skipping because `ENTERPRISE_TEST_USERS` is not set" )
33+ }
34+
35+ users := splitCommaSeparated (testEnterpriseCostCenterUsers )
36+ if len (users ) == 0 {
37+ t .Skip ("Skipping because `ENTERPRISE_TEST_USERS` must contain at least one username" )
38+ }
39+
40+ userList := fmt .Sprintf ("%q" , users [0 ])
2041
2142 config := fmt .Sprintf (`
2243 data "github_enterprise" "enterprise" {
@@ -26,18 +47,28 @@ func TestAccGithubEnterpriseCostCenterDataSource(t *testing.T) {
2647 resource "github_enterprise_cost_center" "test" {
2748 enterprise_slug = data.github_enterprise.enterprise.slug
2849 name = "tf-acc-test-%s"
50+
51+ users = [%s]
52+ organizations = [%q]
53+ repositories = [%q]
2954 }
3055
3156 data "github_enterprise_cost_center" "test" {
3257 enterprise_slug = data.github_enterprise.enterprise.slug
3358 cost_center_id = github_enterprise_cost_center.test.id
3459 }
35- ` , testEnterprise , randomID )
60+ ` , testEnterprise , randomID , userList , testEnterpriseCostCenterOrganization , testEnterpriseCostCenterRepository )
3661
3762 check := resource .ComposeTestCheckFunc (
3863 resource .TestCheckResourceAttrPair ("data.github_enterprise_cost_center.test" , "cost_center_id" , "github_enterprise_cost_center.test" , "id" ),
3964 resource .TestCheckResourceAttrPair ("data.github_enterprise_cost_center.test" , "name" , "github_enterprise_cost_center.test" , "name" ),
4065 resource .TestCheckResourceAttr ("data.github_enterprise_cost_center.test" , "state" , "active" ),
66+ resource .TestCheckResourceAttr ("data.github_enterprise_cost_center.test" , "organizations.#" , "1" ),
67+ resource .TestCheckTypeSetElemAttr ("data.github_enterprise_cost_center.test" , "organizations.*" , testEnterpriseCostCenterOrganization ),
68+ resource .TestCheckResourceAttr ("data.github_enterprise_cost_center.test" , "repositories.#" , "1" ),
69+ resource .TestCheckTypeSetElemAttr ("data.github_enterprise_cost_center.test" , "repositories.*" , testEnterpriseCostCenterRepository ),
70+ resource .TestCheckResourceAttr ("data.github_enterprise_cost_center.test" , "users.#" , "1" ),
71+ resource .TestCheckTypeSetElemAttr ("data.github_enterprise_cost_center.test" , "users.*" , users [0 ]),
4172 )
4273
4374 resource .Test (t , resource.TestCase {
0 commit comments