Skip to content

Move ztwim-test-generator inside oape plugin#12

Merged
swghosh merged 1 commit intomainfrom
move-ztwim-inside-oape
Feb 16, 2026
Merged

Move ztwim-test-generator inside oape plugin#12
swghosh merged 1 commit intomainfrom
move-ztwim-inside-oape

Conversation

@sayak-redhat
Copy link
Collaborator

@sayak-redhat sayak-redhat commented Feb 16, 2026

  • Add ZTWIM test generator under plugins/oape/ztwim-test-generator (fixtures, docs)
  • Add oape commands: ztwim-generate-all, ztwim-generate-from-pr, ztwim-generate-execution-steps, ztwim-generate-e2e-from-pr
  • Add ZTWIM skill at plugins/oape/skills/ztwim-test-case-generator/SKILL.md
  • Update root README and plugins/oape/README with ZTWIM commands and /oape:ztwim-* usage

Summary by CodeRabbit

  • New Features

    • Added ZTWIM Test Generator.
  • Documentation

    • Added comprehensive documentation for ZTWIM Test Generator including command references, workflow descriptions, and usage examples.
    • Updated plugin README with new ZTWIM Test Generator section and extended plugin table.
    • Added fixture examples, E2E testing guidance, and skill documentation.

- Add ZTWIM test generator under plugins/oape/ztwim-test-generator (fixtures, docs)
- Add oape commands: ztwim-generate-all, ztwim-generate-from-pr, ztwim-generate-execution-steps, ztwim-generate-e2e-from-pr
- Add ZTWIM skill at plugins/oape/skills/ztwim-test-case-generator/SKILL.md
- Update root README and plugins/oape/README with ZTWIM commands and /oape:ztwim-* usage
- Remove duplicate ztwim plugin; all ZTWIM functionality now under oape

Co-authored-by: Cursor <cursoragent@cursor.com>
@sayak-redhat sayak-redhat requested a review from swghosh February 16, 2026 11:56
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 16, 2026

📝 Walkthrough

Walkthrough

Adds comprehensive documentation and fixtures for a new ZTWIM Test Generator feature within the oape plugin. Includes command specifications for generating test cases, execution steps, and e2e code from pull requests, along with skill definitions, deployment fixtures, and reference documentation for OpenShift Zero Trust Workload Identity Manager e2e testing.

Changes

Cohort / File(s) Summary
Root-level documentation updates
README.md
Expanded plugins table with oape plugin description mentioning ZTWIM test generator; added new ZTWIM Test Generator documentation section with usage examples and plugin structure diagram.
Plugin README updates
plugins/oape/README.md
Added ZTWIM Test Generator documentation block with commands table outlining four oape:ztwim-* commands and reference to fixture/usage documentation.
Command documentation
plugins/oape/commands/ztwim-generate-all.md, ztwim-generate-from-pr.md, ztwim-generate-e2e-from-pr.md, ztwim-generate-execution-steps.md
Four new command specification files documenting ZTWIM CLI commands, including workflow, arguments, output structure, validation steps, and usage examples for single-command and individual command workflows.
Skill definition
plugins/oape/skills/ztwim-test-case-generator/SKILL.md
New skill definition describing the QE engineer persona, objectives for generating test artifacts from ZTWIM PRs, fixture usage, operator lifecycle sequencing, and e2e testing guidance.
Test generation reference docs
plugins/oape/ztwim-test-generator/docs/e2e-structure.md
Documentation of upstream e2e test structure for OpenShift Zero Trust Workload Identity Manager, including repository layout, naming conventions, testing conventions, and important end-to-end scenarios to cover.
Test fixture files
plugins/oape/ztwim-test-generator/fixtures/operator-install.yaml, ztwim-stack.yaml
YAML fixtures for ZTWIM operator OLM installation and complete ZTWIM stack deployment with environment variable configuration.
Test scenario and example references
plugins/oape/ztwim-test-generator/fixtures/e2e-important-scenarios.md, e2e-sample_test.go.example
Comprehensive matrix of end-to-end test scenarios for operator and operand lifecycle, and example Ginkgo/Gomega test file demonstrating operand status and OperatorCondition verification patterns.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Suggested reviewers

  • swghosh
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Move ztwim-test-generator inside oape plugin' clearly and accurately summarizes the main objective of the PR, which is to consolidate ZTWIM functionality under the oape plugin.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch move-ztwim-inside-oape

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@plugins/oape/commands/ztwim-generate-all.md`:
- Around line 10-12: The code fence in the synopsis for the
/oape:ztwim-generate-all command lacks a language identifier; update the
triple-backtick block that contains "/oape:ztwim-generate-all <pr-url> [--output
<path>] [--env <cluster-type>]" to include a language token (e.g., shell) after
the opening backticks so the fence reads ```shell and matches the rest of the
docs and satisfies markdownlint MD040.

