ID-165: Error handling and cleanup for must support response selection - #84
Merged
karlnaden merged 3 commits intoSep 4, 2026
Conversation
abhinandan2012
marked this pull request as draft
August 31, 2026 14:07
abhinandan2012
marked this pull request as ready for review
September 3, 2026 09:26
…e review feedback
abhinandan2012
force-pushed
the
ID-165-response-selection-cleanup
branch
from
September 3, 2026 09:31
1d7765a to
c73cb19
Compare
karlnaden
requested changes
Sep 3, 2026
karlnaden
left a comment
Contributor
There was a problem hiding this comment.
I think we want to report errors in the test if possible, not to the console log which the tester won't have access to. Since this is a tester issue in a specific session, it won't be helpful to Inferno maintainers with access to these logs.
karlnaden
requested changes
Sep 3, 2026
… response selection inputs and FHIRPath failures
karlnaden
requested changes
Sep 4, 2026
karlnaden
left a comment
Contributor
There was a problem hiding this comment.
several minor language tweaks
… instead of internal keys
karlnaden
approved these changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up cleanup for the criteria-based response selection introduced in #79, addressing code review feedback. The selection semantics are unchanged; these changes harden error handling so that tester input or environment problems produce a logged default response instead of an HTTP 500 to the client under test, and clean up a few internals:
requestRange(for example"1-2,a"or"3-2") no longer raises. It is logged and treated as unmet, so the entry is skipped and later entries are still considered..../Claim/$submit?param=valueare tagged, counted, and matched correctly.bundlekey), the reason and offending entry number are logged instead of silently falling back to default responses.requestRangecriterion, removing redundant repository queries.rescuein token replacement and skipped the FHIR round trip when the selected bundle contains no tokens.ms_submit_responses/ms_inquire_responsesinput descriptions are now generated from a single shared helper inclient_input_descriptions.rbso the documentation cannot drift between the two inputs.How to test
Run the suites against each other following
docs/Running-Suites-Against-Each-Other.md:client suite session (Da Vinci PAS Client Suite v2.2.1, Other Authentication, preset
"Run Against the PAS Server Suite") in one tab, server suite session (preset
"Run Against the PAS Client Suite") in another.
Regression: existing behavior unchanged
10 Must Support Elements(
pas_client_v221_must_support_no_auth) and leave test10.1.01(
pas_client_v221_gather_must_support) waiting.3.1 $submit Element Supportand3.2 $inquire Element Support.10.1.01wait dialogand complete the attestations.
Expected: the group passes as before, including
10.2.01(
pas_client_v221_request_bundle_validation_test) and10.2.02(
pas_client_v221_response_bundle_validation_test).Error handling scenarios
Run group
10 Must Support Elementswith theMust Support $submit Response Bundlesinput set to a list whose first entry is a wrapper with an invalid range and whose
second entry is a plain Bundle:
Send a
$submitrequest to the endpoint shown in the10.1.01wait dialog. Expected:HTTP 200 with bundle B returned (the invalid entry is skipped), and the server log
contains "Ignoring unmatchable requestRange criteria".
With the FHIRPath service stopped (
docker stop <fhirpath container>), provide anentry with a
fhirpathcriterion and send a request. Expected: HTTP 200 with agenerated default response and a logged warning, rather than an HTTP 500.
Send a
$submitrequest with a query string appended to the endpoint URL(for example
...$submit?param=value). Expected: the tester-provided bundle is stillreturned and the request is counted normally.
Provide input that is not valid JSON, or a wrapper entry missing its
bundlekey.Expected: default responses, with a log line naming the input and the offending entry.
Where to verify results
10.2.01: the REQUESTS tab lists the received$submitrequests; open DETAILSon a request and expand Response Body to see which bundle was returned.
("Selected tester-provided response bundle N of M...") and the new warnings for
invalid ranges, unusable inputs, and FHIRPath service failures.
10 Must Support Elementsshows the (now shared) inputdocumentation on both response inputs.