davinci_crd_test_kit 0.14.0 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/presets/{inferno_crd_server_suite.json.erb → client_against_inferno_crd_server_suite.json.erb} +0 -33
- data/config/presets/{ri_crd_request_generator.json.erb → client_against_ri_crd_request_generator.json.erb} +1 -14
- data/config/presets/client_v221_against_inferno_crd_server_suite.json.erb +84 -0
- data/config/presets/client_v221_against_ri_br_provider.json.erb +31 -0
- data/config/presets/{ri_crd_request_generator.json_v221.json.erb → client_v221_against_ri_crd_request_generator.json.erb} +1 -1
- data/config/presets/{inferno_crd_client_suite.json.erb → server_against_inferno_crd_client_suite.json.erb} +0 -43
- data/config/presets/{ri_crd_server.json.erb → server_against_ri_crd_server.json.erb} +1 -44
- data/config/presets/{inferno_crd_client_suite_v221.json.erb → server_v221_against_inferno_crd_client_suite.json.erb} +48 -45
- data/config/presets/{inferno_crd_client_suite_prefetch_subset_v221.json.erb → server_v221_against_inferno_crd_client_suite_prefetch_subset.json.erb} +0 -46
- data/config/presets/server_v221_against_inferno_g31_suite.json.erb +49 -0
- data/lib/davinci_crd_test_kit/client/cross_hook_helper.rb +26 -0
- data/lib/davinci_crd_test_kit/client/endpoints/custom_service_response.rb +7 -7
- data/lib/davinci_crd_test_kit/client/endpoints/gather_response_generation_data.rb +4 -1
- data/lib/davinci_crd_test_kit/client/endpoints/hook_request_endpoint.rb +70 -39
- data/lib/davinci_crd_test_kit/client/endpoints/mock_service_response.rb +26 -7
- data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/external_reference.json +1 -1
- data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/launch_smart_app.json +0 -7
- data/lib/davinci_crd_test_kit/client/endpoints/scenario_service_response.rb +54 -0
- data/lib/davinci_crd_test_kit/client/tagged_request_load_helper.rb +8 -27
- data/lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb +35 -23
- data/lib/davinci_crd_test_kit/client/v2.0.1/auth/token_payload_test.rb +34 -21
- data/lib/davinci_crd_test_kit/client/v2.0.1/cds-services-v201.json +20 -20
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_appointment_book_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_discharge_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_start_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_hooks_group.rb +5 -5
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_dispatch_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_select_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_sign_group.rb +12 -10
- data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_coverage_information.rb +3 -36
- data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_external_reference.rb +3 -36
- data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_instructions.rb +3 -36
- data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_fetched_data_test.rb +4 -13
- data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_prefetch_equals_queried_test.rb +3 -13
- data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/client_display_cards_attest.rb +3 -13
- data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/inferno_response_validation.rb +3 -13
- data/lib/davinci_crd_test_kit/client/v2.2.1/api/client_coverage_info_update_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/attestation_instructions.rb +10 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_authorized_scope_attestation_test.rb +45 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_coverage_based_invocation_attestation_test.rb +44 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_data_element_expectations_attestation_test.rb +44 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_hook_invocation_logging_attestation_test.rb +43 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_exposure_attestation_test.rb +43 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_use_attestation_test.rb +41 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_order_sign_support_attestation_test.rb +42 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_prefetch_key_omission_attestation_test.rb +42 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_resource_identifiers_attestation_test.rb +43 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_response_case_distinction_attestation_test.rb +43 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_security_and_privacy_attestation_test.rb +43 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_workflow_integration_attestation_test.rb +44 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/auth/decode_auth_token_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb +29 -18
- data/lib/davinci_crd_test_kit/client/v2.2.1/auth/token_payload_test.rb +35 -22
- data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-prefetch-subset-v221.json +47 -47
- data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-v221.json +50 -50
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_appointment_book_group.rb +24 -15
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_attestations_group.rb +49 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_group.rb +22 -6
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_interaction_group.rb +98 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_discharge_group.rb +19 -11
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_start_group.rb +19 -11
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_fhir_api_group.rb +14 -12
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_hooks_group.rb +25 -5
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_long_running_hook_group.rb +3 -2
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_dispatch_group.rb +23 -15
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_select_group.rb +19 -11
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_sign_group.rb +23 -15
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_registration_group.rb +6 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_scenarios_group.rb +26 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_self_pay_hook_group.rb +36 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_unknown_content_hook_group.rb +34 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/crd_client_suite.rb +24 -3
- data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_card_must_support_coverage_information_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_fhirpath_collection_as_comma_delimited_string_test.rb +4 -11
- data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_hook_instances_unique_test.rb +1 -9
- data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_location_address_propagation_test.rb +6 -2
- data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_prefetch_complete_and_subset_test.rb +3 -12
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/appointment_book_receive_request_test.rb +8 -89
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/base_hook_invocation_receive_request_test.rb +163 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/cross_hooks_receive_request_test.rb +97 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_discharge_receive_request_test.rb +8 -90
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_start_receive_request_test.rb +8 -90
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_dispatch_receive_request_test.rb +8 -98
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_select_receive_request_test.rb +8 -98
- data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_sign_receive_request_test.rb +8 -98
- data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_long_running_receive_request_test.rb +10 -2
- data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_skip_long_running_attestation_test.rb +11 -6
- data/lib/davinci_crd_test_kit/client/v2.2.1/registration/client_service_registration_attestation_test.rb +2 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_no_request_test.rb +30 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_workflow_test.rb +55 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb +99 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_receive_request_test.rb +62 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_conformance_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_coverage_verification_test.rb +10 -2
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_data_fetch_verification_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_granted_scopes_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_complete_test.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_profiles_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_requested_version_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_secured_transport_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/client_display_cards_attest.rb +54 -21
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/hook_response_support_coverage_information_test.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/inferno_response_validation.rb +6 -3
- data/lib/davinci_crd_test_kit/cross_suite/cards_identification.rb +18 -0
- data/lib/davinci_crd_test_kit/cross_suite/logical_models_override_helper.rb +30 -13
- data/lib/davinci_crd_test_kit/cross_suite/prefetch_completeness_checker.rb +25 -11
- data/lib/davinci_crd_test_kit/cross_suite/prefetch_profile_validation.rb +2 -0
- data/lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb +28 -28
- data/lib/davinci_crd_test_kit/cross_suite/response_logical_model_validation.rb +211 -43
- data/lib/davinci_crd_test_kit/cross_suite/tags.rb +7 -0
- data/lib/davinci_crd_test_kit/requirements/cds-hooks_3.0.0-ballot_requirements.xlsx +0 -0
- data/lib/davinci_crd_test_kit/requirements/davinci_crd_test_kit_requirements.csv +6 -2
- data/lib/davinci_crd_test_kit/requirements/generated/crd_client_requirements_coverage.csv +107 -107
- data/lib/davinci_crd_test_kit/requirements/generated/crd_client_v221_requirements_coverage.csv +101 -97
- data/lib/davinci_crd_test_kit/requirements/generated/crd_server_requirements_coverage.csv +18 -18
- data/lib/davinci_crd_test_kit/requirements/generated/crd_server_v221_requirements_coverage.csv +43 -39
- data/lib/davinci_crd_test_kit/requirements/hl7.fhir.us.davinci-crd_2.2.1_requirements.xlsx +0 -0
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook.rb +3 -3
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_no_special_requests.rb +17 -0
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_with_bad_auth.rb +14 -0
- data/lib/davinci_crd_test_kit/server/server_abstract_invoke_hook_test.rb +24 -6
- data/lib/davinci_crd_test_kit/server/server_hook_helper.rb +2 -2
- data/lib/davinci_crd_test_kit/server/v2.0.1/crd_server_suite.rb +1 -1
- data/lib/davinci_crd_test_kit/server/v2.0.1/server_hooks_group.rb +5 -5
- data/lib/davinci_crd_test_kit/server/v2.2.1/crd_server_suite.rb +3 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_standard_prefetch_expressions_test.rb +165 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_single_request_test.rb +22 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_appointment_book_group.rb +10 -102
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_demonstrate_hook_response_group.rb +3 -2
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_discovery_group.rb +2 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_discharge_group.rb +10 -97
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_start_group.rb +10 -97
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_hooks_group.rb +5 -5
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_dispatch_group.rb +10 -103
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_select_group.rb +12 -116
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_sign_group.rb +12 -121
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_response_group.rb +23 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb +108 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_not_found_group.rb +116 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_active_coverage_group.rb +115 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_member_found_group.rb +117 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_group.rb +121 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_invoke_test.rb +22 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_context_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_optional_fields_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_required_fields_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/additional_orders_validation_test.rb +78 -35
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_card_absence_test.rb +76 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_validation_test.rb +70 -124
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/create_or_update_coverage_info_response_validation_test.rb +83 -39
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/external_reference_card_validation_test.rb +59 -17
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/form_completion_response_validation_test.rb +80 -45
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/hook_request_resource_resolution.rb +37 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/instructions_card_received_test.rb +57 -6
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/launch_smart_app_card_validation_test.rb +56 -17
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/propose_alternate_request_card_validation_test.rb +52 -25
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/service_response_validation_test.rb +17 -51
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_cds_hooks_elements_test.rb +1 -1
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_configuration_test.rb +1 -1
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_context_test.rb +1 -1
- data/lib/davinci_crd_test_kit/version.rb +2 -2
- metadata +54 -16
- data/config/presets/inferno_crd_server_suite_v221.json.erb +0 -94
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/card_optional_fields_validation_test.rb +0 -57
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_received_test.rb +0 -65
data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/launch_smart_app_card_validation_test.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require_relative '../../server_test_helper'
|
|
2
2
|
require_relative '../../server_hook_helper'
|
|
3
3
|
require_relative '../../../cross_suite/cards_identification'
|
|
4
|
-
require_relative '../../../cross_suite/
|
|
4
|
+
require_relative '../../../cross_suite/response_logical_model_validation'
|
|
5
5
|
|
|
6
6
|
module DaVinciCRDTestKit
|
|
7
7
|
module V221
|
|
@@ -9,40 +9,79 @@ module DaVinciCRDTestKit
|
|
|
9
9
|
include DaVinciCRDTestKit::ServerTestHelper
|
|
10
10
|
include DaVinciCRDTestKit::ServerHookHelper
|
|
11
11
|
include DaVinciCRDTestKit::CardsIdentification
|
|
12
|
-
include DaVinciCRDTestKit::
|
|
12
|
+
include DaVinciCRDTestKit::ResponseLogicalModelValidation
|
|
13
13
|
|
|
14
14
|
title 'Launch SMART Application cards are valid'
|
|
15
15
|
id :crd_v221_launch_smart_app_card_validation
|
|
16
16
|
description %(
|
|
17
|
-
This test verifies the presence of valid Launch SMART Application cards
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
This test verifies the presence of valid Launch SMART Application cards
|
|
18
|
+
within the CRD service responses.
|
|
19
|
+
|
|
20
|
+
As per the [Da Vinci CRD Implementation
|
|
21
|
+
Guide](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#launch-smart-application-response-type),
|
|
22
|
+
Launch SMART Application cards must contain links with the type set to
|
|
23
|
+
`smart`. This test checks for the presence of any Launch SMART
|
|
24
|
+
Application cards by verifying:
|
|
22
25
|
- The existence of a `links` array within each card.
|
|
23
26
|
- That every link in the `links` array of a card is of type `smart`.
|
|
24
27
|
|
|
25
|
-
The test will be skipped if no Launch SMART Application cards are found
|
|
28
|
+
The test will be skipped if no Launch SMART Application cards are found
|
|
29
|
+
within the returned valid cards.
|
|
26
30
|
)
|
|
27
31
|
|
|
28
32
|
verifies_requirements 'hl7.fhir.us.davinci-crd_2.2.1@resp-72'
|
|
29
33
|
|
|
34
|
+
input :invoked_hook
|
|
35
|
+
|
|
30
36
|
optional
|
|
31
|
-
|
|
37
|
+
|
|
38
|
+
def body_has_no_cards?(body)
|
|
39
|
+
!body.is_a?(Hash) ||
|
|
40
|
+
body['cards'].blank? ||
|
|
41
|
+
!body['cards'].is_a?(Array) ||
|
|
42
|
+
!body['cards'].all?(Hash)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def launch_smart_app_cards(request)
|
|
46
|
+
return [] if request.status != 200
|
|
47
|
+
|
|
48
|
+
response_body = JSON.parse(request.response_body)
|
|
49
|
+
|
|
50
|
+
return [] if body_has_no_cards?(response_body)
|
|
51
|
+
|
|
52
|
+
response_body['cards'].select { |card| launch_smart_app_response_type? card }
|
|
53
|
+
rescue JSON::ParserError
|
|
54
|
+
[]
|
|
55
|
+
end
|
|
32
56
|
|
|
33
57
|
run do
|
|
34
|
-
|
|
35
|
-
|
|
58
|
+
load_tagged_requests(tested_hook_name)
|
|
59
|
+
|
|
60
|
+
launch_smart_app_count = 0
|
|
61
|
+
|
|
62
|
+
successful_requests = requests.select { |request| request.status == 200 }
|
|
36
63
|
|
|
37
|
-
skip_if
|
|
38
|
-
|
|
64
|
+
skip_if successful_requests.blank?,
|
|
65
|
+
'No successful hook responses were received'
|
|
39
66
|
|
|
40
|
-
|
|
41
|
-
|
|
67
|
+
requests.each_with_index do |request, index|
|
|
68
|
+
cards = launch_smart_app_cards(request)
|
|
69
|
+
|
|
70
|
+
launch_smart_app_count += cards.length
|
|
71
|
+
|
|
72
|
+
perform_response_logical_model_validation(
|
|
73
|
+
cards,
|
|
74
|
+
nil,
|
|
75
|
+
request.request_body,
|
|
76
|
+
index,
|
|
77
|
+
'2.2.1'
|
|
78
|
+
)
|
|
42
79
|
end
|
|
43
80
|
|
|
44
|
-
|
|
45
|
-
|
|
81
|
+
skip_if launch_smart_app_count.zero?,
|
|
82
|
+
"#{tested_hook_name} hook responses do not contain any Launch SMART App cards."
|
|
83
|
+
|
|
84
|
+
no_error_validation('Not all Launch SMART App cards were valid. See messages for more information.')
|
|
46
85
|
end
|
|
47
86
|
end
|
|
48
87
|
end
|
|
@@ -1,53 +1,80 @@
|
|
|
1
1
|
require_relative '../../server_test_helper'
|
|
2
|
-
require_relative '../../../cross_suite/suggestion_actions_validation'
|
|
3
2
|
require_relative '../../server_hook_helper'
|
|
4
3
|
require_relative '../../../cross_suite/cards_identification'
|
|
5
|
-
require_relative '../../../cross_suite/
|
|
4
|
+
require_relative '../../../cross_suite/response_logical_model_validation'
|
|
6
5
|
|
|
7
6
|
module DaVinciCRDTestKit
|
|
8
7
|
module V221
|
|
9
8
|
class ProposeAlternateRequestCardValidationTest < Inferno::Test
|
|
10
9
|
include DaVinciCRDTestKit::ServerTestHelper
|
|
11
|
-
include DaVinciCRDTestKit::SuggestionActionsValidation
|
|
12
10
|
include DaVinciCRDTestKit::ServerHookHelper
|
|
13
11
|
include DaVinciCRDTestKit::CardsIdentification
|
|
14
|
-
include DaVinciCRDTestKit::
|
|
12
|
+
include DaVinciCRDTestKit::ResponseLogicalModelValidation
|
|
15
13
|
|
|
16
14
|
title 'Propose Alternate Request cards are valid'
|
|
17
15
|
id :crd_v221_propose_alternate_request_card_validation
|
|
18
|
-
description %(
|
|
19
|
-
|
|
20
|
-
cards received are valid. It checks for the presence of a card's
|
|
21
|
-
with a single action with `Action.type` of `update` or a card
|
|
22
|
-
two actions, one with `Action.type` of `delete` and the
|
|
23
|
-
`Action.type` of `create`.
|
|
16
|
+
description %( This test validates that all [Propose Alternate
|
|
17
|
+
Request](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#propose-alternate-request-response-type)
|
|
18
|
+
cards received are valid. It checks for the presence of a card's
|
|
19
|
+
suggestion with a single action with `Action.type` of `update` or a card
|
|
20
|
+
with at least two actions, one with `Action.type` of `delete` and the
|
|
21
|
+
other with `Action.type` of `create`.
|
|
24
22
|
)
|
|
25
23
|
optional
|
|
26
24
|
|
|
27
|
-
verifies_requirements 'hl7.fhir.us.davinci-crd_2.2.1@resp-
|
|
25
|
+
verifies_requirements 'hl7.fhir.us.davinci-crd_2.2.1@resp-3',
|
|
26
|
+
'hl7.fhir.us.davinci-crd_2.2.1@resp-55',
|
|
28
27
|
'hl7.fhir.us.davinci-crd_2.2.1@resp-56'
|
|
29
28
|
|
|
30
|
-
input :
|
|
29
|
+
input :invoked_hook
|
|
30
|
+
|
|
31
|
+
def body_has_no_cards?(body)
|
|
32
|
+
!body.is_a?(Hash) ||
|
|
33
|
+
body['cards'].blank? ||
|
|
34
|
+
!body['cards'].is_a?(Array) ||
|
|
35
|
+
!body['cards'].all?(Hash)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def alternate_request_cards(request)
|
|
39
|
+
return [] if request.status != 200
|
|
40
|
+
|
|
41
|
+
response_body = JSON.parse(request.response_body)
|
|
42
|
+
|
|
43
|
+
return [] if body_has_no_cards?(response_body)
|
|
44
|
+
|
|
45
|
+
response_body['cards'].select { |card| propose_alternative_request_response_type? card }
|
|
46
|
+
rescue JSON::ParserError
|
|
47
|
+
[]
|
|
48
|
+
end
|
|
31
49
|
|
|
32
50
|
run do
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
propose_alternative_request_response_type?(card)
|
|
37
|
-
end
|
|
51
|
+
load_tagged_requests(tested_hook_name)
|
|
52
|
+
|
|
53
|
+
alternate_request_count = 0
|
|
38
54
|
|
|
39
|
-
|
|
40
|
-
"#{tested_hook_name} hook response does not contain a Propose Alternate Request card."
|
|
55
|
+
successful_requests = requests.select { |request| request.status == 200 }
|
|
41
56
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
actions_check(suggestion['actions'], parsed_contexts, ig_version: 'v221')
|
|
45
|
-
end
|
|
57
|
+
skip_if successful_requests.blank?,
|
|
58
|
+
'No successful hook responses were received'
|
|
46
59
|
|
|
47
|
-
|
|
60
|
+
requests.each_with_index do |request, index|
|
|
61
|
+
cards = alternate_request_cards(request)
|
|
62
|
+
|
|
63
|
+
alternate_request_count += cards.length
|
|
64
|
+
|
|
65
|
+
perform_response_logical_model_validation(
|
|
66
|
+
cards,
|
|
67
|
+
nil,
|
|
68
|
+
request.request_body,
|
|
69
|
+
index,
|
|
70
|
+
'2.2.1'
|
|
71
|
+
)
|
|
48
72
|
end
|
|
49
73
|
|
|
50
|
-
|
|
74
|
+
skip_if alternate_request_count.zero?,
|
|
75
|
+
"#{tested_hook_name} hook responses do not contain any Propose Alternate Request cards."
|
|
76
|
+
|
|
77
|
+
no_error_validation('Not all Propose Alternate Request cards were valid. See messages for more information')
|
|
51
78
|
end
|
|
52
79
|
end
|
|
53
80
|
end
|
data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/service_response_validation_test.rb
CHANGED
|
@@ -12,83 +12,49 @@ module DaVinciCRDTestKit
|
|
|
12
12
|
title 'Service responses contain valid cards and systemActions'
|
|
13
13
|
id :crd_v221_service_response_validation
|
|
14
14
|
description %(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
successful server's response to a service request must be a JSON object
|
|
18
|
-
containing a `cards` array and optionally a `systemActions` array.
|
|
15
|
+
This test validates the responses against the [CRD v2.2.1 logical
|
|
16
|
+
models](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/artifacts.html#4).
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
This test implements [corrections to errors in the logical
|
|
19
|
+
models](https://github.com/inferno-framework/davinci-crd-test-kit/wiki/Logical-Model-Validation-Changes).
|
|
22
20
|
)
|
|
23
21
|
|
|
24
22
|
verifies_requirements 'hl7.fhir.us.davinci-crd_2.2.1@resp-4',
|
|
25
23
|
'hl7.fhir.us.davinci-crd_2.2.1@resp-5',
|
|
26
|
-
'hl7.fhir.us.davinci-crd_2.2.1@resp-13'
|
|
27
|
-
'hl7.fhir.us.davinci-crd_2.2.1@resp-22',
|
|
28
|
-
'hl7.fhir.us.davinci-crd_2.2.1@resp-24',
|
|
29
|
-
'hl7.fhir.us.davinci-crd_2.2.1@resp-56'
|
|
24
|
+
'hl7.fhir.us.davinci-crd_2.2.1@resp-13'
|
|
30
25
|
|
|
31
26
|
input :invoked_hook
|
|
32
|
-
output :valid_cards, :valid_system_actions
|
|
33
|
-
|
|
34
|
-
SYSTEM_ACTIONS_HOOK_NAMES = ['appointment-book', 'order-sign', 'order-dispatch'].freeze
|
|
35
|
-
|
|
36
|
-
def valid_cards
|
|
37
|
-
@valid_cards ||= []
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def valid_system_actions
|
|
41
|
-
@valid_system_actions ||= []
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def system_actions_check(system_actions)
|
|
45
|
-
system_actions.each do |action|
|
|
46
|
-
current_error_count = messages.count { |msg| msg[:type] == 'error' }
|
|
47
|
-
action_fields_validation(action, ig_version: 'v221')
|
|
48
|
-
valid_system_actions << action if current_error_count == messages.count { |msg| msg[:type] == 'error' }
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def perform_system_actions_validation(system_actions, response_index)
|
|
53
|
-
if SYSTEM_ACTIONS_HOOK_NAMES.include?(invoked_hook) && system_actions.nil?
|
|
54
|
-
msg = "Server response #{response_index + 1} did not have the `systemActions` field, " \
|
|
55
|
-
"which must be present for the `#{invoked_hook}` hook."
|
|
56
|
-
add_message('error', msg)
|
|
57
|
-
end
|
|
58
|
-
return if system_actions.nil?
|
|
59
|
-
|
|
60
|
-
unless system_actions.is_a?(Array)
|
|
61
|
-
add_message('error', "`systemActions` of server response #{response_index + 1} is not an array.")
|
|
62
|
-
return
|
|
63
|
-
end
|
|
64
|
-
system_actions_check(system_actions)
|
|
65
|
-
end
|
|
66
27
|
|
|
67
28
|
run do
|
|
68
29
|
load_tagged_requests(tested_hook_name)
|
|
30
|
+
|
|
69
31
|
skip_if requests.blank?, "No #{tested_hook_name} request was made in a previous test as expected."
|
|
32
|
+
|
|
70
33
|
successful_requests = requests.select { |request| request.status == 200 }
|
|
34
|
+
|
|
71
35
|
skip_if successful_requests.empty?, 'All service requests were unsuccessful.'
|
|
72
36
|
|
|
73
37
|
info do
|
|
74
38
|
unsuccessful_count = (requests - successful_requests).length
|
|
39
|
+
|
|
75
40
|
assert unsuccessful_count.zero?, "#{unsuccessful_count} out of #{requests.length} requests were unsuccessful"
|
|
76
41
|
end
|
|
77
42
|
|
|
78
43
|
successful_requests.each_with_index do |request, index|
|
|
79
44
|
service_response = JSON.parse(request.response_body)
|
|
80
|
-
perform_cards_validation(service_response['cards'], service_response['systemActions'].present?, 'v221', index)
|
|
81
45
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
46
|
+
conforms_to_logical_model?(
|
|
47
|
+
service_response,
|
|
48
|
+
'http://hl7.org/fhir/us/davinci-crd/StructureDefinition/CRDHooksResponseBase|2.2.1',
|
|
49
|
+
message_prefix: "Request #{index}: "
|
|
50
|
+
)
|
|
86
51
|
rescue JSON::ParserError
|
|
87
52
|
add_message('error', "Invalid JSON: server response #{index + 1} is not valid JSON.")
|
|
88
53
|
end
|
|
89
54
|
|
|
90
|
-
|
|
91
|
-
|
|
55
|
+
messages.reject! do |message|
|
|
56
|
+
message[:type] == 'error' && message[:message].end_with?('Resource requires an id, but none is present')
|
|
57
|
+
end
|
|
92
58
|
|
|
93
59
|
no_error_validation('Some service responses are not valid. Check messages for issues found.')
|
|
94
60
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: davinci_crd_test_kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.14.
|
|
4
|
+
version: 0.14.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Inferno Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: inferno_core
|
|
@@ -16,20 +16,20 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.4'
|
|
20
20
|
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.3
|
|
22
|
+
version: 1.4.3
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1.
|
|
29
|
+
version: '1.4'
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 1.3
|
|
32
|
+
version: 1.4.3
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: jwt
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -99,18 +99,21 @@ extensions: []
|
|
|
99
99
|
extra_rdoc_files: []
|
|
100
100
|
files:
|
|
101
101
|
- LICENSE
|
|
102
|
-
- config/presets/
|
|
103
|
-
- config/presets/
|
|
104
|
-
- config/presets/
|
|
105
|
-
- config/presets/
|
|
106
|
-
- config/presets/
|
|
107
|
-
- config/presets/
|
|
108
|
-
- config/presets/
|
|
109
|
-
- config/presets/
|
|
102
|
+
- config/presets/client_against_inferno_crd_server_suite.json.erb
|
|
103
|
+
- config/presets/client_against_ri_crd_request_generator.json.erb
|
|
104
|
+
- config/presets/client_v221_against_inferno_crd_server_suite.json.erb
|
|
105
|
+
- config/presets/client_v221_against_ri_br_provider.json.erb
|
|
106
|
+
- config/presets/client_v221_against_ri_crd_request_generator.json.erb
|
|
107
|
+
- config/presets/server_against_inferno_crd_client_suite.json.erb
|
|
108
|
+
- config/presets/server_against_ri_crd_server.json.erb
|
|
109
|
+
- config/presets/server_v221_against_inferno_crd_client_suite.json.erb
|
|
110
|
+
- config/presets/server_v221_against_inferno_crd_client_suite_prefetch_subset.json.erb
|
|
111
|
+
- config/presets/server_v221_against_inferno_g31_suite.json.erb
|
|
110
112
|
- lib/davinci_crd_test_kit.rb
|
|
111
113
|
- lib/davinci_crd_test_kit/client/client_base_urls.rb
|
|
112
114
|
- lib/davinci_crd_test_kit/client/client_hook_request_validation.rb
|
|
113
115
|
- lib/davinci_crd_test_kit/client/crd_client_options.rb
|
|
116
|
+
- lib/davinci_crd_test_kit/client/cross_hook_helper.rb
|
|
114
117
|
- lib/davinci_crd_test_kit/client/endpoints/cds_services_discovery_handler.rb
|
|
115
118
|
- lib/davinci_crd_test_kit/client/endpoints/custom_service_response.rb
|
|
116
119
|
- lib/davinci_crd_test_kit/client/endpoints/gather_response_generation_data.rb
|
|
@@ -123,6 +126,7 @@ files:
|
|
|
123
126
|
- lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/launch_smart_app.json
|
|
124
127
|
- lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/propose_alternate_request.json
|
|
125
128
|
- lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/request_form_completion.json
|
|
129
|
+
- lib/davinci_crd_test_kit/client/endpoints/scenario_service_response.rb
|
|
126
130
|
- lib/davinci_crd_test_kit/client/multi_request_message_helper.rb
|
|
127
131
|
- lib/davinci_crd_test_kit/client/tagged_request_load_helper.rb
|
|
128
132
|
- lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_create_test.rb
|
|
@@ -168,6 +172,19 @@ files:
|
|
|
168
172
|
- lib/davinci_crd_test_kit/client/v2.0.1/verify_response/inferno_response_validation.rb
|
|
169
173
|
- lib/davinci_crd_test_kit/client/v2.2.1/api/client_coverage_info_update_test.rb
|
|
170
174
|
- lib/davinci_crd_test_kit/client/v2.2.1/api/client_crd_update_verification_group.rb
|
|
175
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/attestation_instructions.rb
|
|
176
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_authorized_scope_attestation_test.rb
|
|
177
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_coverage_based_invocation_attestation_test.rb
|
|
178
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_data_element_expectations_attestation_test.rb
|
|
179
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_hook_invocation_logging_attestation_test.rb
|
|
180
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_exposure_attestation_test.rb
|
|
181
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_use_attestation_test.rb
|
|
182
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_order_sign_support_attestation_test.rb
|
|
183
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_prefetch_key_omission_attestation_test.rb
|
|
184
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_resource_identifiers_attestation_test.rb
|
|
185
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_response_case_distinction_attestation_test.rb
|
|
186
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_security_and_privacy_attestation_test.rb
|
|
187
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_workflow_integration_attestation_test.rb
|
|
171
188
|
- lib/davinci_crd_test_kit/client/v2.2.1/auth/decode_auth_token_test.rb
|
|
172
189
|
- lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb
|
|
173
190
|
- lib/davinci_crd_test_kit/client/v2.2.1/auth/token_header_test.rb
|
|
@@ -175,7 +192,9 @@ files:
|
|
|
175
192
|
- lib/davinci_crd_test_kit/client/v2.2.1/cds-services-prefetch-subset-v221.json
|
|
176
193
|
- lib/davinci_crd_test_kit/client/v2.2.1/cds-services-v221.json
|
|
177
194
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_appointment_book_group.rb
|
|
195
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/client_attestations_group.rb
|
|
178
196
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_group.rb
|
|
197
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_interaction_group.rb
|
|
179
198
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_discharge_group.rb
|
|
180
199
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_start_group.rb
|
|
181
200
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_fhir_api_group.rb
|
|
@@ -185,6 +204,9 @@ files:
|
|
|
185
204
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_order_select_group.rb
|
|
186
205
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_order_sign_group.rb
|
|
187
206
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_registration_group.rb
|
|
207
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/client_scenarios_group.rb
|
|
208
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/client_self_pay_hook_group.rb
|
|
209
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/client_unknown_content_hook_group.rb
|
|
188
210
|
- lib/davinci_crd_test_kit/client/v2.2.1/client_urls.rb
|
|
189
211
|
- lib/davinci_crd_test_kit/client/v2.2.1/crd_client_suite.rb
|
|
190
212
|
- lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_card_must_support_coverage_information_test.rb
|
|
@@ -193,6 +215,8 @@ files:
|
|
|
193
215
|
- lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_location_address_propagation_test.rb
|
|
194
216
|
- lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_prefetch_complete_and_subset_test.rb
|
|
195
217
|
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/appointment_book_receive_request_test.rb
|
|
218
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/base_hook_invocation_receive_request_test.rb
|
|
219
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/cross_hooks_receive_request_test.rb
|
|
196
220
|
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_discharge_receive_request_test.rb
|
|
197
221
|
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_start_receive_request_test.rb
|
|
198
222
|
- lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_dispatch_receive_request_test.rb
|
|
@@ -202,6 +226,10 @@ files:
|
|
|
202
226
|
- lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_skip_long_running_attestation_test.rb
|
|
203
227
|
- lib/davinci_crd_test_kit/client/v2.2.1/registration/client_registration_verification_test.rb
|
|
204
228
|
- lib/davinci_crd_test_kit/client/v2.2.1/registration/client_service_registration_attestation_test.rb
|
|
229
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_no_request_test.rb
|
|
230
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_workflow_test.rb
|
|
231
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb
|
|
232
|
+
- lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_receive_request_test.rb
|
|
205
233
|
- lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_conformance_test.rb
|
|
206
234
|
- lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_coverage_verification_test.rb
|
|
207
235
|
- lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_data_fetch_verification_test.rb
|
|
@@ -256,6 +284,8 @@ files:
|
|
|
256
284
|
- lib/davinci_crd_test_kit/server/endpoints/mock_ehr/stress-test-Bundle.json
|
|
257
285
|
- lib/davinci_crd_test_kit/server/endpoints/mock_ehr_endpoints.rb
|
|
258
286
|
- lib/davinci_crd_test_kit/server/jobs/invoke_hook.rb
|
|
287
|
+
- lib/davinci_crd_test_kit/server/jobs/invoke_hook_no_special_requests.rb
|
|
288
|
+
- lib/davinci_crd_test_kit/server/jobs/invoke_hook_with_bad_auth.rb
|
|
259
289
|
- lib/davinci_crd_test_kit/server/jwt_helper.rb
|
|
260
290
|
- lib/davinci_crd_test_kit/server/resource_extractor.rb
|
|
261
291
|
- lib/davinci_crd_test_kit/server/server_abstract_invoke_hook_test.rb
|
|
@@ -332,6 +362,8 @@ files:
|
|
|
332
362
|
- lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_endpoint_test.rb
|
|
333
363
|
- lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_prefetch_support_test.rb
|
|
334
364
|
- lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_services_validation_test.rb
|
|
365
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_standard_prefetch_expressions_test.rb
|
|
366
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_single_request_test.rb
|
|
335
367
|
- lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_test.rb
|
|
336
368
|
- lib/davinci_crd_test_kit/server/v2.2.1/must_support/coverage_information_must_support_test.rb
|
|
337
369
|
- lib/davinci_crd_test_kit/server/v2.2.1/must_support/coverage_information_system_action_across_hooks_validation_test.rb
|
|
@@ -347,15 +379,21 @@ files:
|
|
|
347
379
|
- lib/davinci_crd_test_kit/server/v2.2.1/server_order_sign_group.rb
|
|
348
380
|
- lib/davinci_crd_test_kit/server/v2.2.1/server_required_card_response_validation_group.rb
|
|
349
381
|
- lib/davinci_crd_test_kit/server/v2.2.1/server_urls.rb
|
|
382
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_response_group.rb
|
|
383
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb
|
|
384
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_not_found_group.rb
|
|
385
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_active_coverage_group.rb
|
|
386
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_member_found_group.rb
|
|
387
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_group.rb
|
|
388
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_invoke_test.rb
|
|
350
389
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_context_validation_test.rb
|
|
351
390
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_no_custom_extensions_test.rb
|
|
352
391
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_optional_fields_validation_test.rb
|
|
353
392
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_required_fields_validation_test.rb
|
|
354
393
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/additional_orders_validation_test.rb
|
|
355
394
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/all_responses_include_coverage_information_test.rb
|
|
356
|
-
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/card_optional_fields_validation_test.rb
|
|
357
395
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_info_configuration_test.rb
|
|
358
|
-
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/
|
|
396
|
+
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_card_absence_test.rb
|
|
359
397
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_validation_test.rb
|
|
360
398
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/create_or_update_coverage_info_response_validation_test.rb
|
|
361
399
|
- lib/davinci_crd_test_kit/server/v2.2.1/verify_response/external_reference_card_validation_test.rb
|