use of org.apache.wink.client.ClientConfig in project product-is by wso2.
the class SCIMUtils method getUserResource.
/**
* Returns the UserResource REST access point of SCIM endpoint for given user Id.
*
* @param scimClient SCIMClient instance
* @param scimUrl SCIM base endpoint URL
* @param scimId SCIM ID of the user resource
* @return UserResource REST access point client instance
*/
public static Resource getUserResource(SCIMClient scimClient, String scimUrl, String scimId) {
SCIMResponseHandler responseHandler = new SCIMResponseHandler();
responseHandler.setSCIMClient(scimClient);
// set the handler in wink client config
ClientConfig clientConfig = new ClientConfig();
clientConfig.handlers(new ClientHandler[] { responseHandler });
// create a wink rest client with the above config
RestClient restClient = new RestClient(clientConfig);
// create resource endpoint to access User resource
return restClient.resource(scimUrl + "Users/" + scimId);
}
use of org.apache.wink.client.ClientConfig in project product-is by wso2.
the class MasterSCIMInitiator method getResource.
protected Resource getResource(SCIMClient scimClient, String skim_url, String skimId) {
SCIMResponseHandler responseHandler = new SCIMResponseHandler();
responseHandler.setSCIMClient(scimClient);
// set the handler in wink client config
ClientConfig clientConfig = new ClientConfig();
clientConfig.handlers(new ClientHandler[] { responseHandler });
// create a wink rest client with the above config
RestClient restClient = new RestClient(clientConfig);
// create resource endpoint to access User resource
return restClient.resource(skim_url + "Users/" + skimId);
}
use of org.apache.wink.client.ClientConfig in project product-is by wso2.
the class SCIMServiceProviderGroupTestCase method getGroup.
@Test(alwaysRun = true, description = "Get SCIM Group", dependsOnMethods = { "createGroupTest" })
@SetEnvironment(executionEnvironments = { ExecutionEnvironment.ALL })
public void getGroup() throws Exception {
SCIMResponseHandler responseHandler = new SCIMResponseHandler();
responseHandler.setSCIMClient(scimClient);
// set the handler in wink client config
ClientConfig clientConfig = new ClientConfig();
clientConfig.handlers(new ClientHandler[] { responseHandler });
// create a wink rest client with the above config
RestClient restClient = new RestClient(clientConfig);
BasicAuthInfo encodedBasicAuthInfo = SCIMUtils.getBasicAuthInfo(userInfo);
// create resource endpoint to access a known user resource.
Resource groupResource = restClient.resource(scim_url + "Groups/" + scimGroupId);
String response = groupResource.header(SCIMConstants.AUTHORIZATION_HEADER, encodedBasicAuthInfo.getAuthorizationHeader()).contentType(SCIMConstants.APPLICATION_JSON).accept(SCIMConstants.APPLICATION_JSON).get(String.class);
log.info(response.toString());
Object obj = JSONValue.parse(response);
Assert.assertTrue(((JSONObject) obj).get("id").toString().contains(scimGroupId));
}
use of org.apache.wink.client.ClientConfig in project product-is by wso2.
the class SCIMServiceProviderGroupTestCase method filterGroup.
@Test(alwaysRun = true, description = "filter SCIM Groups", dependsOnMethods = { "listGroup" })
@SetEnvironment(executionEnvironments = { ExecutionEnvironment.ALL })
public void filterGroup() throws Exception {
SCIMResponseHandler responseHandler = new SCIMResponseHandler();
responseHandler.setSCIMClient(scimClient);
// set the handler in wink client config
ClientConfig clientConfig = new ClientConfig();
clientConfig.handlers(new ClientHandler[] { responseHandler });
// create a wink rest client with the above config
RestClient restClient = new RestClient(clientConfig);
BasicAuthInfo encodedBasicAuthInfo = SCIMUtils.getBasicAuthInfo(userInfo);
// create resource endpoint to access a known user resource.
Resource groupResource = restClient.resource(scim_url + "Groups?filter=displayNameEqeng");
String response = groupResource.header(SCIMConstants.AUTHORIZATION_HEADER, encodedBasicAuthInfo.getAuthorizationHeader()).contentType(SCIMConstants.APPLICATION_JSON).accept(SCIMConstants.APPLICATION_JSON).get(String.class);
log.info(response.toString());
Assert.assertTrue(response.contains("\"displayName\":\"PRIMARY/eng\""));
}
use of org.apache.wink.client.ClientConfig in project product-is by wso2.
the class SCIMServiceProviderGroupTestCase method updateGroup.
@Test(alwaysRun = true, description = "Add SCIM user", dependsOnMethods = { "filterGroup" })
@SetEnvironment(executionEnvironments = { ExecutionEnvironment.ALL })
public void updateGroup() throws Exception {
SCIMResponseHandler responseHandler = new SCIMResponseHandler();
responseHandler.setSCIMClient(scimClient);
// set the handler in wink client config
ClientConfig clientConfig = new ClientConfig();
clientConfig.handlers(new ClientHandler[] { responseHandler });
// create a wink rest client with the above config
RestClient restClient = new RestClient(clientConfig);
BasicAuthInfo encodedBasicAuthInfo = SCIMUtils.getBasicAuthInfo(userInfo);
// create resource endpoint to access a known user resource.
Resource groupResource = restClient.resource(scim_url + "Groups/" + scimGroupId);
String response = groupResource.header(SCIMConstants.AUTHORIZATION_HEADER, encodedBasicAuthInfo.getAuthorizationHeader()).contentType(SCIMConstants.APPLICATION_JSON).accept(SCIMConstants.APPLICATION_JSON).get(String.class);
log.info("Retrieved group: " + response);
// decode retrieved group
Group decodedGroup = (Group) scimClient.decodeSCIMResponse(response.replace("PRIMARY/", ""), SCIMConstants.JSON, 2);
decodedGroup.setDisplayName("testeng2");
String updatedGroupString = scimClient.encodeSCIMObject(decodedGroup, SCIMConstants.JSON);
Resource updateGroupResource = restClient.resource(scim_url + "Groups/" + scimGroupId);
String responseUpdated = updateGroupResource.header(SCIMConstants.AUTHORIZATION_HEADER, encodedBasicAuthInfo.getAuthorizationHeader()).contentType(SCIMConstants.APPLICATION_JSON).accept(SCIMConstants.APPLICATION_JSON).put(String.class, updatedGroupString);
log.info("Updated group: " + responseUpdated);
Assert.assertTrue(responseUpdated.contains("testeng2"));
}
Aggregations