Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preview - Keycloak Test Framework #488

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

lhanusov
Copy link

Closes #32399

@lhanusov lhanusov force-pushed the 32399 branch 3 times, most recently from 2d89793 to 46b3979 Compare August 29, 2024 15:16
Copy link

@vaceksimon vaceksimon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Content-wise I don't find it missing anything. It's great as it is now.
I ran it through a grammar checker and included some of my rephrasing suggestions.
Feel free to ignore any of it.

blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
blog/2024/preview-keycloak-test-framework.adoc Outdated Show resolved Hide resolved
Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>

== Brighter Future?

Keycloak team had started a https://github.com/orgs/keycloak/projects/42[joint effort] between the engineering and quality engineering people to design a new test framework (May 2024). It had been initiated with a prototype to verify if our thoughts were feasible. The prototype was based on the _JUnit5_ testing framework, specifically to implement _JUnit5_ callback classes which extend the default test lifecycle functionality and provide custom inject annotations, like _@KeycloakIntegrationTest_, _@InjectWebDriver_ or _@InjectRealm_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just say Keycloak team - engineering and quality engineering is a RH thing, and we're all just the Keycloak team :)

== Are you curious about where to start?
We suggest reading the https://github.com/keycloak/keycloak/blob/main/test-framework/README.md[user guide], which will provide a basic overview of how the framework works and should be used. If this is not enough, you can also check https://github.com/keycloak/keycloak/tree/main/test-poc/examples[examples module].

For extension developers we recommend to look into the showcase example on how to start _Keycloak_ with their custom provider - link.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note that we need to update this before publishing the blog


For extension developers we recommend to look into the showcase example on how to start _Keycloak_ with their custom provider - link.

Once you find a bug, want to discuss something, or propose a new enhancement, please follow this GitHub feedback https://www.github.com/discussion#blabla[discussion] link.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note that we need to update this before publishing the blog


== Coming Soon

Preview - https://github.com/keycloak/keycloak/tree/main/test-framework[_Keycloak Test Framework_] will be introduced in _Keycloak Nightly_ builds. We plan to add more features, which will cover 80% of functionalities currently available in the https://github.com/keycloak/keycloak/tree/main/testsuite[integration test suite]. We also plan to introduce some new concepts, e.g. _@KeycloakTest_ annotation, which will add an option to test providers without the _Keycloak_ server running. It should be based on the _KeycloakSession_ class. Other interesting features should be parallel execution on a GitHub runner, adding a custom extension to a Keycloak server, or enabling a Keycloak cluster setup.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is available, not will be ;)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove 80%, and say something like cover enough for most tests...


== Brighter Future?

Keycloak team had started a https://github.com/orgs/keycloak/projects/42[joint effort] between the engineering and quality engineering people to design a new test framework (May 2024). It had been initiated with a prototype to verify if our thoughts were feasible. The prototype was based on the _JUnit5_ testing framework, specifically to implement _JUnit5_ callback classes which extend the default test lifecycle functionality and provide custom inject annotations, like _@KeycloakIntegrationTest_, _@InjectWebDriver_ or _@InjectRealm_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The board is private, and not visible to everyone. So we either remove the link, or cleanup the board and make it public


For extension developers we recommend to look into the showcase example on how to start _Keycloak_ with their custom provider - link.

Once you find a bug, want to discuss something, or propose a new enhancement, please follow this GitHub feedback https://www.github.com/discussion#blabla[discussion] link.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Once you find a bug, want to discuss something, or propose a new enhancement, please follow this GitHub feedback https://www.github.com/discussion#blabla[discussion] link.
If you find a bug, want to discuss something, or propose a new enhancement, please follow this GitHub feedback https://www.github.com/discussion#blabla[discussion] link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants