Skip to content

Commit 0983a5f

Browse files
committed
adjust acceptance tests
1 parent 3530530 commit 0983a5f

File tree

3 files changed

+11
-41
lines changed

3 files changed

+11
-41
lines changed

docs/data-sources/resourcemanager_project.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,4 @@ data "stackit_resourcemanager_project" "example" {
3232
- `id` (String) Terraform's internal data source. ID. It is structured as "`container_id`".
3333
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}
3434
- `name` (String) Project name.
35-
- `owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
3635
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported

stackit/internal/services/resourcemanager/project/datasource.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ func (d *projectDataSource) Schema(_ context.Context, _ datasource.SchemaRequest
8484
"parent_container_id": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported",
8585
"name": "Project name.",
8686
"labels": `Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}`,
87-
"owner_email": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.",
8887
}
8988

9089
resp.Schema = schema.Schema{
@@ -140,10 +139,6 @@ func (d *projectDataSource) Schema(_ context.Context, _ datasource.SchemaRequest
140139
),
141140
},
142141
},
143-
"owner_email": schema.StringAttribute{
144-
Description: descriptions["owner_email"],
145-
Computed: true,
146-
},
147142
},
148143
}
149144
}

stackit/internal/services/resourcemanager/resourcemanager_acc_test.go

Lines changed: 11 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ package resourcemanager_test
33
import (
44
"context"
55
"fmt"
6-
"strings"
76
"testing"
87

98
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
109
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1110
"github.com/hashicorp/terraform-plugin-testing/terraform"
1211
"github.com/stackitcloud/stackit-sdk-go/core/config"
1312
"github.com/stackitcloud/stackit-sdk-go/core/utils"
14-
"github.com/stackitcloud/stackit-sdk-go/services/authorization"
1513
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager"
1614
"github.com/stackitcloud/stackit-sdk-go/services/resourcemanager/wait"
1715
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/testutil"
@@ -26,19 +24,7 @@ var projectResource = map[string]string{
2624
"new_label": "a-label",
2725
}
2826

29-
func membersConfig(members []authorization.Member) string {
30-
membersConfig := make([]string, 0, len(members))
31-
for _, m := range members {
32-
memberConfig := fmt.Sprintf(`{
33-
subject = "%s"
34-
role = "%s"
35-
}`, *m.Subject, *m.Role)
36-
membersConfig = append(membersConfig, memberConfig)
37-
}
38-
return strings.Join(membersConfig, ",\n")
39-
}
40-
41-
func resourceConfig(name string, label *string, members string) string {
27+
func resourceConfig(name string, label *string) string {
4228
labelConfig := ""
4329
if label != nil {
4430
labelConfig = fmt.Sprintf("new_label = %q", *label)
@@ -53,19 +39,13 @@ func resourceConfig(name string, label *string, members string) string {
5339
"billing_reference" = "%[4]s"
5440
%[5]s
5541
}
56-
members = [
57-
%[7]s
58-
]
59-
owner_email = "%[8]s"
42+
owner_email = "%[7]s"
6043
}
6144
6245
resource "stackit_resourcemanager_project" "parent_by_uuid" {
6346
parent_container_id = "%[6]s"
6447
name = "%[3]s-uuid"
65-
members = [
66-
%[7]s
67-
]
68-
owner_email = "%[8]s"
48+
owner_email = "%[7]s"
6949
}
7050
`,
7151
testutil.ResourceManagerProviderConfig(),
@@ -74,26 +54,18 @@ func resourceConfig(name string, label *string, members string) string {
7454
projectResource["billing_reference"],
7555
labelConfig,
7656
projectResource["parent_uuid"],
77-
members,
7857
testutil.TestProjectServiceAccountEmail,
7958
)
8059
}
8160

