Services surrounding KeyCloak, that use the REST API to read/update state
Project description
keycloak-rest-services
Services surrounding Keycloak, that use the REST API to read/update state.
Running Tests
The tests run automatically in CircleCI, but for those that want to run them locally, there is a way.
First, build and load the local python environment:
./setupenv.sh
. env/bin/activate
Then, start instances of Keycloak, LDAP, and RabbitMQ in other terminals:
./resources/start-keycloak.sh
./resources/start-ldap.sh
./resources/start-rabbitmq.sh
Note that version of Keycloak server used for testing is set in resources/keycloak-image/Dockerfile
.
Keycloak may take a minute to start. If it does not, check your network settings, as it does not play well with VPNs and other more exotic network situations.
Finally, run the tests:
source ./resources/pytest-env.sh
pytest
Getting Test Coverage
If you want a coverage report, instead of running pytest directly, run it under the coverage tool:
keycloak_url=http://localhost:8080 username=admin password=admin coverage run -m pytest
coverage html --include='krs*'
Manually Running Scripts
It is possible to manually run all of the basic operations for controlling users and groups.
-
Bootstrap Keycloak
If you do not already have a Keycloak instance, start a test instance as shown above. Then, run the bootstrap script to create a realm and the REST service account:
keycloak_url=http://localhost:8080 username=admin password=admin realm=test python3 -m krs.bootstrap
Save the
client_secret
that gets printed, as you will need this. -
User and group actions
Now you can actually run the scripts, which take the format:
keycloak_url=http://localhost:8080 client_id=rest-access client_secret=<SECRET> realm=test python -m krs.<SCRIPT> <ARGS>
As an example, to list all groups:
keycloak_url=http://localhost:8080 client_id=rest-access client_secret=<SECRET> realm=test python -m krs.groups list
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wipac-keycloak-rest-services-1.4.110.tar.gz
.
File metadata
- Download URL: wipac-keycloak-rest-services-1.4.110.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.11.2 readme-renderer/44.0 requests/2.32.3 requests-toolbelt/1.0.0 urllib3/2.2.3 tqdm/4.67.0 importlib-metadata/8.5.0 keyring/25.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1ae6a0493ca45b2847f47ef0c08c2dbf12ede094e45ce4b30a12c54ee18393f |
|
MD5 | e51c6a116f4d3583f0984d820bbecb6e |
|
BLAKE2b-256 | f53ba92d18438eaafe6a7b416fab22df6ab6ca36e87a0063d96312e8a6ba545d |
File details
Details for the file wipac_keycloak_rest_services-1.4.110-py3-none-any.whl
.
File metadata
- Download URL: wipac_keycloak_rest_services-1.4.110-py3-none-any.whl
- Upload date:
- Size: 32.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.11.2 readme-renderer/44.0 requests/2.32.3 requests-toolbelt/1.0.0 urllib3/2.2.3 tqdm/4.67.0 importlib-metadata/8.5.0 keyring/25.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e76358aa3ea78b698da8aa6b97203441925670ae36ebc1d8007d264b563e932 |
|
MD5 | b33495fbfef01004c39792d5082cfd52 |
|
BLAKE2b-256 | dc2cb19d3543fe92fb704825d75be66912154d3799c3ea9b7c97b19520f659b7 |