-
Notifications
You must be signed in to change notification settings - Fork 29
Add comprehensive test documentation #426
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughA new comprehensive test documentation file is added at Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
test/TEST.md (1)
274-274: Use hyphens for compound adjectives: "Long-Running Tests".In lines 274, 276, 308, and 344, the term "Long Running Tests" appears in section headers and body text. When "long" and "running" function together as a compound adjective modifying a noun (e.g., "long-running tests"), they should be hyphenated per standard English grammar conventions.
Apply these diffs to fix the hyphenation:
- ## Long Running Tests + ## Long-Running Tests - Long running tests execute daily on real Azure AKS clusters to validate production-like scenarios. + Long-running tests execute daily on real Azure AKS clusters to validate production-like scenarios.- ### Running Long Running Tests + ### Running Long-Running Tests- The manual E2E test performs the same upgrade testing sequence as the long running tests: + The manual E2E test performs the same upgrade testing sequence as the long-running tests:Additionally, update the Table of Contents entry at line 11:
- - [Long Running Tests](#long-running-tests) + - [Long-Running Tests](#long-running-tests)Also applies to: 276-276, 308-308, 344-344
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (1)
test/TEST.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
test/TEST.md
[uncategorized] ~107-~107: The official name of this software platform is spelled with a capital “H”.
Context: ..._MAESTRO_TLS=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e`) --- #...
(GITHUB)
[uncategorized] ~131-~131: The official name of this software platform is spelled with a capital “H”.
Context: ...SUBSCRIPTION=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-broadcast...
(GITHUB)
[uncategorized] ~154-~154: The official name of this software platform is spelled with a capital “H”.
Context: ...ENABLE_ISTIO=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-with-isti...
(GITHUB)
[uncategorized] ~179-~179: The official name of this software platform is spelled with a capital “H”.
Context: ..._MAESTRO_TLS=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-grpc-brok...
(GITHUB)
[uncategorized] ~254-~254: The official name of this software platform is spelled with a capital “H”.
Context: ...make upgrade-test ``` CI Workflow: .github/workflows/e2e.yml (job: `upgrade`) ##...
(GITHUB)
[grammar] ~274-~274: Use a hyphen to join words.
Context: ... Verify status propagation --- ## Long Running Tests Long running tests execut...
(QB_NEW_EN_HYPHEN)
[grammar] ~276-~276: Use a hyphen to join words.
Context: ...gation --- ## Long Running Tests Long running tests execute daily on real Azur...
(QB_NEW_EN_HYPHEN)
[grammar] ~308-~308: Use a hyphen to join words.
Context: ...m with latest versions ### Running Long Running Tests Automated: Runs daily...
(QB_NEW_EN_HYPHEN)
[grammar] ~344-~344: Use a hyphen to join words.
Context: ...ame upgrade testing sequence as the long running tests: 1. Initial E2E Test ...
(QB_NEW_EN_HYPHEN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: Red Hat Konflux / maestro-e2e-on-pull-request
- GitHub Check: Red Hat Konflux / maestro-on-pull-request
- GitHub Check: e2e-with-istio
- GitHub Check: e2e-grpc-broker
- GitHub Check: upgrade
- GitHub Check: e2e-broadcast-subscription
- GitHub Check: e2e
🔇 Additional comments (2)
test/TEST.md (2)
1-471: Documentation is comprehensive and well-structured.This is a thorough addition to the testing documentation that systematizes the Maestro testing strategy across multiple dimensions (unit, integration, E2E, upgrade, long-running, and manual tests). The document includes practical setup instructions, command references, environment variables, and CI workflow mappings.
The coverage of E2E configurations (4 variants: standard, broadcast subscription, Istio, gRPC) is particularly valuable. The three-phase upgrade test strategy and long-running test infrastructure details provide good context for different testing scenarios.
220-220: Verify the linked upgrade documentation file exists.Line 220 references a relative link to
upgrade/README.md. Please confirm thattest/upgrade/README.mdexists in the repository, or update the link if the file is located elsewhere.
|
|
||
| ### Prerequisites | ||
|
|
||
| - Go 1.24.4+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
Go programming language latest version 2025
💡 Result:
The latest stable Go release is Go 1.25 — current patch: go1.25.5 (released December 2, 2025). [1][2]
Sources:
- Go release history / 1.25 release notes and patch list. [1]
- go.dev VERSION file showing go1.25.x. [2]
🏁 Script executed:
# Check if the file exists and view the context around line 394
if [ -f "test/TEST.md" ]; then
echo "=== File found, viewing lines 390-400 ==="
sed -n '390,400p' test/TEST.md
else
echo "File not found at test/TEST.md, searching for TEST.md..."
find . -name "TEST.md" -type f 2>/dev/null | head -5
fiRepository: openshift-online/maestro
Length of output: 192
Consider updating the Go version requirement to reflect current stable release.
Go 1.24.4+ is a valid requirement, but Go 1.25 (released December 2025) is now the latest stable version. If this documentation targets the current Maestro release, update the prerequisite to Go 1.25+ for clarity and to align with current best practices.
🤖 Prompt for AI Agents
In test/TEST.md around line 394, the documented Go prerequisite reads "Go
1.24.4+"; update this to the current stable release by changing the requirement
to "Go 1.25+" (or "Go 1.25.0+" if you prefer explicit patch level) so the docs
reflect the latest supported Go version; update any related mentions or
footnotes in the file to remain consistent.
This commit adds TEST.md to provide a complete overview of all testing strategies in the Maestro project, including: - Unit and integration tests (MQTT and gRPC) - E2E tests for different configurations: - Standard E2E (2 replicas, TLS) - Broadcast subscription (3 replicas) - Istio service mesh - gRPC broker - Upgrade tests with backward compatibility validation - Long running tests on Azure AKS clusters - Manual E2E and upgrade tests on custom clusters - Local test execution guide - CI/CD workflow documentation The documentation emphasizes the importance of running upgrade tests before delivering new versions to ensure compatibility with existing deployments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> Signed-off-by: clyang82 <[email protected]>
2b5a2a4 to
fede813
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
test/README.md (1)
394-394: Update Go version prerequisite to reflect the current stable release.Go 1.25.5 was released December 2, 2025 and is the current stable version. The documented prerequisite of Go 1.24.4+ is outdated. Update this to Go 1.25+ to align with current best practices and match the stability guarantees of modern Maestro deployments.
Apply this diff:
- Go 1.24.4+ + Go 1.25+
🧹 Nitpick comments (1)
test/README.md (1)
274-344: Apply hyphenation to "long-running" when used as a compound adjective.When "long running" is used as a modifier before a noun, it should be hyphenated as "long-running" per English grammar conventions.
Apply these diffs to correct the hyphenation:
- ## Long Running Tests + ## Long-Running Tests- Long running tests execute daily on real Azure AKS clusters to validate production-like scenarios. + Long-running tests execute daily on real Azure AKS clusters to validate production-like scenarios.- ### Running Long Running Tests + ### Running Long-Running Tests- The manual E2E test performs the same upgrade testing sequence as the long running tests: + The manual E2E test performs the same upgrade testing sequence as the long-running tests:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting
📒 Files selected for processing (1)
test/README.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
test/README.md
[uncategorized] ~107-~107: The official name of this software platform is spelled with a capital “H”.
Context: ..._MAESTRO_TLS=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e`) --- #...
(GITHUB)
[uncategorized] ~131-~131: The official name of this software platform is spelled with a capital “H”.
Context: ...SUBSCRIPTION=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-broadcast...
(GITHUB)
[uncategorized] ~154-~154: The official name of this software platform is spelled with a capital “H”.
Context: ...ENABLE_ISTIO=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-with-isti...
(GITHUB)
[uncategorized] ~179-~179: The official name of this software platform is spelled with a capital “H”.
Context: ..._MAESTRO_TLS=true ``` CI Workflow: .github/workflows/e2e.yml (job: `e2e-grpc-brok...
(GITHUB)
[uncategorized] ~254-~254: The official name of this software platform is spelled with a capital “H”.
Context: ...make upgrade-test ``` CI Workflow: .github/workflows/e2e.yml (job: `upgrade`) ##...
(GITHUB)
[grammar] ~274-~274: Use a hyphen to join words.
Context: ... Verify status propagation --- ## Long Running Tests Long running tests execut...
(QB_NEW_EN_HYPHEN)
[grammar] ~276-~276: Use a hyphen to join words.
Context: ...gation --- ## Long Running Tests Long running tests execute daily on real Azur...
(QB_NEW_EN_HYPHEN)
[grammar] ~308-~308: Use a hyphen to join words.
Context: ...m with latest versions ### Running Long Running Tests Automated: Runs daily...
(QB_NEW_EN_HYPHEN)
[grammar] ~344-~344: Use a hyphen to join words.
Context: ...ame upgrade testing sequence as the long running tests: 1. Initial E2E Test ...
(QB_NEW_EN_HYPHEN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: Red Hat Konflux / maestro-e2e-on-pull-request
- GitHub Check: Red Hat Konflux / maestro-on-pull-request
- GitHub Check: upgrade
- GitHub Check: e2e-grpc-broker
- GitHub Check: e2e-broadcast-subscription
- GitHub Check: e2e-with-istio
- GitHub Check: e2e
🔇 Additional comments (1)
test/README.md (1)
1-471: Comprehensive and well-structured test documentation.The documentation effectively covers all major test types (unit, integration, E2E, upgrade, long-running, manual E2E) with clear running instructions, environment variables, and local setup guidance. The structure is logical with a functional table of contents, and the emphasis on requiring upgrade tests to pass before delivery is appropriately highlighted.
Verify the following before merging:
- CI workflow files (
.github/workflows/e2e.yml,longrunning.yml,manual-e2e.yml) contain the documented job names (e2e,e2e-broadcast-subscription,e2e-with-istio,e2e-grpc-broker,upgrade)- Internal link on line 220 to
upgrade/README.mdreferences an existing file- All documented Makefile targets (
make test,make e2e-test,make upgrade-test, etc.) are implemented and functional
Summary
test/TEST.mdKey Sections
Important Notes
Test plan
🤖 Generated with Claude Code