Skip to main content

Services surrounding KeyCloak, that use the REST API to read/update state

Project description

PyPI GitHub release (latest by date including pre-releases) PyPI - License Lines of code GitHub issues GitHub pull requests

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.

  1. 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.

  2. 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

wipac-keycloak-rest-services-1.4.112.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file wipac-keycloak-rest-services-1.4.112.tar.gz.

File metadata

  • Download URL: wipac-keycloak-rest-services-1.4.112.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

Hashes for wipac-keycloak-rest-services-1.4.112.tar.gz
Algorithm Hash digest
SHA256 bf3c57e4071d650e230b401df6df0c922205954bf409850adbd043478a0a0f61
MD5 84e1dcfe24b4c252bddcbe186ba643c9
BLAKE2b-256 c457d8d16f3b9b55d23214de56fe601e9f69021c0b7b7c4148ddb1dcad4846d6

See more details on using hashes here.

File details

Details for the file wipac_keycloak_rest_services-1.4.112-py3-none-any.whl.

File metadata

  • Download URL: wipac_keycloak_rest_services-1.4.112-py3-none-any.whl
  • Upload date:
  • Size: 32.2 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

Hashes for wipac_keycloak_rest_services-1.4.112-py3-none-any.whl
Algorithm Hash digest
SHA256 40391523e7bc7f19ba555f66698f1d607b5ba98ed458c8dfecf9ee0a57b8643b
MD5 7010e4c842dead3f580f99e5ed29ee97
BLAKE2b-256 7f85205a828cfd7b18d5439f5d55b504bbc28dc1269fe213285511b8c787bb4e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page