In `@plugins/oape/commands/ztwim-generate-e2e-from-pr.md`:
- Around line 10-12: The fenced code blocks showing the command usage and
examples lack a language tag (triggering MD040); update the fences around the
command snippets in plugins/oape/commands/ztwim-generate-e2e-from-pr.md (the
blocks containing "/oape:ztwim-generate-e2e-from-pr <pr-url> [--output <path>]"
and the example invocations like "/oape:ztwim-generate-e2e-from-pr
https://github.com/openshift/zero-trust-workload-identity-manager/pull/123") to
include a language label (e.g., use ```text or ```bash) so the markdown linter
stops flagging MD040, and apply the same change to the other affected fences
around lines noted (the second example block as well).

In `@plugins/oape/commands/ztwim-generate-execution-steps.md`:
- Around line 10-12: The fenced code blocks in
plugins/oape/commands/ztwim-generate-execution-steps.md (the synopsis block
containing "/oape:ztwim-generate-execution-steps <pr-url>..." and the example
blocks showing command usage) are missing language tags; update those
triple-backtick fences to include a language tag such as text (or bash) so they
become ```text (or ```bash) to satisfy MD040 and ensure proper highlighting;
apply the same change to the other example fence referenced around lines 118-124
so all command/code fences in this file include a language tag.

In `@plugins/oape/commands/ztwim-generate-from-pr.md`:
- Around line 10-12: The fenced code blocks in
plugins/oape/commands/ztwim-generate-from-pr.md are missing language identifiers
(MD040); update the three code fences that show the command usage and examples
so they start with a language tag (e.g., ```shell) instead of just ```;
specifically add the language identifier to the synopsis fence containing
"/oape:ztwim-generate-from-pr <pr-url> [--output <path>]" and to the example
fences containing "/oape:ztwim-generate-from-pr
https://github.com/openshift/zero-trust-workload-identity-manager/pull/72" (and
the variant with --output .work) so markdownlint MD040 is satisfied.

Comment on lines +10 to +12
```
/oape:ztwim-generate-all <pr-url> [--output <path>] [--env <cluster-type>]
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add a language identifier to the synopsis code fence (MD040).
This keeps markdownlint clean and consistent with other docs.

✅ Suggested fix
-```
+```shell
 /oape:ztwim-generate-all <pr-url> [--output <path>] [--env <cluster-type>]
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.20.0)</summary>

[warning] 10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @plugins/oape/commands/ztwim-generate-all.md around lines 10 - 12, The code
fence in the synopsis for the /oape:ztwim-generate-all command lacks a language
identifier; update the triple-backtick block that contains
"/oape:ztwim-generate-all [--output ] [--env ]" to
include a language token (e.g., shell) after the opening backticks so the fence
reads ```shell and matches the rest of the docs and satisfies markdownlint
MD040.


</details>