8261
func TestAccResourceManagerResource(t *testing.T) {
83-
initialMembersConfig := membersConfig([]authorization.Member{
84-
{
85-
Subject: &testutil.TestProjectUserEmail,
86-
Role: utils.Ptr("owner"),
87-
},
88-
})
89-
9062
resource.Test(t, resource.TestCase{
9163
ProtoV6ProviderFactories: testutil.TestAccProtoV6ProviderFactories,
9264
CheckDestroy: testAccCheckResourceManagerDestroy,
9365
Steps: []resource.TestStep{
9466
// Creation
9567
{
96-
Config: resourceConfig(projectResource["name"], nil, initialMembersConfig),
68+
Config: resourceConfig(projectResource["name"], nil),
9769
Check: resource.ComposeAggregateTestCheckFunc(
9870
// Parent container id project data
9971
resource.TestCheckResourceAttrSet("stackit_resourcemanager_project.parent_by_container", "container_id"),
@@ -128,7 +100,7 @@ func TestAccResourceManagerResource(t *testing.T) {
128100
project_id = stackit_resourcemanager_project.parent_by_container.project_id
129101
}
130102
`,
131-
resourceConfig(projectResource["name"], nil, initialMembersConfig),
103+
resourceConfig(projectResource["name"], nil),
132104
),
133105
Check: resource.ComposeAggregateTestCheckFunc(
134106
// Container project data
@@ -139,6 +111,7 @@ func TestAccResourceManagerResource(t *testing.T) {
139111
resource.TestCheckResourceAttrSet("data.stackit_resourcemanager_project.project_by_container", "parent_container_id"),
140112
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_container", "labels.%", "1"),
141113
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_container", "labels.billing_reference", projectResource["billing_reference"]),
114+
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_container", "owner_email", testutil.TestProjectServiceAccountEmail),
142115

143116
// UUID project data
144117
resource.TestCheckResourceAttrSet("data.stackit_resourcemanager_project.project_by_uuid", "id"),
@@ -148,6 +121,7 @@ func TestAccResourceManagerResource(t *testing.T) {
148121
resource.TestCheckResourceAttrSet("data.stackit_resourcemanager_project.project_by_uuid", "parent_container_id"),
149122
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_uuid", "labels.%", "1"),
150123
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_uuid", "labels.billing_reference", projectResource["billing_reference"]),
124+
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_uuid", "owner_email", testutil.TestProjectServiceAccountEmail),
151125

152126
// Both project data
153127
resource.TestCheckResourceAttrSet("data.stackit_resourcemanager_project.project_by_both", "id"),
@@ -157,6 +131,7 @@ func TestAccResourceManagerResource(t *testing.T) {
157131
resource.TestCheckResourceAttrSet("data.stackit_resourcemanager_project.project_by_both", "parent_container_id"),
158132
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_both", "labels.%", "1"),
159133
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_both", "labels.billing_reference", projectResource["billing_reference"]),
134+
resource.TestCheckResourceAttr("data.stackit_resourcemanager_project.project_by_both", "owner_email", testutil.TestProjectServiceAccountEmail),
160135
),
161136
},
162137
// Import
@@ -178,11 +153,11 @@ func TestAccResourceManagerResource(t *testing.T) {
178153
ImportStateVerify: true,
179154
// The owner_email attributes don't exist in the
180155
// API, therefore there is no value for it during import.
181-
ImportStateVerifyIgnore: []string{"owner_email", "members"},
156+
ImportStateVerifyIgnore: []string{"owner_email"},
182157
},
183158
// Update
184159
{
185-
Config: resourceConfig(fmt.Sprintf("%s-new", projectResource["name"]), utils.Ptr("a-label"), initialMembersConfig),
160+
Config: resourceConfig(fmt.Sprintf("%s-new", projectResource["name"]), utils.Ptr("a-label")),
186161
Check: resource.ComposeAggregateTestCheckFunc(
187162
// Project data
188163
resource.TestCheckResourceAttrSet("stackit_resourcemanager_project.parent_by_container", "container_id"),
@@ -191,6 +166,7 @@ func TestAccResourceManagerResource(t *testing.T) {
191166
resource.TestCheckResourceAttr("stackit_resourcemanager_project.parent_by_container", "labels.%", "2"),
192167
resource.TestCheckResourceAttr("stackit_resourcemanager_project.parent_by_container", "labels.billing_reference", projectResource["billing_reference"]),
193168
resource.TestCheckResourceAttr("stackit_resourcemanager_project.parent_by_container", "labels.new_label", projectResource["new_label"]),
169+
resource.TestCheckResourceAttr("stackit_resourcemanager_project.parent_by_container", "owner_email", testutil.TestProjectServiceAccountEmail),
194170
),
195171
},
196172
// Deletion is done by the framework implicitly

0 commit comments

Comments
 (0)