onc_certification_g10_test_kit 7.1.0 → 7.2.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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/g10_reference_server_preset.json +708 -532
  3. data/lib/onc_certification_g10_test_kit/bulk_data_authorization.rb +73 -67
  4. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu1.rb +1 -2
  5. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu2.rb +7 -1
  6. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_parameters.rb +1 -1
  7. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu1.rb +10 -2
  8. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_validation.rb +6 -2
  9. data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +4 -0
  10. data/lib/onc_certification_g10_test_kit/configuration_checker.rb +1 -1
  11. data/lib/onc_certification_g10_test_kit/encounter_context_test.rb +3 -3
  12. data/lib/onc_certification_g10_test_kit/export_kick_off_performer.rb +7 -3
  13. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +0 -4
  14. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +8 -4
  15. data/lib/onc_certification_g10_test_kit/patient_context_test.rb +3 -3
  16. data/lib/onc_certification_g10_test_kit/restricted_resource_type_access_group.rb +3 -10
  17. data/lib/onc_certification_g10_test_kit/scope_constants.rb +52 -0
  18. data/lib/onc_certification_g10_test_kit/short_id_map.yml +11 -20
  19. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +4 -4
  20. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +4 -4
  21. data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +4 -4
  22. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +4 -4
  23. data/lib/onc_certification_g10_test_kit/single_patient_us_core_7_api_group.rb +4 -4
  24. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +107 -64
  25. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +41 -88
  26. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +31 -41
  27. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +30 -52
  28. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2_2.rb +32 -53
  29. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +99 -142
  30. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +16 -54
  31. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group_stu2_2.rb +16 -54
  32. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group.rb +16 -54
  33. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group_stu2_2.rb +16 -54
  34. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +29 -64
  35. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +4 -3
  36. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +39 -83
  37. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +42 -86
  38. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +50 -88
  39. data/lib/onc_certification_g10_test_kit/smart_invalid_token_refresh_test.rb +9 -6
  40. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +86 -278
  41. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +30 -57
  42. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +34 -73
  43. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2_2.rb +34 -73
  44. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +6 -1
  45. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +88 -116
  46. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +60 -114
  47. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +2 -11
  48. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +12 -25
  49. data/lib/onc_certification_g10_test_kit/token_introspection_group_stu2_2.rb +12 -14
  50. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +44 -33
  51. data/lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb +3 -3
  52. data/lib/onc_certification_g10_test_kit/version.rb +2 -2
  53. data/lib/onc_certification_g10_test_kit.rb +104 -40
  54. metadata +9 -8
@@ -47,17 +47,17 @@ module ONCCertificationG10TestKit
47
47
  ID from the SMART App Launch contain all MUST SUPPORT elements.
48
48
  DESCRIPTION
49
49
  optional: true
50
- input :smart_credentials,
50
+ input :smart_auth_info,
51
51
  title: 'SMART App Launch Credentials',
52
- type: :oauth_credentials,
52
+ type: :auth_info,
53
53
  locked: true
54
54
 
55
55
  fhir_client do
56
56
  url :url
57
- oauth_credentials :smart_credentials
57
+ auth_info :smart_auth_info
58
58
  end
59
59
 
60
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
60
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
61
61
 
