Skip to content

HYPERFLEET-1178 - test: add Ready condition absence integration test#250

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift-hyperfleet:mainfrom
pnguyen44:HYPERFLEET-1178
Jun 24, 2026
Merged

HYPERFLEET-1178 - test: add Ready condition absence integration test#250
openshift-merge-bot[bot] merged 1 commit into
openshift-hyperfleet:mainfrom
pnguyen44:HYPERFLEET-1178

Conversation

@pnguyen44

@pnguyen44 pnguyen44 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

HYPERFLEET-1178

Adds an integration test that verifies v1.0.0 status aggregation does not produce a resource-level
Ready condition. Partners polling for Ready=True would hang indefinitely; the correct conditions
are Reconciled and LastKnownReconciled. This is part of the v1.0.0 adapter contract-conformance
testing effort driven by the breaking-change checklist from HYPERFLEET-1177.

Changes

  • Added integration test that submits a fully-reconciled adapter status (Available, Applied, Health,
    Reconciled all True), then asserts that no Ready condition appears in the aggregated resource-level
    conditions
  • Verifies that Reconciled and LastKnownReconciled conditions are present after successful
    aggregation, confirming the v1.0.0 contract

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 crizzo71 and mbrudnoy June 24, 2026 17:17
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

A new integration test, TestClusterStatusPut_ReadyConditionAbsentAfterReconciliation, is added to test/integration/adapter_status_test.go. The test creates a cluster, submits an adapter status update with Reconciled=True along with Available, Applied, and Health set to True, then retrieves the cluster and asserts that no Ready condition appears in cluster.status.conditions while both Reconciled and LastKnownReconciled resource conditions are present.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately identifies the new integration test for the Ready condition absence.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 PASS: No non-test/non-example Go log statements with token/password/credential/secret terms were found; changed code is test-only. CWE-532.
No Hardcoded Secrets ✅ Passed No hardcoded secrets in the added test; no secret literals, embedded credentials, base64 blobs, or private keys found. CWE-259 not triggered.
No Weak Cryptography ✅ Passed No banned primitives, custom crypto, ECB, or secret comparison logic in the only changed file; patch is a test-only addition. No CWE-327/328/916 signal.
No Injection Vectors ✅ Passed Only added code is a test file; no SQL/exec/template/yaml sinks, and the new test uses hardcoded/enum inputs. CWE-89/78/79/502 not present.
No Privileged Containers ✅ Passed No CWE-250 issue: Dockerfile root use is justified in builder stage; runtime drops to UID 65532, and chart defaults stay non-root with allowPrivilegeEscalation=false.
No Pii Or Sensitive Data In Logs ✅ Passed No added slog/logr/zap/fmt.Print* calls in the changed test; no CWE-532 logging exposure risk found.
Description check ✅ Passed The description matches the change set: it adds an integration test covering absence of the Ready condition after status aggregation.

✏️ 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.

@hyperfleet-ci-bot

Copy link
Copy Markdown

Risk Score: 0 — risk/low

Signal Detail Points
PR size 66 lines +0
Sensitive paths none +0

Computed by hyperfleet-risk-scorer

@kuudori

kuudori commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kuudori

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

The pull request process is described 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

@openshift-merge-bot
openshift-merge-bot Bot merged commit 47284f3 into openshift-hyperfleet:main Jun 24, 2026
9 checks passed
kuudori pushed a commit to kuudori/hyperfleet-api that referenced this pull request Jul 14, 2026
)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| registry.access.redhat.com/ubi9/go-toolset | stage | patch |
`9.8-1783679445` → `9.8-1783931515` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

To execute skipped test pipelines write comment `/ok-to-test`.

---
### Documentation

Find out how to configure dependency updates in [MintMaker
documentation](https://konflux-ci.dev/docs/mintmaker/user/) or see all
available configuration options in [Renovate
documentation](https://docs.renovatebot.com/configuration-options/).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTAuMC1ycG0iLCJ1cGRhdGVkSW5WZXIiOiI0My4yMTAuMC1ycG0iLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants