Skip to content

Commit fc0c203

Browse files
authored
Fix team resource description resync (#84)
1 parent 89a3259 commit fc0c203

File tree

5 files changed

+48
-6
lines changed

5 files changed

+48
-6
lines changed

internal/cli/models.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ type (
266266
CreatedAt *time.Time `json:"createdAt,omitempty"`
267267
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
268268
Name string `json:"name,omitempty"`
269-
Description string `json:"description,omitempty"`
269+
Description *string `json:"description,omitempty"`
270270
Users []string `json:"users,omitempty"`
271271
Provider string `json:"provider,omitempty"`
272272
}
@@ -290,7 +290,7 @@ type TeamPortBody struct {
290290
CreatedAt *time.Time `json:"createdAt,omitempty"`
291291
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
292292
Name string `json:"name,omitempty"`
293-
Description string `json:"description,omitempty"`
293+
Description *string `json:"description,omitempty"`
294294
Users []TeamUserBody `json:"users,omitempty"`
295295
Provider string `json:"provider,omitempty"`
296296
}

internal/cli/team.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (c *PortClient) UpdateTeam(ctx context.Context, teamName string, team *Team
7070
SetBody(team).
7171
SetContext(ctx).
7272
SetPathParam("name", teamName).
73-
Patch(url)
73+
Put(url)
7474

7575
if err != nil {
7676
return nil, err

port/team/refreshTeamState.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func refreshTeamState(ctx context.Context, state *TeamModel, t *cli.Team) error
1313
state.UpdatedAt = types.StringValue(t.UpdatedAt.String())
1414
state.ID = types.StringValue(t.Name)
1515
state.Name = types.StringValue(t.Name)
16-
state.Description = flex.GoStringToFramework(&t.Description)
16+
state.Description = flex.GoStringToFramework(t.Description)
1717
state.ProviderName = flex.GoStringToFramework(&t.Provider)
1818

1919
if len(t.Users) != 0 {

port/team/resource_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,40 @@ func TestAccPortTeamImport(t *testing.T) {
102102
},
103103
})
104104
}
105+
106+
func TestAccPortTeamEmptyDescription(t *testing.T) {
107+
var testAccTeamConfigCreate = `
108+
resource "port_team" "team" {
109+
name = "Tf-Test"
110+
description = "abc"
111+
users = []
112+
}`
113+
114+
var testAccTeamConfigUpdate = `
115+
resource "port_team" "team" {
116+
name = "Tf-Test"
117+
users = []
118+
}`
119+
resource.Test(t, resource.TestCase{
120+
PreCheck: func() { acctest.TestAccPreCheck(t) },
121+
ProtoV6ProviderFactories: acctest.TestAccProtoV6ProviderFactories,
122+
Steps: []resource.TestStep{
123+
{
124+
Config: acctest.ProviderConfig + testAccTeamConfigCreate,
125+
Check: resource.ComposeTestCheckFunc(
126+
resource.TestCheckResourceAttr("port_team.team", "name", "Tf-Test"),
127+
resource.TestCheckResourceAttr("port_team.team", "description", "abc"),
128+
resource.TestCheckResourceAttr("port_team.team", "users.#", "0"),
129+
),
130+
},
131+
{
132+
Config: acctest.ProviderConfig + testAccTeamConfigUpdate,
133+
Check: resource.ComposeTestCheckFunc(
134+
resource.TestCheckResourceAttr("port_team.team", "name", "Tf-Test"),
135+
resource.TestCheckNoResourceAttr("port_team.team", "description"),
136+
resource.TestCheckResourceAttr("port_team.team", "users.#", "0"),
137+
),
138+
},
139+
},
140+
})
141+
}

port/team/teamResourceToPortBody.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,14 @@ import (
88

99
func TeamResourceToPortBody(ctx context.Context, state *TeamModel) (*cli.Team, error) {
1010
tp := &cli.Team{
11-
Name: state.Name.ValueString(),
12-
Description: state.Description.ValueString(),
11+
Name: state.Name.ValueString(),
1312
}
13+
14+
if !state.Description.IsNull() {
15+
description := state.Description.ValueString()
16+
tp.Description = &description
17+
}
18+
1419
if state.Users != nil {
1520
tp.Users = make([]string, len(state.Users))
1621
for i, t := range state.Users {

0 commit comments

Comments
 (0)