Class: DaVinciCRDTestKit::V201::RetrieveJWKSTest

Inherits:
Inferno::Test
  • Object
show all
Includes:
ClientHookRequestValidation
Defined in:
lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb

Constant Summary

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

Instance Method Summary collapse

Methods included from ClientHookRequestValidation

#client_test?, #server_test?

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?

Instance Method Details

#fetch_jwks(uri, crd_jwks_json) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb', line 95

def fetch_jwks(uri, crd_jwks_json)
  get(uri)

  if response[:status] != 200
    add_message('error', %(
              #{request_number}Unexpected response status: expected 200, but received
              #{response[:status]}))
    return false
  end

  jwks = json_parse(response[:body])
  return false if jwks.blank?

  crd_jwks_json << response[:body]
  jwks
end

#parse_or_fetch_jwks(jwk_set_input, crd_jwks_json) ⇒ Object



112
113
114
115
116
117
118
# File 'lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb', line 112

def parse_or_fetch_jwks(jwk_set_input, crd_jwks_json)
  if jwk_set_input.match?(%r{\Ahttps?://})
    fetch_jwks(jwk_set_input, crd_jwks_json)
  else
    json_parse(jwk_set_input)
  end
end