https://github.com/python-scim/scim2-tester
SCIM RFCs server compliance checker
https://github.com/python-scim/scim2-tester
provisioning rfc7643 rfc7644 scim scim2
Last synced: about 1 month ago
JSON representation
SCIM RFCs server compliance checker
- Host: GitHub
- URL: https://github.com/python-scim/scim2-tester
- Owner: python-scim
- License: apache-2.0
- Created: 2024-06-03T11:28:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-10T09:22:17.000Z (5 months ago)
- Last Synced: 2025-10-11T23:27:38.841Z (5 months ago)
- Topics: provisioning, rfc7643, rfc7644, scim, scim2
- Language: Python
- Homepage: https://scim2-tester.readthedocs.io
- Size: 919 KB
- Stars: 6
- Watchers: 5
- Forks: 2
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# scim2-tester
Python methods based on [scim2-models](https://scim2-models.readthedocs.io) and [scim2-client](https://scim2-client.readthedocs.io/en), to check if SCIM servers respect the [RFC7643](https://datatracker.ietf.org/doc/html/rfc7643.html) and [RFC7644](https://datatracker.ietf.org/doc/html/rfc7644.html) specifications.
It aims to be used in unit test and Continuous Integration suites and in healthcheck tools.
If you are seeking a CLI integration of scim2-tester, take a look at [scim2-cli](https://scim2-cli.readthedocs.io).
## What's SCIM anyway?
SCIM stands for System for Cross-domain Identity Management, and it is a provisioning protocol.
Provisioning is the action of managing a set of resources across different services, usually users and groups.
SCIM is often used between Identity Providers and applications in completion of standards like OAuth2 and OpenID Connect.
It allows users and groups creations, modifications and deletions to be synchronized between applications.
## Features
- **Discovery Validation**: Tests `/ServiceProviderConfig`, `/ResourceTypes` and `/Schemas` endpoints
- **CRUD Testing**: Validates `create`, `read`, `update` and `delete` operations on all available resource types
- **PATCH Testing**: Tests `add`, `remove` and `replace` operations on all available simple, complex and extension attributes
- **RFC Compliance**: Checks adherence to [RFC7643](https://datatracker.ietf.org/doc/html/rfc7643) and [RFC7644](https://datatracker.ietf.org/doc/html/rfc7644) specifications
- **Structured Results**: `CheckResult` objects with status, description and debugging data
- **Tag-Based Filtering**: Run specific test categories (`discovery`, `crud`, `patch`, etc.)
## Installation
```shell
pip install scim2-tester
```
## Usage
Check the [tutorial](https://scim2-tester.readthedocs.io/en/latest/tutorial.html) and the [reference](https://scim2-client.readthedocs.io/en/latest/reference.html) for more details.
scim2-tester belongs in a collection of SCIM tools developed by [Yaal Coop](https://yaal.coop),
with [scim2-models](https://github.com/python-scim/scim2-models),
[scim2-client](https://github.com/python-scim/scim2-client) and
[scim2-cli](https://github.com/python-scim/scim2-cli)