Skip to content

A testcontainer implementation for Keycloak using testcontainers-node

License

Notifications You must be signed in to change notification settings

OnenessDT/testcontainers-keycloak

 
 

Repository files navigation

Testcontainers-Keycloak

A testcontainers for keycloak

https://www.npmjs.com/package/testcontainers-keycloak

Installation

npm i -D testcontainers-keycloak

Usage

// start a keycloak container
const keycloak = await new KeycloakContainer()
    .withAdminUsername('admin')
    .withAdminPassword('admin')
    .withExposedPorts(8080)
    .start()

// start a admin session
await keycloak.configCredentials('master', 'admin', 'admin')

// according to your scenarios
// create the realm, user and client
await keycloak.createRealm('demo')
await keycloak.createUser('demo', 'user01', 'yubin', 'hsu', true)
await keycloak.createClient(
      'demo',
      'client01',
      'client01Secret',
      ['http://localhost:8888', 'http://localhost:8888/callback'],
      ['http://localhost:8888/home']
    )

// your test case ...
const accessToken = await keycloak.getAccessToken('demo', 'user01', 'user01password', 'client01', 'client01Secret')

About

A testcontainer implementation for Keycloak using testcontainers-node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%