The System for Cross-domain Identity Management (SCIM) specification is designed to make managing user identities in cloud-based applications and services easier. The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. Its intent is to reduce the cost and complexity of user management operations by providing a common user schema and extension model, as well as binding documents to provide patterns for exchanging this schema using standard protocols. In essence: make it fast, cheap, and easy to move users in to, out of, and around the cloud.
This project is on implementing the SCIM 2.0 compliance test suite which can be run on both the cloud and on premise. In the test suite, it is intended to validate the supportability of a provided service provider, in terms of the SCIM 2.0 core specification and protocol specification.
The test suite generates a detailed analysis view and comprehensive report upon providing the server’s SCIM endpoint. The report includes the test results indicating the coverage percentage of each specification and a detailed view of the results of each test including requests sent by the test suite, expected response and the server response along with the indication whether a particular test is passed or not.
Build the test suite
mvn clean install
Install java certificate as explained by here.
Deploy the scimproxycompliance.war and run it.
Navigate to SCIM 2.0 Compliance Test.
Enter your SCIM base URL (eg: https://localhost:8080/scim2/) and add the authentication with basic auth under settings menu.
Click Go.
The current implememtation tests the following aspects of the SCIM 2.0 implementation of service provider.
Test Report as PDF - A PDF test report will be generated by the end of test suite which includes the test results indicating the coverage percentage of each specification and a detailed view of the results of each test including requests sent by the test suite, expected response and the server response along with the indication whether a particular test is passed or not.
Add Custom Test Cases - The suite is developed with scalability in mind. Developers are welcome to add custom tests cases and improve the test suite.
Navigate to the class which you want to add the test case (eg: UserTest class for /Users endpoint related test cases).
Add your test case as a seperate method.
Add @TestCase annotation to your method.
@TestCase
public void customTestCase() {
.....
}
Rebuild the project and run.
This project is an ongoing project and we value your contributions. We are open for PRs. For any clarifications, reach us through dev@wso2.org