Class: DaVinciCRDTestKit::V221::ClientUnknownContentAttestationTest
- Inherits:
-
Inferno::Test
- Object
- Inferno::Test
- DaVinciCRDTestKit::V221::ClientUnknownContentAttestationTest
- Includes:
- CardsIdentification, TaggedRequestLoadHelper, ClientURLs
- Defined in:
- lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb
Constant Summary collapse
- KNOWN_ACTION_ELEMENTS =
['type', 'description', 'resource', 'resourceId', 'extension'].freeze
Constants included from CardsIdentification
CardsIdentification::ADDITIONAL_ORDERS_EXPECTED_RESOURCE_TYPES, CardsIdentification::ADDITIONAL_ORDERS_RESPONSE_TYPE, CardsIdentification::COVERAGE_INFORMATION_RESPONSE_TYPE, CardsIdentification::COVERAGE_INFO_CONFIGURATION_CODE, CardsIdentification::COVERAGE_INFO_EXPECTED_RESOURCE_TYPES, CardsIdentification::COVERAGE_INFO_EXT_URL, CardsIdentification::CREATE_OR_UPDATE_COVERAGE_RESPONSE_TYPE, CardsIdentification::EXTERNAL_REFERENCE_RESPONSE_TYPE, CardsIdentification::FORM_COMPLETION_RESPONSE_TYPE, CardsIdentification::INSTRUCTIONS_RESPONSE_TYPE, CardsIdentification::LAUNCH_SMART_APP_RESPONSE_TYPE, CardsIdentification::PROPOSE_ALTERNATIVE_REQUEST_EXPECTED_RESOURCE_TYPES, CardsIdentification::PROPOSE_ALTERNATIVE_REQUEST_RESPONSE_TYPE
Constants included from ProfilesAndResourceTypes
ProfilesAndResourceTypes::ORDER_OR_ENCOUNTER_RESOURCE_CLASSES, ProfilesAndResourceTypes::ORDER_RESOURCE_CLASSES, ProfilesAndResourceTypes::ORDER_RESOURCE_TYPES
Constants included from RequestsLogicalModelValidation
RequestsLogicalModelValidation::CRD_CDS_HOOK_REQUEST_MODEL_URL, RequestsLogicalModelValidation::PERFORMER_ALLOWED_RESOURCE_TYPES, RequestsLogicalModelValidation::USER_ID_ALLOWED_RESOURCE_TYPES
Constants included from ClientURLs
DaVinciCRDTestKit::V221::ClientURLs::SUITE_ID
Instance Method Summary collapse
- #format_unknown_content(bodies) ⇒ Object
- #format_unknown_names(label, names) ⇒ Object
- #response_bodies(hook_requests) ⇒ Object
- #unknown_action_elements(bodies) ⇒ Object
- #unknown_extensions(bodies) ⇒ Object
Methods included from TaggedRequestLoadHelper
#crd_interaction_group, #hook_name, #load_interaction_group_requests, #load_requests_for_cross_hook_analysis
Methods included from CardsIdentification
#additional_orders_response_type?, #cache_sorted_cards, #check_action_type, #coverage_info_card_type?, #coverage_info_configuration_disabled?, #coverage_info_content, #coverage_info_response?, #coverage_info_system_action_response?, #coverage_info_system_action_type?, #coverage_information_response_type?, #create_or_update_coverage_action_response_type?, #create_or_update_coverage_card_response_type?, #create_questionnaire_action_response_type?, #disable_coverage_info_configuration!, #extension_url, #external_reference_response_type?, #extract_coverage_information_extensions, #form_completion_action_response_type?, #form_completion_card_response_type?, #form_completion_task_questionnaire?, #hook_instances_from_requests, humanize_response_type, #identify_action_type, #identify_card_type, #initialize_sorted_cards_hash, #instructions_response_type?, #launch_smart_app_response_type?, #list_card_types_in_requests, #propose_alternative_request_response_type?, #sort_card_types_from_request, #sorted_cards_cached?, #sorted_cards_from_cache, #sorted_cards_from_requests
Methods included from HookRequestFieldValidation
#hook_request_context_check, #hook_request_optional_fields_check, #hook_request_prefetch_check, #hook_request_required_fields_check, #json_parse, #no_error_validation
Methods included from ProfilesAndResourceTypes
#structure_definition_map, #structure_definition_map_v201, #structure_definition_map_v221
Methods included from ServerBaseURLs
#client_fhir_base_url, #fhir_url, #instance_url, #search_url
Methods included from BaseURLs
#inferno_base_url, #resume_fail_url, #resume_pass_url
Methods included from RequestsLogicalModelValidation
#validate_request_against_logical_model
Methods included from LogicalModelsOverrideHelper
#allowed_resource_type?, #check_appointment_conformance, #check_order_like_resource_conformance, #check_resource_conformance_to_coverage_profile, #check_resource_conformance_to_order_or_encounter_profile, #check_resource_conformance_to_order_profile, #check_resource_conformance_to_questionnaire_task_profile, #check_resource_type_and_validate, #filter_logical_model_extension_issues, #local_reference?, #logical_model_extension_issue?, #manually_check_appointment_validation_errors, #parse_action_resource, #primary_performer_type?, #referenced_resource_present_in_bundle?, #reject_resource_issues, #resolved_participant_patient_slice_issue?, #resolved_participant_primary_performer_slice_issue?
Methods included from SuggestionActionsValidation
#action_fields_validation, #action_resource_type_check, #actions_check
Methods included from ClientURLs
base_url, discovery_url, prefetch_subset_discovery_url, #suite_id
Methods included from ClientBaseURLs
#appointment_book_prefetch_subset_url, #appointment_book_url, #discovery_url, #encounter_discharge_prefetch_subset_url, #encounter_discharge_url, #encounter_start_prefetch_subset_url, #encounter_start_url, #order_dispatch_prefetch_subset_url, #order_dispatch_url, #order_select_prefetch_subset_url, #order_select_url, #order_sign_prefetch_subset_url, #order_sign_url, #prefetch_subset_discovery_url
Instance Method Details
#format_unknown_content(bodies) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb', line 49 def format_unknown_content(bodies) [ format_unknown_names('System action element name', unknown_action_elements(bodies)), format_unknown_names('Response extension name', unknown_extensions(bodies)) ].compact.join("\n") end |
#format_unknown_names(label, names) ⇒ Object
56 57 58 59 60 |
# File 'lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb', line 56 def format_unknown_names(label, names) return if names.blank? "- #{label}: #{names.map { |name| "`#{name}`" }.join(', ')}" end |
#response_bodies(hook_requests) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb', line 30 def response_bodies(hook_requests) hook_requests.filter_map do |request| body = JSON.parse(request.response_body) body if body.is_a?(Hash) rescue JSON::ParserError nil end end |
#unknown_action_elements(bodies) ⇒ Object
39 40 41 42 43 |
# File 'lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb', line 39 def unknown_action_elements(bodies) bodies.flat_map do |body| body['systemActions'].to_a.flat_map { |action| action.keys - KNOWN_ACTION_ELEMENTS } end.uniq end |
#unknown_extensions(bodies) ⇒ Object
45 46 47 |
# File 'lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb', line 45 def unknown_extensions(bodies) bodies.flat_map { |body| body['extension'].is_a?(Hash) ? body['extension'].keys : [] }.uniq end |