Skip to content

HYPERFLEET-1181 - docs: add test placement strategy#152

Open
kuudori wants to merge 1 commit into
openshift-hyperfleet:mainfrom
kuudori:HYPERFLEET-1181
Open

HYPERFLEET-1181 - docs: add test placement strategy#152
kuudori wants to merge 1 commit into
openshift-hyperfleet:mainfrom
kuudori:HYPERFLEET-1181

Conversation

@kuudori

@kuudori kuudori commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Test Plan

  • Unit tests added/updated
  • make test-all passes
  • make lint passes
  • Helm chart changes validated with make test-helm (if applicable)
  • Deployed to a development cluster and verified (if Helm/config changes)
  • E2E tests passed (if cross-component or major changes)

@openshift-ci openshift-ci Bot requested review from pnguyen44 and rafabene June 8, 2026 16:25
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 898a3e34-7975-445f-be78-0217a6ebd9bd

📥 Commits

Reviewing files that changed from the base of the PR and between 0d41fa6 and dc5c5ec.

📒 Files selected for processing (1)
  • hyperfleet/docs/e2e-testing/test-placement-strategy.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive "Test Placement Strategy" guide defining Unit, Integration, and E2E responsibilities with examples mapping assertions to the appropriate test layer.
    • Clarified overlap vs redundancy rules, when to remove higher-layer tests, and included a decision checklist for test placement.
    • Introduced a Coverage Durability policy requiring CI gating and review controls for test deletion, plus basic metadata (status, owner, last updated).

Walkthrough

This PR adds comprehensive documentation defining HyperFleet's test placement strategy across unit, integration, and E2E layers. It establishes explicit rules for selecting the lowest layer that can catch a given failure mode (validation, DB/serialization, or multi-component behavior), clarifies scope boundaries for each layer, distinguishes intentional overlap from redundancy, provides a step-by-step checklist for new tests, and introduces governance requirements including CI gating via required status checks, CODEOWNERS coverage, and constraints on test deletion/migration to prevent coverage gaps.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and accurately describes the main change: adding documentation for a test placement strategy.
Description check ✅ Passed The description references the Jira ticket and indicates documentation is being added, which aligns with the changeset adding test placement strategy documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Sec-02: Secrets In Log Output ✅ Passed PR adds only documentation (markdown file) to a documentation-only repository with no code files. No log statements or exposed secrets present.
No Hardcoded Secrets ✅ Passed Documentation file contains no hardcoded secrets, API keys, tokens, passwords, or sensitive assignments. References to security concepts are documentation examples only.
No Weak Cryptography ✅ Passed Documentation file contains no cryptographic code, no code examples with banned primitives (MD5, DES, RC4, SHA1, ECB), and no insecure comparison implementations. No weak cryptography usage present.
No Injection Vectors ✅ Passed File is pure Markdown documentation with no executable code, code blocks, or injection patterns. CWE-89, CWE-78, CWE-79, CWE-502 checks not applicable to documentation.
No Privileged Containers ✅ Passed No privileged containers detected. All container security contexts use non-root users and disable privilege escalation.
No Pii Or Sensitive Data In Logs ✅ Passed Pure documentation file with no logging statements, code blocks, or PII/sensitive data exposure. Check not applicable to markdown documentation.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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

@kuudori kuudori force-pushed the HYPERFLEET-1181 branch from 0a88471 to c9ba6e6 Compare June 8, 2026 16:43
Comment thread hyperfleet/docs/e2e-testing/test-placement-strategy.md Outdated
Comment thread hyperfleet/docs/e2e-testing/test-placement-strategy.md Outdated
Comment thread hyperfleet/docs/e2e-testing/test-placement-strategy.md
@kuudori kuudori force-pushed the HYPERFLEET-1181 branch from c9ba6e6 to 0d41fa6 Compare June 8, 2026 19:44
@openshift-ci

openshift-ci Bot commented Jun 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign sherine-k for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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