Class: DaVinciCRDTestKit::V221::RetrieveJWKSTest

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

Instance Method Summary collapse

Methods included from MultiRequestMessageHelper

#add_request_message, #parse_json_request_entity, #request_prefix, #requests_with_errors_prefix

Instance Method Details

#cds_jwk_set_input_needed?(auth_token_headers) ⇒ Boolean

Returns:

  • (Boolean)


103
104
105
106
107
# File 'lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb', line 103

def cds_jwk_set_input_needed?(auth_token_headers)
  auth_token_headers.any? do |token_header|
    token_header.present? && JSON.parse(token_header)['jku'].blank?
  end
end

#fetch_jwks(uri, entity, index) ⇒ Object



109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb', line 109

def fetch_jwks(uri, entity, index)
  get(uri)

  if response[:status] == 200
    parse_json_request_entity(response[:body], entity, index)
  else
    add_request_message('error',
                        "Unexpected response status: expected 200, but received #{response[:status]}",
                        index)
    nil
  end
end

#parse_or_fetch_jwks(jwk_set_input, index) ⇒ Object



122
123
124
125
126
127
128
# File 'lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb', line 122

def parse_or_fetch_jwks(jwk_set_input, index)
  if jwk_set_input.match?(%r{\Ahttps?://})
    fetch_jwks(jwk_set_input, 'Fetched JWK Set input url response', index)
  else
    parse_json_request_entity(jwk_set_input, 'JWK Set input', index)
  end
end