@@ -205,6 +205,108 @@ func TestAccGitlabUser_basic(t *testing.T) {
205
205
"skip_confirmation" ,
206
206
},
207
207
},
208
+ // Deactivate the user
209
+ {
210
+ Config : testAccGitlabUserConfigDeactivated (rInt ),
211
+ Check : resource .ComposeTestCheckFunc (
212
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
213
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
214
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
215
+ Username : fmt .Sprintf ("listest%d" , rInt ),
216
+ Name : fmt .Sprintf ("foo %d" , rInt ),
217
+ ProjectsLimit : 0 ,
218
+ Admin : false ,
219
+ CanCreateGroup : false ,
220
+ External : false ,
221
+ State : "deactivated" ,
222
+ }),
223
+ ),
224
+ },
225
+ // Re-activate the user
226
+ {
227
+ Config : testAccGitlabUserConfig (rInt ),
228
+ Check : resource .ComposeTestCheckFunc (
229
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
230
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
231
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
232
+ Username : fmt .Sprintf ("listest%d" , rInt ),
233
+ Name : fmt .Sprintf ("foo %d" , rInt ),
234
+ ProjectsLimit : 0 ,
235
+ Admin : false ,
236
+ CanCreateGroup : false ,
237
+ External : false ,
238
+ State : "active" ,
239
+ }),
240
+ ),
241
+ },
242
+ // Block the user
243
+ {
244
+ Config : testAccGitlabUserConfigBlocked (rInt ),
245
+ Check : resource .ComposeTestCheckFunc (
246
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
247
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
248
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
249
+ Username : fmt .Sprintf ("listest%d" , rInt ),
250
+ Name : fmt .Sprintf ("foo %d" , rInt ),
251
+ ProjectsLimit : 0 ,
252
+ Admin : false ,
253
+ CanCreateGroup : false ,
254
+ External : false ,
255
+ State : "blocked" ,
256
+ }),
257
+ ),
258
+ },
259
+ // Deactivate the user from blocked state
260
+ {
261
+ Config : testAccGitlabUserConfigDeactivated (rInt ),
262
+ Check : resource .ComposeTestCheckFunc (
263
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
264
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
265
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
266
+ Username : fmt .Sprintf ("listest%d" , rInt ),
267
+ Name : fmt .Sprintf ("foo %d" , rInt ),
268
+ ProjectsLimit : 0 ,
269
+ Admin : false ,
270
+ CanCreateGroup : false ,
271
+ External : false ,
272
+ State : "deactivated" ,
273
+ }),
274
+ ),
275
+ },
276
+ // Block the user from deactivate state
277
+ {
278
+ Config : testAccGitlabUserConfigBlocked (rInt ),
279
+ Check : resource .ComposeTestCheckFunc (
280
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
281
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
282
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
283
+ Username : fmt .Sprintf ("listest%d" , rInt ),
284
+ Name : fmt .Sprintf ("foo %d" , rInt ),
285
+ ProjectsLimit : 0 ,
286
+ Admin : false ,
287
+ CanCreateGroup : false ,
288
+ External : false ,
289
+ State : "blocked" ,
290
+ }),
291
+ ),
292
+ },
293
+ // Unblock the user
294
+ {
295
+ Config : testAccGitlabUserConfig (rInt ),
296
+ Check : resource .ComposeTestCheckFunc (
297
+ testAccCheckGitlabUserExists ("gitlab_user.foo" , & user ),
298
+ testAccCheckGitlabUserAttributes (& user , & testAccGitlabUserExpectedAttributes {
299
+ Email :
fmt .
Sprintf (
"listest%[email protected] " ,
rInt ),
300
+ Username : fmt .Sprintf ("listest%d" , rInt ),
301
+ Name : fmt .Sprintf ("foo %d" , rInt ),
302
+ ProjectsLimit : 0 ,
303
+ Admin : false ,
304
+ CanCreateGroup : false ,
305
+ External : false ,
306
+ State : "active" ,
307
+ }),
308
+ ),
309
+ },
208
310
},
209
311
})
210
312
}
@@ -440,3 +542,19 @@ resource "gitlab_user" "foo" {
440
542
}
441
543
` , rInt , rInt , rInt )
442
544
}
545
+
546
+ func testAccGitlabUserConfigDeactivated (rInt int ) string {
547
+ return fmt .Sprintf (`
548
+ resource "gitlab_user" "foo" {
549
+ name = "foo %d"
550
+ username = "listest%d"
551
+ password = "test%dtt"
552
+ email = "listest%[email protected] "
553
+ is_admin = false
554
+ projects_limit = 0
555
+ can_create_group = false
556
+ is_external = false
557
+ state = "deactivated"
558
+ }
559
+ ` , rInt , rInt , rInt , rInt )
560
+ }
0 commit comments