Skip to content

Smoke test command from CI - #463

Merged
mgaffigan merged 3 commits into
OpenIntegrationEngine:mainfrom
mgaffigan:fix/command
Oct 6, 2026
Merged

mgaffigan merged 3 commits into
OpenIntegrationEngine:mainfrom
mgaffigan:fix/command

Conversation

@mgaffigan

@mgaffigan mgaffigan commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Adds CI smoke tests for command, which had no end-to-end coverage. The harness image now carries the CLI and runs it as a child process, so the distribution layout and launcher manifest are covered too.

Review notes:

  • Most of this is tests
  • exitsWhenServerIsUnreachable is the regression test for the hang fixed in Bug - Fix CLI login error #231 - it fails as a 90s timeout if the hang returns, and asserts exit code 69

#280 depends on this.

@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Test Results

127 files  +127  127 suites  +127   4m 6s ⏱️ + 4m 6s
727 tests +727  727 ✅ +727  0 💤 ±0  0 ❌ ±0 
817 runs  +817  811 ✅ +811  6 💤 +6  0 ❌ ±0 

Results for commit b815d78. ± Comparison against base commit fc347fe.

♻️ This comment has been updated with latest results.

@mgaffigan

Copy link
Copy Markdown
Contributor Author

Related #231

@tonygermano

Copy link
Copy Markdown
Member

Related #231

I updated this PR as it already had considerable work done on it if we can review that one. It would only replace the first commit from this PR.

@mgaffigan mgaffigan changed the title Fix command hang and smoke test it from CI Smoke test command from CI Oct 5, 2026

@pacmano1 pacmano1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two of these tests pass when the CLI fails. I checked against a build of main at 11ad744 (this PR doesn't change the CLI), with an nginx proxy returning 500 for one request at a time:

  • A failed status passes runsReadOnlyCommands. status prints its header before the request, and a ClientException from a statement prints as a stack trace, not an Error: line. With channels/statuses returning 500, all six assertions passed. Rejecting Exception in the output catches it.
  • A failed logout passes logsInAndReportsServerVersion. The CLI prints Error: Could not logout from server. and then Disconnected from server. anyway, so the comment on that assertion is wrong. An Error: check there catches it.
  • Neither live test asserts exit code 0. That wouldn't catch either failure above, since both exit 0, but it's the code scripts rely on since #231.

@mgaffigan
mgaffigan requested a review from pacmano1 October 5, 2026 20:33
Nothing covered command end to end.  The harness image now carries the CLI
and runs it as a child process, so the distribution layout and launcher
manifest are covered too.

Signed-off-by: Mitch Gaffigan <mitch.gaffigan@comcast.net>
The unreachable-server test expected a ClientException in the output, which
the CLI now prints only with -d.  Assert the EX_UNAVAILABLE exit code and the
error message instead.

Signed-off-by: Mitch Gaffigan <mitch.gaffigan@comcast.net>
A failed statement prints a stack trace rather than an Error: line, and a
failed logout prints Error: before still reporting a disconnect, so neither
was caught.  Reject Exception and Error: in the output, and assert exit code
0 on the live-server tests.

Signed-off-by: Mitch Gaffigan <mitch.gaffigan@comcast.net>
@mgaffigan
mgaffigan merged commit a4a4183 into OpenIntegrationEngine:main Oct 6, 2026
11 checks passed
@mgaffigan
mgaffigan deleted the fix/command branch October 6, 2026 15:31
@tonygermano tonygermano added this to the Next Release milestone Oct 7, 2026
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.

4 participants