@@ -122,6 +122,57 @@ func TestAccTeam_Members(t *testing.T) {
122122 })
123123}
124124
125+ // Test that deleted users can still be removed as members of a team
126+ func TestAccTeam_RemoveUnexistingMember (t * testing.T ) {
127+ CheckOSSTestsEnabled (t )
128+ client := testAccProvider .Meta ().(* client ).gapi
129+
130+ var team gapi.Team
131+ var userID int64 = - 1
132+
133+ resource .Test (t , resource.TestCase {
134+ ProviderFactories : testAccProviderFactories ,
135+ CheckDestroy : testAccTeamCheckDestroy (& team ),
136+ Steps : []resource.TestStep {
137+ {
138+ PreConfig : func () {
139+ // Create user
140+ user := gapi.User {
141+ 142+ 143+ Name : "user1" ,
144+ Password : "123456" ,
145+ }
146+ var err error
147+ userID , err = client .CreateUser (user )
148+ if err != nil {
149+ t .Fatal (err )
150+ }
151+ },
152+ Config :
testAccTeam_withMember (
"[email protected] " ),
153+ Check : resource .ComposeTestCheckFunc (
154+ testAccTeamCheckExists ("grafana_team.test" , & team ),
155+ resource .TestCheckResourceAttr ("grafana_team.test" , "members.#" , "1" ),
156+ resource .
TestCheckResourceAttr (
"grafana_team.test" ,
"members.0" ,
"[email protected] " ),
157+ ),
158+ },
159+ {
160+ PreConfig : func () {
161+ // Delete the user
162+ if err := client .DeleteUser (userID ); err != nil {
163+ t .Fatal (err )
164+ }
165+ },
166+ Config : testAccTeamConfig_basic ,
167+ Check : resource .ComposeTestCheckFunc (
168+ testAccTeamCheckExists ("grafana_team.test" , & team ),
169+ resource .TestCheckResourceAttr ("grafana_team.test" , "members.#" , "0" ),
170+ ),
171+ },
172+ },
173+ })
174+ }
175+
125176//nolint:unparam // `rn` always receives `"grafana_team.test"`
126177func testAccTeamCheckExists (rn string , a * gapi.Team ) resource.TestCheckFunc {
127178 return func (s * terraform.State ) error {
@@ -220,3 +271,12 @@ resource "grafana_team" "test" {
220271 members = [ ]
221272}
222273`
274+
275+ func testAccTeam_withMember (user string ) string {
276+ return fmt .Sprintf (`
277+ resource "grafana_team" "test" {
278+ name = "terraform-acc-test"
279+ 280+ members = ["%s"]
281+ }` , user )
282+ }
0 commit comments