62
62
  config(
63
63
  options: {
@@ -48,14 +48,14 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
61
  # These tests can still be run if the user runs the entire suite at once
@@ -63,7 +63,7 @@ module ONCCertificationG10TestKit
63
63
  false
64
64
  end
65
65
 
66
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
66
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
67
67
 
68
68
  config(
69
69
  options: {
@@ -48,17 +48,17 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
61
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
62
62
 
63
63
  config(
64
64
  options: {
@@ -48,17 +48,17 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
61
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
62
62
 
63
63
  config(
64
64
  options: {
@@ -1,5 +1,9 @@
1
+ require_relative 'scope_constants'
2
+
1
3
  module ONCCertificationG10TestKit
2
4
  class SMARTAppLaunchInvalidAudGroup < Inferno::TestGroup
5
+ include ScopeConstants
6
+
3
7
  title 'Invalid AUD Parameter'
4
8
  short_title 'Invalid AUD Launch'
5
9
  input_instructions %(
@@ -37,40 +41,16 @@ module ONCCertificationG10TestKit
37
41
 
38
42
  config(
39
43
  inputs: {
40
- client_id: {
41
- name: :standalone_client_id,
42
- title: 'Standalone Client ID',
43
- description: 'Client ID provided during registration of Inferno as a standalone application'
44
- },
45
- requested_scopes: {
46
- name: :standalone_requested_scopes,
47
- title: 'Standalone Scope',
48
- description: 'OAuth 2.0 scope provided by system to enable all required functionality',
49
- type: 'textarea',
50
- default: %(
51
- launch/patient openid fhirUser offline_access
52
- patient/Medication.read patient/AllergyIntolerance.read
53
- patient/CarePlan.read patient/CareTeam.read patient/Condition.read
54
- patient/Device.read patient/DiagnosticReport.read
55
- patient/DocumentReference.read patient/Encounter.read
56
- patient/Goal.read patient/Immunization.read patient/Location.read
57
- patient/MedicationRequest.read patient/Observation.read
58
- patient/Organization.read patient/Patient.read
59
- patient/Practitioner.read patient/Procedure.read
60
- patient/Provenance.read patient/PractitionerRole.read
61
- ).gsub(/\s{2,}/, ' ').strip
44
+ smart_auth_info: {
45
+ name: :standalone_smart_auth_info,
46
+ title: 'Standalone Launch Credentials',
47
+ options: {
48
+ mode: 'auth'
49
+ }
62
50
  },
63
51
  url: {
64
52
  title: 'Standalone FHIR Endpoint',
65
53
  description: 'URL of the FHIR endpoint used by standalone applications'
66
- },
67
- smart_authorization_url: {
68
- title: 'OAuth 2.0 Authorize Endpoint',
69
- description: 'OAuth 2.0 Authorize Endpoint provided during the patient standalone launch'
70
- },
71
- smart_token_url: {
72
- title: 'OAuth 2.0 Token Endpoint',
73
- description: 'OAuth 2.0 Token Endpoint provided during the patient standalone launch'
74
54
  }
75
55
  },
76
56
  outputs: {
@@ -81,21 +61,38 @@ module ONCCertificationG10TestKit
81
61
  }
82
62
  )
83
63
 
84
- input_order :url,
85
- :standalone_client_id,
86
- :standalone_client_secret,
87
- :standalone_requested_scopes,
88
- :use_pkce,
89
- :pkce_code_challenge_method,
90
- :smart_authorization_url
91
-
92
64
  test from: :smart_app_redirect do
93
65
  required_suite_options G10Options::SMART_1_REQUIREMENT
94
66
 
95
- input :client_secret,
96
- name: :standalone_client_secret,
97
- title: 'Standalone Client Secret',
98
- description: 'Client Secret provided during registration of Inferno as a standalone application'
67
+ config(
68
+ inputs: {
69
+ smart_auth_info: {
70
+ name: :standalone_smart_auth_info,
71
+ options: {
72
+ components: [
73
+ {
74
+ name: :auth_type,
75
+ default: 'symmetric',
76
+ locked: true
77
+ },
78
+ {
79
+ name: :auth_request_method,
80
+ default: 'GET',
81
+ locked: true
82
+ },
83
+ {
84
+ name: :use_discovery,
85
+ locked: true
86
+ },
87
+ {
88
+ name: :requested_scopes,
89
+ default: STANDALONE_SMART_1_SCOPES
90
+ }
91
+ ]
92
+ }
93
+ }
94
+ }
95
+ )
99
96
 
100
97
  def aud
101
98
  'https://inferno.healthit.gov/invalid_aud'
@@ -122,21 +119,44 @@ module ONCCertificationG10TestKit
122
119
 
123
120
  config(
124
121
  inputs: {
125
- use_pkce: {
126
- default: 'true',
127
- locked: true
128
- },
129
- pkce_code_challenge_method: {
130
- locked: true
122
+ smart_auth_info: {
123
+ name: :standalone_smart_auth_info,
124
+ options: {
125
+ components: [
126
+ {
127
+ name: :auth_type,
128
+ default: 'symmetric',
129
+ locked: true
130
+ },
131
+ {
132
+ name: :auth_request_method,
133
+ default: 'GET',
134
+ locked: true
135
+ },
136
+ {
137
+ name: :use_discovery,
138
+ locked: true
139
+ },
140
+ {
141
+ name: :requested_scopes,
142
+ default: STANDALONE_SMART_2_SCOPES
143
+ },
144
+ {
145
+ name: :pkce_support,
146
+ default: 'enabled',
147
+ locked: true
148
+ },
149
+ {
150
+ name: :pkce_code_challenge_method,
151
+ default: 'S256',
152
+ locked: true
153
+ }
154
+ ]
155
+ }
131
156
  }
132
157
  }
133
158
  )
134
159
 
135
- input :client_secret,
136
- name: :standalone_client_secret,
137
- title: 'Standalone Client Secret',
138
- description: 'Client Secret provided during registration of Inferno as a standalone application'
139
-
140
160
  def aud
141
161
  'https://inferno.healthit.gov/invalid_aud'
142
162
  end
@@ -161,21 +181,44 @@ module ONCCertificationG10TestKit
161
181
 
162
182
  config(
163
183
  inputs: {
164
- use_pkce: {
165
- default: 'true',
166
- locked: true
167
- },
168
- pkce_code_challenge_method: {
169
- locked: true
184
+ smart_auth_info: {
185
+ name: :standalone_smart_auth_info,
186
+ options: {
187
+ components: [
188
+ {
189
+ name: :auth_type,
190
+ default: 'symmetric',
191
+ locked: true
192
+ },
193
+ {
194
+ name: :auth_request_method,
195
+ default: 'GET',
196
+ locked: true
197
+ },
198
+ {
199
+ name: :use_discovery,
200
+ locked: true
201
+ },
202
+ {
203
+ name: :requested_scopes,
204
+ default: STANDALONE_SMART_2_SCOPES
205
+ },
206
+ {
207
+ name: :pkce_support,
208
+ default: 'enabled',
209
+ locked: true
210
+ },
211
+ {
212
+ name: :pkce_code_challenge_method,
213
+ default: 'S256',
214
+ locked: true
215
+ }
216
+ ]
217
+ }
170
218
  }
171
219
  }
172
220
  )
173
221
 
174
- input :client_secret,
175
- name: :standalone_client_secret,
176
- title: 'Standalone Client Secret',
177
- description: 'Client Secret provided during registration of Inferno as a standalone application'
178
-
179
222
  def aud
180
223
  'https://inferno.healthit.gov/invalid_aud'
181
224
  end
@@ -1,8 +1,11 @@
1
1
  require_relative 'base_token_refresh_stu2_group'
2
2
  require_relative 'patient_context_test'
3
+ require_relative 'scope_constants'
3
4
 
4
5
  module ONCCertificationG10TestKit
5
6
  class SMARTAsymmetricLaunchGroup < Inferno::TestGroup
7
+ include ScopeConstants
8
+
6
9
  title 'Asymmetric Client Standalone Launch'
7
10
  short_title 'Asymmetric Client Launch'
8
11
  description %(
@@ -46,35 +49,37 @@ module ONCCertificationG10TestKit
46
49
 
47
50
  config(
48
51
  inputs: {
49
- client_id: {
50
- name: :asymmetric_client_id,
51
- title: 'Asymmetric Launch Client ID'
52
- },
53
- client_secret: {
54
- name: :asymmetric_client_secret,
55
- title: 'Asymmetric Launch Client Secret',
56
- default: nil,
57
- optional: true,
58
- locked: true
59
- },
60
- requested_scopes: {
61
- name: :asymmetric_requested_scopes,
62
- title: 'Asymmetric Launch Scope',
63
- default: %(
64
- launch/patient openid fhirUser offline_access patient/Medication.rs
65
- patient/AllergyIntolerance.rs patient/CarePlan.rs
66
- patient/CareTeam.rs patient/Condition.rs patient/Device.rs
67
- patient/DiagnosticReport.rs patient/DocumentReference.rs
68
- patient/Encounter.rs patient/Goal.rs patient/Immunization.rs
69
- patient/Location.rs patient/MedicationRequest.rs
70
- patient/Observation.rs patient/Organization.rs patient/Patient.rs
71
- patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs
72
- patient/PractitionerRole.rs
73
- ).gsub(/\s{2,}/, ' ').strip
74
- },
75
- url: {
76
- title: 'Asymmetric Launch FHIR Endpoint',
77
- description: 'URL of the FHIR endpoint used by standalone applications'
52
+ smart_auth_info: {
53
+ name: :asymmetric_smart_auth_info,
54
+ title: 'Asymmetric Launch Credentials',
55
+ options: {
56
+ mode: 'auth',
57
+ components: [
58
+ {
59
+ name: :auth_type,
60
+ default: 'asymmetric',
61
+ locked: true
62
+ },
63
+ {
64
+ name: :requested_scopes,
65
+ default: STANDALONE_SMART_2_SCOPES
66
+ },
67
+ {
68
+ name: :pkce_support,
69
+ default: 'enabled',
70
+ locked: true
71
+ },
72
+ {
73
+ name: :pkce_code_challenge_method,
74
+ default: 'S256',
75
+ locked: true
76
+ },
77
+ {
78
+ name: :jwks,
79
+ locked: true
80
+ }
81
+ ]
82
+ }
78
83
  },
79
84
  code: {
80
85
  name: :asymmetric_code
@@ -82,49 +87,22 @@ module ONCCertificationG10TestKit
82
87
  state: {
83
88
  name: :asymmetric_state
84
89
  },
85
- smart_authorization_url: {
86
- title: 'OAuth 2.0 Authorize Endpoint',
87
- description: 'OAuth 2.0 Authorize Endpoint provided during the patient standalone launch'
88
- },
89
- smart_credentials: {
90
- name: :asymmetric_smart_credentials
91
- },
92
- use_pkce: {
93
- default: 'true',
94
- locked: true
95
- },
96
- pkce_code_challenge_method: {
97
- locked: true
98
- },
99
- client_auth_type: {
100
- name: :asymmetric_client_auth_type,
101
- locked: true,
102
- default: 'confidential_asymmetric'
103
- },
104
- refresh_token: {
105
- name: :asymmetric_refresh_token
106
- },
107
90
  received_scopes: {
108
91
  name: :asymmetric_received_scopes
109
92
  },
110
- client_auth_encryption_method: {
111
- name: :asymmetric_client_auth_encryption_method,
112
- locked: false
93
+ patient_id: {
94
+ name: :asymmetric_patient_id
113
95
  }
114
96
  },
115
97
  outputs: {
116
- access_token: { name: :asymmetric_access_token },
117
98
  code: { name: :asymmetric_code },
118
99
  encounter_id: { name: :asymmetric_encounter_id },
119
- expires_in: { name: :asymmetric_expires_in },
120
100
  id_token: { name: :asymmetric_id_token },
121
101
  intent: { name: :asymmetric_intent },
122
102
  patient_id: { name: :asymmetric_patient_id },
123
103
  received_scopes: { name: :asymmetric_received_scopes },
124
- refresh_token: { name: :asymmetric_refresh_token },
125
- smart_credentials: { name: :asymmetric_smart_credentials },
126
- state: { name: :asymmetric_state },
127
- token_retrieval_time: { name: :asymmetric_token_retrieval_time }
104
+ smart_auth_info: { name: :asymmetric_smart_auth_info },
105
+ state: { name: :asymmetric_state }
128
106
  },
129
107
  requests: {
130
108
  redirect: { name: :asymmetric_redirect },
@@ -132,16 +110,6 @@ module ONCCertificationG10TestKit
132
110
  }
133
111
  )
134
112
 
135
- input_order :url,
136
- :asymmetric_client_id,
137
- :asymmetric_client_secret,
138
- :asymmetric_requested_scopes,
139
- :use_pkce,
140
- :pkce_code_challenge_method,
141
- :authorization_method,
142
- :asymmetric_client_auth_type,
143
- :client_auth_encryption_method
144
-
145
113
  group from: :smart_discovery_stu2,
146
114
  required_suite_options: G10Options::SMART_2_REQUIREMENT
147
115
  group from: :smart_discovery_stu2_2, # rubocop:disable Naming/VariableNumber
@@ -149,13 +117,7 @@ module ONCCertificationG10TestKit
149
117
 
150
118
  group from: :smart_standalone_launch_stu2 do
151
119
  required_suite_options(G10Options::SMART_2_REQUIREMENT)
152
- test from: :g10_patient_context,
153
- config: {
154
- inputs: {
155
- patient_id: { name: :asymmetric_patient_id },
156
- smart_credentials: { name: :asymmetric_smart_credentials }
157
- }
158
- }
120
+ test from: :g10_patient_context
159
121
 
160
122
  test do
161
123
  title 'OAuth token exchange response contains OpenID Connect id_token'
@@ -175,15 +137,10 @@ module ONCCertificationG10TestKit
175
137
  end
176
138
  end
177
139
  end
140
+
178
141
  group from: :smart_standalone_launch_stu2_2 do # rubocop:disable Naming/VariableNumber
179
142
  required_suite_options(G10Options::SMART_2_2_REQUIREMENT)
180
- test from: :g10_patient_context,
181
- config: {
182
- inputs: {
183
- patient_id: { name: :asymmetric_patient_id },
184
- smart_credentials: { name: :asymmetric_smart_credentials }
185
- }
186
- }
143
+ test from: :g10_patient_context
187
144
 
188
145
  test do
189
146
  title 'OAuth token exchange response contains OpenID Connect id_token'
@@ -209,10 +166,6 @@ module ONCCertificationG10TestKit
209
166
 
210
167
  test from: :g10_patient_context do
211
168
  config(
212
- inputs: {
213
- patient_id: { name: :asymmetric_patient_id },
214
- smart_credentials: { name: :asymmetric_smart_credentials }
215
- },
216
169
  options: {
217
170
  refresh_test: true
218
171
  }
@@ -33,17 +33,28 @@ module ONCCertificationG10TestKit
33
33
 
34
34
  config(
35
35
  inputs: {
36
- client_id: {
37
- name: :ehr_patient_client_id
38
- },
39
- client_secret: {
40
- name: :ehr_patient_client_secret,
41
- optional: false
42
- },
43
- requested_scopes: {
44
- name: :ehr_patient_requested_scopes,
45
- default: 'launch openid fhirUser offline_access patient/Patient.read',
46
- locked: true
36
+ smart_auth_info: {
37
+ name: :ehr_patient_smart_auth_info,
38
+ title: 'EHR Launch with Patient Scopes Credentials',
39
+ options: {
40
+ mode: 'auth',
41
+ components: [
42
+ {
43
+ name: :auth_type,
44
+ default: 'symmetric',
45
+ locked: true
46
+ },
47
+ {
48
+ name: :requested_scopes,
49
+ default: 'launch openid fhirUser offline_access patient/Patient.read',
50
+ locked: true
51
+ },
52
+ {
53
+ name: :use_discovery,
54
+ locked: true
55
+ }
56
+ ]
57
+ }
47
58
  },
48
59
  code: {
49
60
  name: :ehr_patient_code
@@ -57,33 +68,20 @@ module ONCCertificationG10TestKit
57
68
  received_scopes: {
58
69
  name: :ehr_patient_received_scopes
59
70
  },
60
- smart_credentials: {
61
- name: :ehr_patient_smart_credentials
62
- },
63
- smart_authorization_url: {
64
- title: 'OAuth 2.0 Authorize Endpoint',
65
- description: 'OAuth 2.0 Authorize Endpoint provided during the EHR launch'
66
- },
67
- smart_token_url: {
68
- title: 'OAuth 2.0 Token Endpoint',
69
- description: 'OAuth 2.0 Token Endpoint provided during the EHR launch'
71
+ patient_id: {
72
+ name: :ehr_patient_patient_id
70
73
  }
71
74
  },
72
75
  outputs: {
73
76
  launch: { name: :ehr_patient_launch },
74
77
  code: { name: :ehr_patient_code },
75
- token_retrieval_time: { name: :ehr_patient_token_retrieval_time },
76
78
  state: { name: :ehr_patient_state },
77
79
  id_token: { name: :ehr_patient_id_token },
78
- refresh_token: { name: :ehr_patient_refresh_token },
79
- access_token: { name: :ehr_patient_access_token },
80
- expires_in: { name: :ehr_patient_expires_in },
81
80
  patient_id: { name: :ehr_patient_patient_id },
82
81
  encounter_id: { name: :ehr_patient_encounter_id },
83
82
  received_scopes: { name: :ehr_patient_received_scopes },
84
- requested_scopes: { name: :ehr_patient_requested_scopes },
85
83
  intent: { name: :ehr_patient_intent },
86
- smart_credentials: { name: :ehr_patient_smart_credentials }
84
+ smart_auth_info: { name: :ehr_patient_smart_auth_info }
87
85
  },
88
86
  requests: {
89
87
  redirect: { name: :ehr_patient_redirect },
@@ -91,20 +89,7 @@ module ONCCertificationG10TestKit
91
89
  }
92
90
  )
93
91
 
94
- input_order :url,
95
- :ehr_patient_client_id,
96
- :ehr_patient_client_secret,
97
- :smart_authorization_url,
98
- :smart_token_url,
99
- :ehr_patient_requested_scopes
100
-
101
- test from: :g10_patient_context,
102
- config: {
103
- inputs: {
104
- patient_id: { name: :ehr_patient_patient_id },
105
- smart_credentials: { name: :ehr_patient_smart_credentials }
106
- }
107
- }
92
+ test from: :g10_patient_context
108
93
 
109
94
  test from: :g10_patient_scope,
110
95
  config: {
@@ -112,5 +97,10 @@ module ONCCertificationG10TestKit
112
97
  scope_version: :v1
113
98
  }
114
99
  }
100
+
101
+ test from: :well_known_endpoint
102
+
103
+ # Move the well-known endpoint test to the beginning
104
+ children.prepend(children.pop)
115
105
  end
116
106
  end