mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-15 20:38:00 +00:00
15c9f71bee
# How the Problems Are Solved Adds a new load test to use the token endpoint with a single user by multiple threads.
2.4 KiB
2.4 KiB
Load Tests
This package contains code for load testing specific endpoints of ZITADEL using k6.
Prerequisite
Structure
The use cases under tests are defined in src/use_cases
. The implementation of ZITADEL resources and calls are located under src
.
Execution
Env vars
VUS
: Amount of parallel processes execute the test (default is 20)DURATION
: Defines how long the tests are executed (default is200s
)ZITADEL_HOST
: URL of ZITADEL (default ishttp://localhost:8080
)
To setup the tests we use the credentials of console and log in using an admin. The user must be able to create organizations and all resources inside organizations.
ADMIN_LOGIN_NAME
:zitadel-admin@zitadel.localhost
ADMIN_PASSWORD
:Password1!
Test
Before you run the tests you need an initialized user. The tests don't implement the change password screen during login.
make human_password_login
setup: creates human users
test: uses the previously created humans to sign in using the login uimake machine_pat_login
setup: creates machines and a pat for each machine
test: calls user info endpoint with the given patsmake machine_client_credentials_login
setup: creates machines and a client credential secret for each machine
test: calls token endpoint with theclient_credentials
grant type.make user_info
setup: creates human users and signs them in
test: calls user info endpoint using the given humansmake manipulate_user
test: creates a human, updates its profile, locks the user and then deletes itmake introspect
setup: creates projects, one api per project, one key per api and generates the jwt from the given keys
test: calls introspection endpoint using the given JWTsmake add_session
setup: creates human users
test: creates new sessions with user id checkmake machine_jwt_profile_grant
setup: generates private/public key, creates machine users, adds a key
test: creates a token and calls user infomake machine_jwt_profile_grant_single_user
setup: generates private/public key, creates machine user, adds a key
test: creates a token and calls user info in parallel for the same user