Class TrueFoundryMockServiceHandler
java.lang.Object
edu.internet2.middleware.grouper.j2ee.MockServiceHandler
edu.internet2.middleware.grouper.app.truefoundry.TrueFoundryMockServiceHandler
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckAuthorization(MockServiceRequest mockServiceRequest) Check authorization by validating the Bearer token in the Authorization header.voiddeleteRole(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String roleId) DELETE /role/{id} - delete a role by ID.voiddeleteTeam(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String teamId) DELETE /teams/{id} - delete a team by ID.voiddeleteUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String userId) DELETE /users/{userId} - hard-delete a user by their internal ID.static voidvoidgetRoleList(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /role/list - retrieve all roles.voidgetSubjects(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /subjects - retrieve users, optionally filtered by query parameter (email search).voidgetTeamById(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String teamId) GET /teams/{id} - get a team by its ID.voidgetTeams(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /teams/user - retrieve all teams with paging.voidhandleRequest(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) voidpatchActivateUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/activate - set user active=true.voidpatchAssignUserRole(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/roles - assign a role to a user by email.voidpatchDeactivateUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/deactivate - set user active=false.voidpatchScimUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String userId) PATCH /scim/v2/{tenantName}/{ssoId}/Users/{userId} - update display name via SCIM PatchOp.voidpostRegisterUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) POST /users/register - register a new user.voidputRole(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PUT /role - create or update a role (upsert by name).voidputTeam(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PUT /teams - create or update a team (upsert by name), replacing the managers list.
-
Field Details
-
doNotLogHeaders
-
-
Constructor Details
-
TrueFoundryMockServiceHandler
public TrueFoundryMockServiceHandler()
-
-
Method Details
-
doNotLogHeaders
- Overrides:
doNotLogHeadersin classMockServiceHandler
-
doNotLogParameters
- Overrides:
doNotLogParametersin classMockServiceHandler
-
ensureTrueFoundryMockTables
public static void ensureTrueFoundryMockTables() -
checkAuthorization
Check authorization by validating the Bearer token in the Authorization header. The accessTokenPassword is a JSON string with "apiToken" and "scimToken" fields. Accepts either token. -
getSubjects
public void getSubjects(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /subjects - retrieve users, optionally filtered by query parameter (email search). Supports limit and offset for paging. showInvalidUsers includes inactive users. Response: {"users": [...], "totalUsers": N} -
postRegisterUser
public void postRegisterUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) POST /users/register - register a new user. Body: {"email": "...", "sendInviteEmail": false} Returns 200 {} (no user ID in response — caller must use GET /subjects to look up ID). Idempotent: if user already exists, returns 200 without error. -
patchDeactivateUser
public void patchDeactivateUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/deactivate - set user active=false. Body: {"email": "..."} -
patchActivateUser
public void patchActivateUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/activate - set user active=true. Body: {"email": "..."} -
patchAssignUserRole
public void patchAssignUserRole(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) PATCH /users/roles - assign a role to a user by email. Body: {"email": "...", "roles": ["roleName"], "resourceType": "account"} Looks up the role by name and upserts the membership. -
patchScimUser
public void patchScimUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String userId) PATCH /scim/v2/{tenantName}/{ssoId}/Users/{userId} - update display name via SCIM PatchOp. Body: {"schemas": [...], "Operations": [{"op": "replace", "path": "displayName", "value": "..."}]} -
getRoleList
public void getRoleList(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /role/list - retrieve all roles. Response: {"data": [{"id": "...", "name": "...", "resourceType": "account", "isDefault": false, "manifest": {"displayName": "...", "description": "..."}}]} -
putRole
PUT /role - create or update a role (upsert by name). Body: {"manifest": {"type": "role", "name": "...", "displayName": "...", "resourceType": "account", "description": "...", "permissions": [...]}} Response: {"data": {...role...}} -
deleteRole
public void deleteRole(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String roleId) DELETE /role/{id} - delete a role by ID. Returns 200 on success, 404 if not found. Also deletes all memberships associated with the role. -
getTeams
public void getTeams(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) GET /teams/user - retrieve all teams with paging. Response: {"data": [{"id": "...", "teamName": "...", "manifest": {"managers": [...]}}]} -
getTeamById
public void getTeamById(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String teamId) GET /teams/{id} - get a team by its ID. Response: {"data": {"id": "...", "teamName": "...", "manifest": {"managers": [...]}}} Returns 404 if not found. -
putTeam
PUT /teams - create or update a team (upsert by name), replacing the managers list. Body: {"manifest": {"type": "team", "name": "...", "managers": ["email1", "email2"]}} Response: {"data": {...team...}} Returns 201 for new teams, 200 for updates. -
deleteTeam
public void deleteTeam(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String teamId) DELETE /teams/{id} - delete a team by ID. Returns 200 on success, 404 if not found. Also deletes all memberships associated with the team. -
deleteUser
public void deleteUser(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse, String userId) DELETE /users/{userId} - hard-delete a user by their internal ID. Returns 200 on success, 404 if not found. Also deletes all memberships associated with the user. FOR TESTING/CLEANUP USE ONLY — mirrors the real TrueFoundry DELETE /api/svc/v1/users/{userId}. -
handleRequest
public void handleRequest(MockServiceRequest mockServiceRequest, MockServiceResponse mockServiceResponse) - Specified by:
handleRequestin classMockServiceHandler
-