davinci_pas_test_kit 0.15.1 → 0.16.0
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/g33_br_provider.json +13 -0
- data/config/presets/pas_client_example.json +2 -2
- data/config/presets/pas_client_v201_run_against_pas_server.json +2 -2
- data/config/presets/pas_client_v221_run_against_pas_server.json +3 -3
- data/config/presets/pas_ri.json +6 -6
- data/config/presets/pas_server_v201_run_against_pas_client.json.erb +6 -6
- data/config/presets/pas_server_v221_run_against_pas_client.json.erb +10 -10
- data/lib/davinci_pas_test_kit/client/abstract_approval_submit_test.rb +28 -17
- data/lib/davinci_pas_test_kit/client/abstract_denial_submit_test.rb +26 -16
- data/lib/davinci_pas_test_kit/client/abstract_gather_must_support_test.rb +45 -74
- data/lib/davinci_pas_test_kit/client/abstract_modification_submit_test.rb +29 -19
- data/lib/davinci_pas_test_kit/client/abstract_response_attest.rb +75 -6
- data/lib/davinci_pas_test_kit/client/abstract_subscription_create_test.rb +26 -9
- data/lib/davinci_pas_test_kit/client/abstract_subscription_update_delete_test.rb +91 -0
- data/lib/davinci_pas_test_kit/client/client_bundle_validation_helper.rb +245 -0
- data/lib/davinci_pas_test_kit/client/client_input_descriptions.rb +96 -1
- data/lib/davinci_pas_test_kit/client/endpoints/claim_endpoint.rb +128 -72
- data/lib/davinci_pas_test_kit/client/endpoints/endpoint_session_identification.rb +24 -0
- data/lib/davinci_pas_test_kit/client/endpoints/expired_token.rb +40 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_create_endpoint.rb +7 -12
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_delete_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_read_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_status_endpoint.rb +15 -20
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_update_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/token_endpoint.rb +16 -0
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_inquire_request_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_submit_request_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claim_update/client_submit_request_must_support_claim_update_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/communication_request/client_submit_response_must_support_communication_request_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_inquire_request_must_support_coverage_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_submit_request_must_support_coverage_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/encounter/client_submit_request_must_support_encounter_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_request_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_response_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_request_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_response_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_must_support_group.rb +1 -1
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_response_must_support_group.rb +9 -31
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_must_support_group.rb +1 -1
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_response_must_support_group.rb +10 -32
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_request_bundle/client_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_request_bundle/client_submit_request_must_support_pas_request_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_request_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_request_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_response_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_request_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_request_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_request_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_response_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_request_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_response_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/subscriber/client_inquire_request_must_support_subscriber_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/subscriber/client_submit_request_must_support_subscriber_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_update/client_submit_request_must_support_claim_update_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/communication_request/client_submit_response_must_support_communication_request_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_inquire_response_must_support_insurer_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_submit_response_must_support_insurer_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_must_support_group.rb +8 -6
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_response_must_support_group.rb +9 -31
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_must_support_group.rb +13 -9
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_response_must_support_group.rb +10 -32
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_submit_response_must_support_practitioner_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_inquire_response_must_support_requestor_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_submit_response_must_support_requestor_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/jobs/send_pas_subscription_notification.rb +64 -3
- data/lib/davinci_pas_test_kit/client/pas_client_subscription_pas_conformance_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_other_display_test.rb +6 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_smart_display_test.rb +8 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_udap_display_test.rb +9 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_other_auth_attest_test.rb +5 -4
- data/lib/davinci_pas_test_kit/client/request_count_gating.rb +14 -0
- data/lib/davinci_pas_test_kit/client/response_generator.rb +50 -9
- data/lib/davinci_pas_test_kit/client/session_identification.rb +26 -7
- data/lib/davinci_pas_test_kit/client/subscription_notification_trigger.rb +80 -0
- data/lib/davinci_pas_test_kit/client/subscription_setup_requirement.rb +59 -0
- data/lib/davinci_pas_test_kit/client/user_input_response.rb +50 -10
- data/lib/davinci_pas_test_kit/client/v2.0.1/client_suite.rb +30 -15
- data/lib/davinci_pas_test_kit/client/v2.0.1/must_support/pas_client_must_support_request_profiles_test.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_approval_group.rb +8 -7
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_auth_smart_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_auth_udap_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_denial_group.rb +8 -7
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_must_support_group.rb +38 -52
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_pended_group.rb +28 -22
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_registration_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_subscription_setup_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_workflows_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_inquire_request_bundle_validation_test.rb +15 -21
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_inquire_response_bundle_validation_test.rb +29 -29
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_pended_submit_test.rb +49 -40
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_request_bundle_validation_test.rb +15 -21
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_response_bundle_validation_test.rb +29 -29
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/attestation_instructions.rb +10 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_data_element_expectations_attestation_test.rb +44 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_provider_review_attestation_test.rb +45 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_security_attestation_test.rb +42 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_subscription_error_recovery_attestation_test.rb +42 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/client_suite.rb +64 -12
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_failure_submit_test.rb +20 -10
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_outcome_validation_test.rb +11 -5
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_response_validation_test.rb +21 -12
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_submit_test.rb +19 -8
- data/lib/davinci_pas_test_kit/client/v2.2.1/must_support/must_support_with_attestation_option.rb +90 -40
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_approval_group.rb +12 -11
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_attestations_group.rb +32 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_smart_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_udap_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_claim_updates_group.rb +24 -6
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_denial_group.rb +12 -10
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_modification_group.rb +13 -14
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_must_support_group.rb +55 -59
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_operation_failure_group.rb +8 -5
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_pended_group.rb +53 -41
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_processing_error_group.rb +9 -7
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_registration_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_subscription_setup_group.rb +9 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_subscription_update_delete_group.rb +57 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_workflows_group.rb +22 -2
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_create_test.rb +2 -1
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_put_update_pas_conformance_test.rb +49 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_update_delete_test.rb +12 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_referenced_resources_test.rb +5 -6
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb +82 -56
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_request_bundle_validation_test.rb +17 -20
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_response_bundle_validation_test.rb +59 -27
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_modification_verification_test.rb +0 -3
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_pended_send_notification_test.rb +138 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_pended_submit_test.rb +32 -85
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_request_bundle_validation_test.rb +16 -21
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_response_bundle_validation_test.rb +27 -27
- data/lib/davinci_pas_test_kit/cross_suite/fhirpath_utils.rb +13 -3
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/beneficiary/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_inquiry/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_update/metadata.yml +17 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claiminquiryresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claimresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/metadata.yml +143 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/subscriber/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/task/metadata.yml +1 -4
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/beneficiary/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_inquiry/metadata.yml +23 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_update/metadata.yml +31 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claiminquiryresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claimresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/metadata.yml +265 -1
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/subscriber/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/task/metadata.yml +4 -4
- data/lib/davinci_pas_test_kit/cross_suite/pas_bundle_validation.rb +570 -312
- data/lib/davinci_pas_test_kit/cross_suite/pas_constants.rb +13 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_datatype_constraints.rb +166 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_subscription_verification.rb +8 -4
- data/lib/davinci_pas_test_kit/cross_suite/referenced_resource_presence_validation.rb +141 -0
- data/lib/davinci_pas_test_kit/cross_suite/response_selection_utils.rb +39 -21
- data/lib/davinci_pas_test_kit/cross_suite/tags.rb +11 -6
- data/lib/davinci_pas_test_kit/cross_suite/validator_configuration.rb +16 -0
- data/lib/davinci_pas_test_kit/cross_suite/validator_suppressions.rb +210 -146
- data/lib/davinci_pas_test_kit/docs/demo/PAS Client Suite Demonstration.postman_collection.json +7 -7
- data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +1 -0
- data/lib/davinci_pas_test_kit/generator/client_must_support_group_generator.rb +47 -16
- data/lib/davinci_pas_test_kit/generator/must_support_target_profiles.rb +17 -0
- data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +14 -2
- data/lib/davinci_pas_test_kit/generator/pas_must_support_metadata_extractor.rb +1 -2
- data/lib/davinci_pas_test_kit/generator/profile_metadata.rb +1 -1
- data/lib/davinci_pas_test_kit/generator/server_must_support_group_generator.rb +23 -0
- data/lib/davinci_pas_test_kit/generator/server_suite_generator.rb +8 -7
- data/lib/davinci_pas_test_kit/generator/templates/client_must_support_group.rb.erb +22 -3
- data/lib/davinci_pas_test_kit/generator/templates/client_must_support_response_group.rb.erb +7 -16
- data/lib/davinci_pas_test_kit/generator/templates/must_support.rb.erb +11 -10
- data/lib/davinci_pas_test_kit/generator/templates/server_must_support_group.rb.erb +22 -0
- data/lib/davinci_pas_test_kit/generator/templates/server_suite.rb.erb +9 -11
- data/lib/davinci_pas_test_kit/generator/templates/use_case_group.rb.erb +3 -0
- data/lib/davinci_pas_test_kit/generator/use_case_group_generator.rb +19 -13
- data/lib/davinci_pas_test_kit/parameters_helper.rb +13 -5
- data/lib/davinci_pas_test_kit/pas_notification_conformance_test.rb +2 -2
- data/lib/davinci_pas_test_kit/requirements/davinci_pas_test_kit_requirements.csv +14 -7
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v201_requirements_coverage.csv +21 -21
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v221_requirements_coverage.csv +30 -26
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v221_requirements_coverage.csv +39 -33
- data/lib/davinci_pas_test_kit/requirements/hl7.fhir.us.davinci-pas_2.2.1_requirements.xlsx +0 -0
- data/lib/davinci_pas_test_kit/server/claim_operation_logic.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claim_update/server_submit_request_must_support_claim_update_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/communication_request/server_submit_response_must_support_communication_request_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_inquire_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_submit_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/encounter/server_submit_request_must_support_encounter_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_approval_use_case_group.rb +4 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_denial_use_case_group.rb +4 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_pended_use_case_group.rb +7 -6
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_inquire_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_inquire_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_submit_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_submit_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/server_suite.rb +9 -11
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/subscriber/server_inquire_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/subscriber/server_submit_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_inquire_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_submit_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_update/server_submit_request_must_support_claim_update_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +3 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +3 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/communication_request/server_submit_response_must_support_communication_request_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_inquire_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_submit_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/encounter/server_submit_request_must_support_encounter_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_approval_use_case_group.rb +5 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_denial_use_case_group.rb +5 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_must_support_group.rb +12 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_pended_use_case_group.rb +9 -4
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/server_suite.rb +9 -11
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_inquire_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_submit_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_inquire_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_submit_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/pas_claim_response_decision_test.rb +2 -2
- data/lib/davinci_pas_test_kit/server/server_request_bundle_validation_test.rb +4 -6
- data/lib/davinci_pas_test_kit/server/server_response_bundle_validation_test.rb +17 -10
- data/lib/davinci_pas_test_kit/server/v2.0.1/must_support/pas_server_must_support_request_profiles_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.0.1/pas_server_subscription_setup.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/claim_inquiry/server_claim_inquiry_response_tests.rb +89 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/must_support/pas_server_must_support_request_profiles_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_error_group.rb +2 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_inquiry_responses_group.rb +17 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_updates_group.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_no_custom_extensions_test.rb +241 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_capability_statement_test.rb +40 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_setup.rb +15 -10
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_input_test.rb +63 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_test.rb +109 -0
- data/lib/davinci_pas_test_kit/version.rb +2 -2
- metadata +38 -13
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_inquire_response_must_support_task_test.rb +0 -45
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_submit_response_must_support_task_test.rb +0 -45
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_inquire_response_must_support_task_test.rb +0 -55
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_submit_response_must_support_task_test.rb +0 -55
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_error_handling_group.rb +0 -20
|
@@ -11,22 +11,19 @@ module DaVinciPASTestKit
|
|
|
11
11
|
id :pas_client_approval_submit_test
|
|
12
12
|
title 'PAS client submits a claim using the $submit operation'
|
|
13
13
|
description %(
|
|
14
|
-
Inferno will wait for a prior authorization submission request
|
|
15
|
-
from the client. Upon receipt, Inferno will
|
|
16
|
-
|
|
14
|
+
During this test, Inferno will wait for a prior authorization submission request
|
|
15
|
+
from the PAS client using the `$submit` operation. Upon receipt, Inferno will respond
|
|
16
|
+
with a [tester-provided](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#tester-directed-custom-responses)
|
|
17
|
+
or [Inferno-mocked](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#mocked-responses)
|
|
18
|
+
approval response. Inferno will not respond to `$inquire` operation requests during
|
|
19
|
+
this test.
|
|
17
20
|
)
|
|
18
21
|
|
|
19
22
|
input :approval_json_response,
|
|
20
23
|
title: 'Claim approved response JSON',
|
|
21
24
|
type: 'textarea',
|
|
22
25
|
optional: true,
|
|
23
|
-
description:
|
|
24
|
-
If provided, this JSON will be sent in response to $submit requests during this test
|
|
25
|
-
to indicate that the request has been approved.
|
|
26
|
-
It will be updated to make creation timestamps current.
|
|
27
|
-
If not provided, an approval response will be generated from the submitted Claim.
|
|
28
|
-
In either case, the response will be validated against the PAS Response Bundle profile.
|
|
29
|
-
)
|
|
26
|
+
description: DaVinciPASTestKit.user_response_input_description('$submit', 'approved', 'Approval Response')
|
|
30
27
|
input :client_id,
|
|
31
28
|
title: 'Client Id',
|
|
32
29
|
type: 'text',
|
|
@@ -41,9 +38,10 @@ module DaVinciPASTestKit
|
|
|
41
38
|
description: INPUT_SESSION_URL_PATH_LOCKED
|
|
42
39
|
|
|
43
40
|
submit_respond_with :approval_json_response
|
|
41
|
+
config options: { submit_enabled: true }
|
|
44
42
|
|
|
45
43
|
run do
|
|
46
|
-
if user_inputted_response?
|
|
44
|
+
if user_inputted_response?(:approval_json_response)
|
|
47
45
|
assert_valid_json approval_json_response,
|
|
48
46
|
'Input "Claim approved response JSON" must be valid JSON'
|
|
49
47
|
else
|
|
@@ -58,17 +56,30 @@ module DaVinciPASTestKit
|
|
|
58
56
|
|
|
59
57
|
wait(
|
|
60
58
|
identifier: wait_identifier,
|
|
61
|
-
message:
|
|
62
|
-
**Approval
|
|
59
|
+
message: <<~MESSAGE
|
|
60
|
+
**Approval Scenario Test**:
|
|
61
|
+
|
|
62
|
+
Inferno will wait while the tester uses the PAS client to submit a PAS request to
|
|
63
|
+
Inferno. The tests will automatically continue once a request has been received.
|
|
64
|
+
|
|
65
|
+
### Endpoints
|
|
63
66
|
|
|
64
67
|
Submit a PAS request to
|
|
65
68
|
|
|
66
69
|
`#{submit_endpoint}`
|
|
67
70
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
### Authentication and Identification
|
|
72
|
+
|
|
73
|
+
#{auth_description_for_wait(client_id)}
|
|
74
|
+
|
|
75
|
+
### Responses
|
|
76
|
+
|
|
77
|
+
#{response_description_for_wait(user_inputted_response?(:approval_json_response),
|
|
78
|
+
input_title(:approval_json_response),
|
|
79
|
+
'$submit')}
|
|
80
|
+
|
|
81
|
+
Inferno will not respond to `$inquire` requests during this test.
|
|
82
|
+
MESSAGE
|
|
72
83
|
)
|
|
73
84
|
end
|
|
74
85
|
end
|
|
@@ -11,22 +11,19 @@ module DaVinciPASTestKit
|
|
|
11
11
|
id :pas_client_denial_submit_test
|
|
12
12
|
title 'PAS client submits a claim using the $submit operation'
|
|
13
13
|
description %(
|
|
14
|
-
Inferno will wait for a prior authorization submission request
|
|
15
|
-
from the client. Upon receipt, Inferno will respond
|
|
16
|
-
|
|
14
|
+
During this test, Inferno will wait for a prior authorization submission request
|
|
15
|
+
from the PAS client using the `$submit` operation. Upon receipt, Inferno will respond
|
|
16
|
+
with a [tester-provided](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#tester-directed-custom-responses)
|
|
17
|
+
or [Inferno-mocked](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#mocked-responses)
|
|
18
|
+
denial response. Inferno will not respond to `$inquire` operation requests during
|
|
19
|
+
this test.
|
|
17
20
|
)
|
|
18
21
|
|
|
19
22
|
input :denial_json_response,
|
|
20
23
|
title: 'Claim denied response JSON',
|
|
21
24
|
type: 'textarea',
|
|
22
25
|
optional: true,
|
|
23
|
-
description:
|
|
24
|
-
If provided, this JSON will be sent in response to $submit requests during this test
|
|
25
|
-
to indicate that the request has been denied.
|
|
26
|
-
It will be updated to make creation timestamps current.
|
|
27
|
-
If not provided, a denial response will be generated from the submitted Claim.
|
|
28
|
-
In either case, the response will be validated against the PAS Response Bundle profile.
|
|
29
|
-
)
|
|
26
|
+
description: DaVinciPASTestKit.user_response_input_description('$submit', 'denied', 'Denial Response')
|
|
30
27
|
input :client_id,
|
|
31
28
|
title: 'Client Id',
|
|
32
29
|
type: 'text',
|
|
@@ -40,6 +37,7 @@ module DaVinciPASTestKit
|
|
|
40
37
|
locked: true,
|
|
41
38
|
description: INPUT_SESSION_URL_PATH_LOCKED
|
|
42
39
|
submit_respond_with :denial_json_response
|
|
40
|
+
config options: { submit_enabled: true }
|
|
43
41
|
|
|
44
42
|
run do
|
|
45
43
|
if user_inputted_response? :denial_json_response
|
|
@@ -57,17 +55,29 @@ module DaVinciPASTestKit
|
|
|
57
55
|
|
|
58
56
|
wait(
|
|
59
57
|
identifier: wait_identifier,
|
|
60
|
-
message:
|
|
61
|
-
**Denial
|
|
58
|
+
message: <<~MESSAGE
|
|
59
|
+
**Denial Scenario Test**:
|
|
60
|
+
|
|
61
|
+
Inferno will wait while the tester uses the PAS client to submit a PAS request to
|
|
62
|
+
Inferno. The tests will automatically continue once a request has been received.
|
|
63
|
+
|
|
64
|
+
### Endpoints
|
|
62
65
|
|
|
63
66
|
Submit a PAS request to
|
|
64
67
|
|
|
65
68
|
`#{submit_endpoint}`
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
### Authentication and Identification
|
|
71
|
+
|
|
72
|
+
#{auth_description_for_wait(client_id)}
|
|
73
|
+
|
|
74
|
+
### Responses
|
|
75
|
+
|
|
76
|
+
#{response_description_for_wait(user_inputted_response?(:denial_json_response),
|
|
77
|
+
input_title(:denial_json_response),
|
|
78
|
+
'$submit')}
|
|
79
|
+
Inferno will not respond to `$inquire` requests during this test.
|
|
80
|
+
MESSAGE
|
|
71
81
|
)
|
|
72
82
|
end
|
|
73
83
|
end
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
require_relative 'client_input_descriptions'
|
|
2
2
|
require_relative 'session_identification'
|
|
3
|
+
require_relative 'user_input_response'
|
|
3
4
|
|
|
4
5
|
module DaVinciPASTestKit
|
|
5
6
|
# abstract test, needs to be extended to include a version-specific URLs module
|
|
6
7
|
class AbstractGatherMustSupportTest < Inferno::Test
|
|
7
8
|
include SessionIdentification
|
|
9
|
+
include UserInputResponse
|
|
8
10
|
|
|
9
11
|
id :pas_client_gather_must_support
|
|
10
12
|
title 'PAS client submits Claims using the $submit and $inquire operations to demonstrate coverage of must ' \
|
|
11
13
|
'support elements'
|
|
12
14
|
description %(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
During this test, Inferno will wait while the tester uses the PAS client to make `$submit`
|
|
16
|
+
and `$inquire` operation requests against Inferno demonstrating any request and response
|
|
17
|
+
must support elements not yet demonstrated.
|
|
16
18
|
|
|
17
19
|
Because Inferno's mocked responses do not cover all must support elements, in order to pass
|
|
18
20
|
these tests testers will need to provide response bundles for Inferno to return when
|
|
19
|
-
responding to
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
This enables testers to verify that their client can handle responses containing all required
|
|
27
|
-
must support elements.
|
|
21
|
+
responding to `$submit` and `$inquire` requests. Each response input takes a JSON list of entries,
|
|
22
|
+
where each entry specifies a Bundle with selection criteria ([format](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#response-option-format)).
|
|
23
|
+
For each request received during this test, Inferno will [select](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#response-option-evaluation)
|
|
24
|
+
and [instantiate](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#response-instantiation)
|
|
25
|
+
a response to return from this list. If no entries match or instantiation fails, Inferno will
|
|
26
|
+
[mock](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#mocked-responses)
|
|
27
|
+
a response.
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
input :client_id,
|
|
@@ -43,59 +43,13 @@ module DaVinciPASTestKit
|
|
|
43
43
|
title: 'Must Support $submit Response Bundles',
|
|
44
44
|
type: 'textarea',
|
|
45
45
|
optional: true,
|
|
46
|
-
description:
|
|
47
|
-
An optional JSON value specifying response Bundles for Inferno to return when
|
|
48
|
-
responding to $submit requests during must support testing. Provide a single entry
|
|
49
|
-
or a list of entries, where each entry is either a FHIR Bundle or a wrapper object
|
|
50
|
-
of the form `{"criteria": {...}, "bundle": {...}}` pairing a FHIR Bundle with the
|
|
51
|
-
selection criteria that a request must meet for that Bundle to be returned.
|
|
52
|
-
|
|
53
|
-
For each request, Inferno will respond with the Bundle of the first entry whose
|
|
54
|
-
criteria are all met. An entry with no criteria (including a bare Bundle) matches
|
|
55
|
-
any request, and an entry with multiple criteria must meet all of them. If no entry
|
|
56
|
-
matches, or none are provided, Inferno will generate a default response. Supported
|
|
57
|
-
`criteria` keys:
|
|
58
|
-
|
|
59
|
-
- `requestRange`: a string of comma-separated request numbers or ranges, e.g.,
|
|
60
|
-
`"1-2,4"`. Met when the number of $submit requests received during this test,
|
|
61
|
-
counting this one, is among the listed values.
|
|
62
|
-
- `fhirpath`: a FHIRPath expression evaluated against the incoming request Bundle.
|
|
63
|
-
Met when the expression evaluates to a single truthy value.
|
|
64
|
-
|
|
65
|
-
A Bundle may also contain tokens of the form `{{fhirpath}}`, e.g.,
|
|
66
|
-
`{{Bundle.entry.first().resource.id}}`. Inferno replaces each token in the returned
|
|
67
|
-
Bundle with the result of evaluating the FHIRPath expression against the incoming
|
|
68
|
-
request Bundle.
|
|
69
|
-
)
|
|
46
|
+
description: DaVinciPASTestKit.ms_responses_input_description('$submit')
|
|
70
47
|
input :ms_inquire_responses,
|
|
71
48
|
title: 'Must Support $inquire Response Bundles',
|
|
72
49
|
type: 'textarea',
|
|
73
50
|
optional: true,
|
|
74
|
-
description:
|
|
75
|
-
|
|
76
|
-
responding to $inquire requests during must support testing. Provide a single entry
|
|
77
|
-
or a list of entries, where each entry is either a FHIR Bundle or a wrapper object
|
|
78
|
-
of the form `{"criteria": {...}, "bundle": {...}}` pairing a FHIR Bundle with the
|
|
79
|
-
selection criteria that a request must meet for that Bundle to be returned.
|
|
80
|
-
|
|
81
|
-
For each request, Inferno will respond with the Bundle of the first entry whose
|
|
82
|
-
criteria are all met. An entry with no criteria (including a bare Bundle) matches
|
|
83
|
-
any request, and an entry with multiple criteria must meet all of them. If no entry
|
|
84
|
-
matches, or none are provided, Inferno will generate a default response. Supported
|
|
85
|
-
`criteria` keys:
|
|
86
|
-
|
|
87
|
-
- `requestRange`: a string of comma-separated request numbers or ranges, e.g.,
|
|
88
|
-
`"1-2,4"`. Met when the number of $inquire requests received during this test,
|
|
89
|
-
counting this one, is among the listed values.
|
|
90
|
-
- `fhirpath`: a FHIRPath expression evaluated against the incoming request Bundle.
|
|
91
|
-
Met when the expression evaluates to a single truthy value.
|
|
92
|
-
|
|
93
|
-
A Bundle may also contain tokens of the form `{{fhirpath}}`, e.g.,
|
|
94
|
-
`{{Bundle.entry.first().resource.id}}`. Inferno replaces each token in the returned
|
|
95
|
-
Bundle with the result of evaluating the FHIRPath expression against the incoming
|
|
96
|
-
request Bundle.
|
|
97
|
-
)
|
|
98
|
-
config options: { accepts_multiple_requests: true }
|
|
51
|
+
description: DaVinciPASTestKit.ms_responses_input_description('$inquire')
|
|
52
|
+
config options: { accepts_multiple_requests: true, submit_enabled: true, inquire_enabled: true }
|
|
99
53
|
output :confirmation_url
|
|
100
54
|
|
|
101
55
|
run do
|
|
@@ -107,11 +61,17 @@ module DaVinciPASTestKit
|
|
|
107
61
|
|
|
108
62
|
wait(
|
|
109
63
|
identifier: wait_identifier,
|
|
110
|
-
message:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
64
|
+
message: <<~MESSAGE
|
|
65
|
+
**Additional Must Support Demonstration**:
|
|
66
|
+
|
|
67
|
+
Inferno will wait while the tester uses the PAS client to make additional $submit and $inquire requests.
|
|
68
|
+
Along with the requests submitted during previous tests, these requests and their responses must
|
|
69
|
+
cumulatively demonstrate coverage of all required profiles and all must support elements within
|
|
70
|
+
those profiles, as specified by the PAS IG.
|
|
71
|
+
|
|
72
|
+
[Click here](#{confirmation_url}) when all requests have been submitted.
|
|
73
|
+
|
|
74
|
+
### Required Profiles
|
|
115
75
|
|
|
116
76
|
For the $submit operation the required profiles include:
|
|
117
77
|
- PAS Request Bundle
|
|
@@ -141,19 +101,30 @@ module DaVinciPASTestKit
|
|
|
141
101
|
- PAS Practitioner
|
|
142
102
|
- PAS PractitionerRole
|
|
143
103
|
|
|
144
|
-
|
|
145
|
-
|
|
104
|
+
### Endpoints
|
|
105
|
+
|
|
106
|
+
Submit PAS requests to
|
|
107
|
+
|
|
108
|
+
- $submit: `#{submit_endpoint}`
|
|
109
|
+
- $inquire: `#{inquire_endpoint}`
|
|
110
|
+
|
|
111
|
+
### Authentication and Identification
|
|
112
|
+
|
|
113
|
+
#{auth_description_for_wait(client_id)}
|
|
146
114
|
|
|
147
|
-
Submit
|
|
115
|
+
### Submit Responses
|
|
148
116
|
|
|
149
|
-
|
|
117
|
+
#{response_description_for_wait(user_inputted_response?(:ms_submit_responses),
|
|
118
|
+
input_title(:ms_submit_responses),
|
|
119
|
+
'$submit')}
|
|
150
120
|
|
|
151
|
-
|
|
121
|
+
### Inquire Responses
|
|
152
122
|
|
|
153
|
-
|
|
123
|
+
#{response_description_for_wait(user_inputted_response?(:ms_inquire_responses),
|
|
124
|
+
input_title(:ms_inquire_responses),
|
|
125
|
+
'$inquire')}
|
|
154
126
|
|
|
155
|
-
|
|
156
|
-
)
|
|
127
|
+
MESSAGE
|
|
157
128
|
)
|
|
158
129
|
end
|
|
159
130
|
end
|
|
@@ -11,25 +11,21 @@ module DaVinciPASTestKit
|
|
|
11
11
|
id :pas_client_modification_submit_test
|
|
12
12
|
title 'PAS client submits a claim using the $submit operation'
|
|
13
13
|
description %(
|
|
14
|
-
Inferno will wait for a prior authorization submission request
|
|
15
|
-
from the client. Upon receipt, Inferno will
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
During this test, Inferno will wait for a prior authorization submission request
|
|
15
|
+
from the PAS client using the `$submit` operation. Upon receipt, Inferno will respond
|
|
16
|
+
with a [tester-provided](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#tester-directed-custom-responses)
|
|
17
|
+
or [Inferno-mocked](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Controlling-Simulated-Responses#mocked-responses)
|
|
18
|
+
a response in which the payer authorizes items that differ from those that were
|
|
19
|
+
requested (a "payer modification"). Inferno will not respond to `$inquire`
|
|
20
|
+
operation requests during this test.
|
|
18
21
|
)
|
|
19
22
|
|
|
20
23
|
input :modification_json_response,
|
|
21
24
|
title: 'Claim modified response JSON',
|
|
22
25
|
type: 'textarea',
|
|
23
26
|
optional: true,
|
|
24
|
-
description:
|
|
25
|
-
|
|
26
|
-
to indicate that the payer authorized items that differ from those requested.
|
|
27
|
-
It will be updated to make creation timestamps current.
|
|
28
|
-
If not provided, a payer modification response will be generated from the submitted Claim,
|
|
29
|
-
marking each item as modified (adjudication status A6) and adding a corresponding
|
|
30
|
-
`ClaimResponse.addItem` describing what was actually authorized.
|
|
31
|
-
In either case, the response will be validated against the PAS Response Bundle profile.
|
|
32
|
-
)
|
|
27
|
+
description: DaVinciPASTestKit.user_response_input_description('$submit', 'modified by the payer',
|
|
28
|
+
'Payer Modifications')
|
|
33
29
|
input :client_id,
|
|
34
30
|
title: 'Client Id',
|
|
35
31
|
type: 'text',
|
|
@@ -44,6 +40,7 @@ module DaVinciPASTestKit
|
|
|
44
40
|
description: INPUT_SESSION_URL_PATH_LOCKED
|
|
45
41
|
|
|
46
42
|
submit_respond_with :modification_json_response
|
|
43
|
+
config options: { submit_enabled: true }
|
|
47
44
|
|
|
48
45
|
run do
|
|
49
46
|
if user_inputted_response? :modification_json_response
|
|
@@ -61,17 +58,30 @@ module DaVinciPASTestKit
|
|
|
61
58
|
|
|
62
59
|
wait(
|
|
63
60
|
identifier: wait_identifier,
|
|
64
|
-
message:
|
|
65
|
-
**Payer Modification
|
|
61
|
+
message: <<~MESSAGE
|
|
62
|
+
**Payer Modification Scenario Test**:
|
|
63
|
+
|
|
64
|
+
Inferno will wait while the tester uses the PAS client to submit a PAS request to
|
|
65
|
+
Inferno. The tests will automatically continue once a request has been received.
|
|
66
|
+
|
|
67
|
+
### Endpoints
|
|
66
68
|
|
|
67
69
|
Submit a PAS request to
|
|
68
70
|
|
|
69
71
|
`#{submit_endpoint}`
|
|
70
72
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
### Authentication and Identification
|
|
74
|
+
|
|
75
|
+
#{auth_description_for_wait(client_id)}
|
|
76
|
+
|
|
77
|
+
### Responses
|
|
78
|
+
|
|
79
|
+
#{response_description_for_wait(user_inputted_response?(:modification_json_response),
|
|
80
|
+
input_title(:modification_json_response),
|
|
81
|
+
'$submit')}
|
|
82
|
+
|
|
83
|
+
Inferno will not respond to `$inquire` requests during this test.
|
|
84
|
+
MESSAGE
|
|
75
85
|
)
|
|
76
86
|
end
|
|
77
87
|
end
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
require_relative 'request_count_gating'
|
|
2
|
+
|
|
1
3
|
module DaVinciPASTestKit
|
|
2
4
|
# abstract test, needs to be extended to include a version-specific URLs module
|
|
3
5
|
class AbstractResponseAttest < Inferno::Test
|
|
6
|
+
include RequestCountGating
|
|
7
|
+
|
|
4
8
|
id :pas_client_response_attest
|
|
5
9
|
title 'PAS client reacts appropriately to the response'
|
|
6
10
|
description %(
|
|
7
|
-
|
|
8
|
-
the receipt of response and attest that users are able to see the appropriate
|
|
9
|
-
updates to the corresponding prior authorization request
|
|
11
|
+
During this test, the tester will observe the PAS client following
|
|
12
|
+
the receipt of a response and attest that users are able to see the appropriate
|
|
13
|
+
updates to the corresponding prior authorization request.
|
|
10
14
|
)
|
|
11
15
|
attestation
|
|
12
16
|
|
|
@@ -14,12 +18,23 @@ module DaVinciPASTestKit
|
|
|
14
18
|
config.options[:workflow_tag]
|
|
15
19
|
end
|
|
16
20
|
|
|
21
|
+
def operation_tag
|
|
22
|
+
config.options[:operation_tag]
|
|
23
|
+
end
|
|
24
|
+
|
|
17
25
|
def attest_message
|
|
18
26
|
config.options[:attest_message]
|
|
19
27
|
end
|
|
20
28
|
|
|
29
|
+
# workflow_tag may be a single tag or an Array of tags (e.g. the Claim Update attest tests,
|
|
30
|
+
# which match requests across several update steps); normalized to an Array so callers don't
|
|
31
|
+
# each need their own is_a?(Array) check.
|
|
32
|
+
def workflow_tags
|
|
33
|
+
Array(workflow_tag)
|
|
34
|
+
end
|
|
35
|
+
|
|
21
36
|
def workflow_name
|
|
22
|
-
case
|
|
37
|
+
case workflow_tags.first
|
|
23
38
|
when APPROVAL_WORKFLOW_TAG
|
|
24
39
|
'Approval'
|
|
25
40
|
when DENIAL_WORKFLOW_TAG
|
|
@@ -34,6 +49,33 @@ module DaVinciPASTestKit
|
|
|
34
49
|
'Operation Failure'
|
|
35
50
|
when PROCESSING_ERROR_WORKFLOW_TAG
|
|
36
51
|
'Processing Error'
|
|
52
|
+
when CLAIM_UPDATE_INITIAL_TAG
|
|
53
|
+
'Claim Update'
|
|
54
|
+
else
|
|
55
|
+
raise Inferno::Exceptions::TestSuiteImplementationException.new('PAS Display Attestation',
|
|
56
|
+
"No name for workflow tag #{workflow_tag}.")
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Tags identifying the requests that gate the attestation, when they aren't the ones tagged with
|
|
61
|
+
# workflow_tag (+ operation_tag) - e.g., the notification Inferno sends to the client.
|
|
62
|
+
def request_tags
|
|
63
|
+
config.options[:request_tags]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def target_requests
|
|
67
|
+
return load_tagged_requests(*request_tags) if request_tags.present?
|
|
68
|
+
|
|
69
|
+
workflow_tags.flat_map do |one_workflow_tag|
|
|
70
|
+
load_tagged_requests(*[one_workflow_tag, operation_tag].compact)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def unexpected_error_status_message(error_responses)
|
|
75
|
+
if error_responses.any? { |r| r.direction == 'outgoing' }
|
|
76
|
+
'Skipping attestation: the PAS client did not return a successful response to Inferno\'s request.'
|
|
77
|
+
else
|
|
78
|
+
'Skipping attestation: Inferno expected to return a successful response, but did not.'
|
|
37
79
|
end
|
|
38
80
|
end
|
|
39
81
|
|
|
@@ -41,7 +83,34 @@ module DaVinciPASTestKit
|
|
|
41
83
|
output :attest_false_url
|
|
42
84
|
|
|
43
85
|
run do
|
|
44
|
-
|
|
86
|
+
# check that there are actually requests
|
|
87
|
+
# - skip if none unless there is a config
|
|
88
|
+
# - raise an implementation error if there are more than 1 unless config set (shouldn't ever)
|
|
89
|
+
# - skip if no response has the expected HTTP status (success, or error when error_status_expected)
|
|
90
|
+
|
|
91
|
+
requests = target_requests
|
|
92
|
+
if requests.empty?
|
|
93
|
+
if no_requests_ok?
|
|
94
|
+
pass 'Attestation not needed: no requests received or required for this group.'
|
|
95
|
+
else
|
|
96
|
+
skip "Skipping attestation: No requests made demonstrating the #{workflow_name} scenario."
|
|
97
|
+
end
|
|
98
|
+
elsif requests.length > 1 && !multiple_requests_ok?
|
|
99
|
+
raise Inferno::Exceptions::TestSuiteImplementationException.new(
|
|
100
|
+
'PAS request tagging',
|
|
101
|
+
"multiple requests tagged with workflow tag #{workflow_tag}."
|
|
102
|
+
)
|
|
103
|
+
else
|
|
104
|
+
success_responses, error_responses = requests.partition { |r| r.status.to_s.start_with?('2') }
|
|
105
|
+
if error_responses.blank? && config.options[:error_status_expected]
|
|
106
|
+
skip 'Skipping attestation: Inferno expected to return a HTTP error response, but did not.'
|
|
107
|
+
elsif success_responses.blank? && !config.options[:error_status_expected]
|
|
108
|
+
skip unexpected_error_status_message(error_responses)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# only the tester continues this wait, so use a fresh random identifier - see SessionIdentification
|
|
113
|
+
identifier = SecureRandom.uuid
|
|
45
114
|
attest_true_url = "#{resume_pass_url}?token=#{identifier}"
|
|
46
115
|
output(attest_true_url:)
|
|
47
116
|
attest_false_url = "#{resume_fail_url}?token=#{identifier}"
|
|
@@ -50,7 +119,7 @@ module DaVinciPASTestKit
|
|
|
50
119
|
wait(
|
|
51
120
|
identifier:,
|
|
52
121
|
message: %(
|
|
53
|
-
**#{workflow_name}
|
|
122
|
+
**#{workflow_name} Scenario Test**:
|
|
54
123
|
|
|
55
124
|
#{attest_message}
|
|
56
125
|
|
|
@@ -9,7 +9,7 @@ module DaVinciPASTestKit
|
|
|
9
9
|
id :pas_client_subscription_create_test
|
|
10
10
|
title 'PAS client submits a Subscription creation request'
|
|
11
11
|
description %(
|
|
12
|
-
Inferno will wait for a Subscription creation request
|
|
12
|
+
During this test, Inferno will wait for a Subscription creation request
|
|
13
13
|
and then perform a handshake to activate the Subscription.
|
|
14
14
|
)
|
|
15
15
|
|
|
@@ -29,9 +29,9 @@ module DaVinciPASTestKit
|
|
|
29
29
|
optional: true,
|
|
30
30
|
title: 'Client Notification Access Token',
|
|
31
31
|
description: %(
|
|
32
|
-
The bearer token that Inferno will send on requests to the client
|
|
33
|
-
endpoint, including handshake notifications sent after Subscription creation. Not needed if the client
|
|
34
|
-
|
|
32
|
+
The bearer token that Inferno will send on requests to the PAS client's rest-hook notification
|
|
33
|
+
endpoint, including handshake notifications sent after Subscription creation. Not needed if the PAS client
|
|
34
|
+
will create a Subscription with an appropriate header value in the `channel.header` element.
|
|
35
35
|
If a value for the `authorization` header is provided in `channel.header`, this value will override it.
|
|
36
36
|
)
|
|
37
37
|
|
|
@@ -41,16 +41,33 @@ module DaVinciPASTestKit
|
|
|
41
41
|
|
|
42
42
|
wait(
|
|
43
43
|
identifier: wait_identifier,
|
|
44
|
-
message:
|
|
44
|
+
message: <<~MESSAGE
|
|
45
45
|
**Subscription Creation Test**:
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
Inferno will wait while the tester uses the PAS client to create a Subscription on
|
|
48
|
+
Inferno's simulated payer server. Inferno [will not accept all Subscriptions](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Client-Subscriptions-and-Notifications#subscription-validation)
|
|
49
|
+
but a Subscription does not need to be fully conformant to be accepted.
|
|
50
|
+
|
|
51
|
+
After accepting a Subscription, Inferno will send a handshake notification
|
|
52
|
+
to the specified `channel.endpoint` and continue automatically.
|
|
53
|
+
|
|
54
|
+
### Endpoints
|
|
55
|
+
|
|
56
|
+
Submit a POST with a Subscription to
|
|
48
57
|
|
|
49
58
|
`#{subscription_endpoint}`
|
|
50
59
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
### Authentication and Identification
|
|
61
|
+
|
|
62
|
+
#{auth_description_for_wait(client_id)}
|
|
63
|
+
|
|
64
|
+
### Responses and Handshake Notifications
|
|
65
|
+
|
|
66
|
+
The PAS Test Kit wiki contains details on the supported responses and
|
|
67
|
+
notifications that the PAS client can expect to receive during these tests:
|
|
68
|
+
- [Subscription creation responses](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Client-Subscriptions-and-Notifications#creation-response)
|
|
69
|
+
- [Handshake notification](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Client-Subscriptions-and-Notifications#handshake-notification)
|
|
70
|
+
MESSAGE
|
|
54
71
|
)
|
|
55
72
|
end
|
|
56
73
|
end
|