<!-- fingerprinting:phantom:poseidon:eagle -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +10 to +12
```
/oape:ztwim-generate-e2e-from-pr <pr-url> [--output <path>]
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add language tags to fenced code blocks.

The synopsis and examples fences don’t specify a language, which triggers MD040. Consider tagging them as text (or bash if you prefer).

🔧 Suggested tweak
-```
+```text
 /oape:ztwim-generate-e2e-from-pr <pr-url> [--output <path>]

@@
- +text
/oape:ztwim-generate-e2e-from-pr https://github.com/openshift/zero-trust-workload-identity-manager/pull/123

Writes: output/ztwim_pr_123/123_test_e2e.go, output/ztwim_pr_123/e2e-suggestions.md

/oape:ztwim-generate-e2e-from-pr https://github.com/openshift/zero-trust-workload-identity-manager/pull/123 --output .work

Writes: .work/ztwim_pr_123/123_test_e2e.go, .work/ztwim_pr_123/e2e-suggestions.md

</details>


Also applies to: 103-109

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.20.0)</summary>

[warning] 10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @plugins/oape/commands/ztwim-generate-e2e-from-pr.md around lines 10 - 12,
The fenced code blocks showing the command usage and examples lack a language
tag (triggering MD040); update the fences around the command snippets in
plugins/oape/commands/ztwim-generate-e2e-from-pr.md (the blocks containing
"/oape:ztwim-generate-e2e-from-pr [--output ]" and the example
invocations like "/oape:ztwim-generate-e2e-from-pr
https://github.com/openshift/zero-trust-workload-identity-manager/pull/123") to
include a language label (e.g., use text or bash) so the markdown linter
stops flagging MD040, and apply the same change to the other affected fences
around lines noted (the second example block as well).


</details>

<!-- fingerprinting:phantom:triton:eagle -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +10 to +12
```
/oape:ztwim-generate-execution-steps <pr-url> [--output <path>] [--env <cluster-type>]
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add language tags to fenced code blocks.

The synopsis and examples fences are missing language tags (MD040). Tag them as text (or bash if preferred).

🔧 Suggested tweak
-```
+```text
 /oape:ztwim-generate-execution-steps <pr-url> [--output <path>] [--env <cluster-type>]

@@
- +text
/oape:ztwim-generate-execution-steps openshift/zero-trust-workload-identity-manager#72

Writes: output/ztwim_pr_72/execution-steps.md

/oape:ztwim-generate-execution-steps openshift/zero-trust-workload-identity-manager#72 --output .work

Writes: .work/ztwim_pr_72/execution-steps.md

</details>


Also applies to: 118-124

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @plugins/oape/commands/ztwim-generate-execution-steps.md around lines 10 -
12, The fenced code blocks in
plugins/oape/commands/ztwim-generate-execution-steps.md (the synopsis block
containing "/oape:ztwim-generate-execution-steps ..." and the example
blocks showing command usage) are missing language tags; update those
triple-backtick fences to include a language tag such as text (or bash) so they
become text (or bash) to satisfy MD040 and ensure proper highlighting;
apply the same change to the other example fence referenced around lines 118-124
so all command/code fences in this file include a language tag.


</details>

<!-- fingerprinting:phantom:triton:eagle -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +10 to +12
```
/oape:ztwim-generate-from-pr <pr-url> [--output <path>]
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add language identifiers to fenced code blocks (MD040).
markdownlint flags the synopsis and examples fences as missing a language tag.

✅ Suggested fix
-```
+```shell
 /oape:ztwim-generate-from-pr <pr-url> [--output <path>]

@@
- +shell
/oape:ztwim-generate-from-pr openshift/zero-trust-workload-identity-manager#72

Writes: output/ztwim_pr_72/test-cases.md

/oape:ztwim-generate-from-pr openshift/zero-trust-workload-identity-manager#72 --output .work

Writes: .work/ztwim_pr_72/test-cases.md

Also applies to: 103-109

🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In `@plugins/oape/commands/ztwim-generate-from-pr.md` around lines 10 - 12, The
fenced code blocks in plugins/oape/commands/ztwim-generate-from-pr.md are
missing language identifiers (MD040); update the three code fences that show the
command usage and examples so they start with a language tag (e.g., ```shell)
instead of just ```; specifically add the language identifier to the synopsis
fence containing "/oape:ztwim-generate-from-pr <pr-url> [--output <path>]" and
to the example fences containing "/oape:ztwim-generate-from-pr
https://github.com/openshift/zero-trust-workload-identity-manager/pull/72" (and
the variant with --output .work) so markdownlint MD040 is satisfied.

@swghosh swghosh merged commit c77b80c into main Feb 16, 2026
2 checks passed
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.

2 participants