1515 */
1616package com.okta.sdk.tests.it
1717
18- import com.okta.sdk.resource.api.GroupApi
19- import com.okta.sdk.resource.api.UserApi
20- import com.okta.sdk.resource.group.GroupBuilder
2118import com.okta.sdk.resource.model.AddGroupRequest
22- import com.okta.sdk.resource.model.Group
2319import com.okta.sdk.resource.model.OktaUserGroupProfile
24- import com.okta.sdk.resource.user.UserBuilder
2520import com.okta.sdk.tests.Scenario
2621import com.okta.sdk.tests.it.util.ITSupport
22+ import com.okta.sdk.resource.group.GroupBuilder
23+ import com.okta.sdk.resource.user.UserBuilder
24+ import com.okta.sdk.resource.api.GroupApi
25+ import com.okta.sdk.resource.api.UserApi
26+ import com.okta.sdk.resource.model.Group
2727import org.testng.annotations.Test
2828
29- import static com.okta.sdk.tests.it.util.Util.*
30- import static org.awaitility.Awaitility.await
31- import static java.util.concurrent.TimeUnit.SECONDS
29+ import static com.okta.sdk.tests.it.util.Util.assertGroupPresent
30+ import static com.okta.sdk.tests.it.util.Util.assertUserInGroup
31+ import static com.okta.sdk.tests.it.util.Util.assertUserNotInGroup
32+ import static com.okta.sdk.tests.it.util.Util.validateGroup
33+ import static com.okta.sdk.tests.it.util.Util.validateUser
3234
3335/**
3436 * Tests for {@code /api/v1/apps }.
@@ -119,7 +121,7 @@ class GroupsIT extends ITSupport {
119121 validateGroup(group, groupNameUpdated, ' Description updated' )
120122 }
121123
122- @Test (groups = " group1" )
124+ @Test (groups = " group1" )
123125 @Scenario (" group-user-operations" )
124126 void groupUserOperationsTest () {
125127
@@ -128,7 +130,7 @@ class GroupsIT extends ITSupport {
128130 def lastName = ' With-Group'
129131 def email = " john-with-group-${ uniqueTestName} @example.com"
130132
131- // 1. Create a user
133+ // 1. Create a user and a group
132134 def user = UserBuilder . instance()
133135 .setEmail(email)
134136 .setFirstName(firstName)
@@ -139,26 +141,22 @@ class GroupsIT extends ITSupport {
139141 registerForCleanup(user)
140142 validateUser(user, firstName, lastName, email)
141143
142- // 2. Create a group
143- def groupName = " Group-Member API Test Group ${ uniqueTestName } "
144- def group = GroupBuilder . instance()
144+ String groupName = " Group-Member API Test Group ${ uniqueTestName } "
145+
146+ Group group = GroupBuilder . instance()
145147 .setName(groupName)
146148 .buildAndCreate(groupApi)
147149 registerForCleanup(group)
148150 validateGroup(group, groupName)
149151
150- // 3. Add user to the group and wait until user is actually present
151- groupApi. assignUserToGroup(group. id, user. id)
152- await(). atMost(60 , SECONDS ). pollInterval(2 , SECONDS ). untilAsserted {
153- def found = groupApi. listGroupUsers(group. id, null , null ). any { it. id == user. id }
154- assertThat (" User should be present in the group" , found, is(true ))
155- }
156-
157- // 4. Remove user from the group and wait until user is actually absent
158- groupApi. unassignUserFromGroup(group. id, user. id)
159- await(). atMost(60 , SECONDS ). pollInterval(2 , SECONDS ). untilAsserted {
160- def found = groupApi. listGroupUsers(group. id, null , null ). any { it. id == user. id }
161- assertThat (" User should not be present in the group" , found, is(false ))
162- }
152+ // 2. Add user to the group and validate user present in group
153+ groupApi. assignUserToGroup(group. getId(), user. getId())
154+ sleep(3000 )
155+ assertUserInGroup(user, group, groupApi, 10 , getTestOperationDelay())
156+
157+ // 3. Remove user from group and validate user removed
158+ groupApi. unassignUserFromGroup(group. getId(), user. getId())
159+
160+ assertUserNotInGroup(user, group, groupApi,10 , getTestOperationDelay())
163161 }
164162}
0 commit comments