onc_certification_g10_test_kit 5.4.2 → 6.0.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/onc_certification_g10_test_kit/base_token_refresh_stu2_group.rb +49 -0
  3. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +13 -8
  4. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +12 -7
  5. data/lib/onc_certification_g10_test_kit/onc_program_procedure.yml +448 -468
  6. data/lib/onc_certification_g10_test_kit/short_id_map.yml +227 -17
  7. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +6 -1
  8. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +6 -1
  9. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +8 -5
  10. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +16 -17
  11. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +194 -0
  12. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +2 -4
  13. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +7 -6
  14. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +23 -7
  15. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +188 -0
  16. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +150 -0
  17. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +53 -0
  18. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +6 -7
  19. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +8 -10
  20. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +7 -9
  21. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +5 -3
  22. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +14 -16
  23. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +28 -4
  24. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +34 -25
  25. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +20 -9
  26. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +241 -0
  27. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +75 -51
  28. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +110 -0
  29. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +1 -1
  30. data/lib/onc_certification_g10_test_kit/version.rb +1 -1
  31. data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +57 -37
  32. data/lib/onc_certification_g10_test_kit.rb +84 -18
  33. metadata +13 -6
@@ -0,0 +1,110 @@
1
+ require 'smart_app_launch/standalone_launch_group'
2
+ require 'smart_app_launch/discovery_stu1_group'
3
+ require 'smart_app_launch/token_introspection_group'
4
+
5
+ require_relative 'g10_options'
6
+
7
+ module ONCCertificationG10TestKit
8
+ class TokenIntrospectionGroup < SMARTAppLaunch::SMARTTokenIntrospectionGroup
9
+ id :g10_token_introspection
10
+
11
+ description <<~DESCRIPTION
12
+
13
+ This scenario verifies the ability of an authorization server to
14
+ perform token introspection in accordance with the [SMART App Launch STU2
15
+ Implementation Guide Section on Token
16
+ Introspection](https://hl7.org/fhir/smart-app-launch/STU2/token-introspection.html).
17
+ Inferno first acts as a registered SMART App Launch client to request and
18
+ receive a valid access token, and then as an authorized resource server that
19
+ queries the authorization server for information about this access token.
20
+
21
+ The system under test must perform the following in order to pass this
22
+ scenario:
23
+ * Issue a new bearer token to Inferno acting as a registered SMART App
24
+ Launch client. The tester has flexibility in deciding what type of SMART
25
+ App Launch client is used (e.g. public or confidential). This is
26
+ redundant to tests earlier in this test suite, but is performed to ensure
27
+ an active token can be introspected.
28
+ * Respond to a token introspection request from Inferno acting as a
29
+ resource server for both valid and invalid tokens. Systems have flexibility
30
+ in how access control for this service is implemented. To account for
31
+ this flexibility, the tester has the ability to add an Authorization
32
+ Header to the request (provided out-of-band of these tests), as well as
33
+ additional Introspect parameters, as allowed by the specification.
34
+
35
+ DESCRIPTION
36
+
37
+ input_instructions <<~INSTRUCTIONS
38
+ If the introspection endpoint is access controlled, testers must enter their own
39
+ HTTP Authorization header for the introspection request. See [RFC 7616 The
40
+ 'Basic' HTTP Authentication
41
+ Scheme](https://datatracker.ietf.org/doc/html/rfc7617) for the most common
42
+ approach that uses client credentials. Testers may also provide any
43
+ additional parameters needed for their authorization server to complete
44
+ the introspection request.
45
+
46
+ **Note:** For both the Authorization header and request parameters, user-input
47
+ values will be sent exactly as entered and therefore the tester must
48
+ URI-encode any appropriate values.
49
+ INSTRUCTIONS
50
+
51
+ run_as_group
52
+
53
+ input :well_known_introspection_url,
54
+ title: 'Token Introspection Endpoint',
55
+ description: <<~DESCRIPTION,
56
+ The complete URL of the token introspection endpoint. This will be
57
+ populated automatically if included in the server's discovery
58
+ endpoint.
59
+ DESCRIPTION
60
+ optional: true
61
+
62
+ input_order :url,
63
+ :well_known_introspection_url,
64
+ :custom_authorization_header,
65
+ :optional_introspection_request_params,
66
+ :standalone_client_id,
67
+ :standalone_client_secret,
68
+ :authorization_method,
69
+ :use_pkce,
70
+ :pkce_code_challenge_method,
71
+ :standalone_requested_scopes,
72
+ :token_introspection_auth_type,
73
+ :client_auth_encryption_method
74
+
75
+ config(
76
+ inputs: {
77
+ client_auth_type: {
78
+ name: :token_introspection_auth_type
79
+ }
80
+ }
81
+ )
82
+
83
+ groups.first.description <<~DESCRIPTION
84
+ These tests are perform discovery and a standalone launch in order to
85
+ receive a new, active access token that will be provided for token
86
+ introspection.
87
+ DESCRIPTION
88
+
89
+ groups[1].description <<~DESCRIPTION
90
+ This group of tests executes the token introspection requests and ensures
91
+ the correct HTTP response is returned but does not validate the contents
92
+ of the token introspection response.
93
+ DESCRIPTION
94
+
95
+ # The token introspection tests are SMART v2 only, so they use v2 discovery
96
+ # and launch groups. g10 needs them for SMART v1 and v2, so this sets the
97
+ # original discovery and launch groups to only appear when using SMART v2,
98
+ # and adds the v1 groups when using v1.
99
+
100
+ groups.first.groups.each do |group|
101
+ group.required_suite_options(G10Options::SMART_2_REQUIREMENT)
102
+ end
103
+
104
+ groups.first.group from: :smart_discovery,
105
+ required_suite_options: G10Options::SMART_1_REQUIREMENT
106
+
107
+ groups.first.group from: :smart_standalone_launch,
108
+ required_suite_options: G10Options::SMART_1_REQUIREMENT
109
+ end
110
+ end
@@ -2,7 +2,7 @@ module ONCCertificationG10TestKit
2
2
  class TokenRevocationGroup < Inferno::TestGroup
3
3
  title 'Token Revocation'
4
4
  description %(
5
- Demonstrate the Health IT module is capable of revoking access granted to
5
+ This scenario verifies the ability of the system to revoke access granted to
6
6
  an application at the direction of a patient. Access to the application
7
7
  must be revoked within one hour of the patient's request.
8
8
  )
@@ -1,3 +1,3 @@
1
1
  module ONCCertificationG10TestKit
2
- VERSION = '5.4.2'.freeze
2
+ VERSION = '6.0.0'.freeze
3
3
  end
@@ -189,43 +189,6 @@ module ONCCertificationG10TestKit
189
189
  end
190
190
  end
191
191
 
192
- test do
193
- title 'Health IT developer demonstrated the ability of the Health IT Module / ' \
194
- 'authorization server to validate token it has issued.'
195
- description %(
196
- Health IT developer demonstrated the ability of the Health IT Module /
197
- authorization server to validate token it has issued
198
- )
199
- id 'Test06'
200
- input :token_validation_support,
201
- title: 'Health IT developer demonstrated the ability of the Health IT Module / authorization server to validate token it has issued.', # rubocop:disable Layout/LineLength
202
- type: 'radio',
203
- default: 'false',
204
- options: {
205
- list_options: [
206
- {
207
- label: 'Yes',
208
- value: 'true'
209
- },
210
- {
211
- label: 'No',
212
- value: 'false'
213
- }
214
- ]
215
- }
216
- input :token_validation_notes,
217
- title: 'Notes, if applicable:',
218
- type: 'textarea',
219
- optional: true
220
-
221
- run do
222
- assert token_validation_support == 'true',
223
- 'Health IT Module did not demonstrate the ability of the Health IT Module / ' \
224
- 'authorization server to validate token it has issued'
225
- pass token_validation_notes if token_validation_notes.present?
226
- end
227
- end
228
-
229
192
  test do
230
193
  title 'Tester verifies that all information is accurate and without omission.'
231
194
  description %(
@@ -646,5 +609,62 @@ module ONCCertificationG10TestKit
646
609
  pass bulk_v2_since_attestation_notes if bulk_v2_since_attestation_notes.present?
647
610
  end
648
611
  end
612
+
613
+ test do
614
+ required_suite_options G10Options::SMART_2_REQUIREMENT.merge(G10Options::US_CORE_6_REQUIREMENT)
615
+ title 'Health IT developer attested that the Health IT Module supports ' \
616
+ 'granting a sub resource scope for Clinical Test Observations.'
617
+
618
+ description <<~DESCRIPTION
619
+ As finalized in the HTI-1 Final Rule (89 FR 1294), Health IT Modules are
620
+ required to support SMART App Launch v2.0.0 "Finer-grained resource
621
+ constraints using search parameters" for the “category” parameter for
622
+ the Condition resource with Condition sub-resources Encounter Diagnosis,
623
+ Problem List, and Health Concern, and the Observation resource with
624
+ Observation sub-resources Clinical Test, Laboratory, Social History,
625
+ SDOH, Survey, and Vital Signs. We defer to the implementation guides
626
+ referenced at § 170.215(b)(1) and § 170.215(c) for specific
627
+ implementation guidance for this requirement. In the context of the US
628
+ Core 6.1.0 implementation guide, the Observation sub-resources of
629
+ Clinical Test and SDOH may have scopes supported as follows:
630
+
631
+ * support for scopes for the Observation sub-resource Clinical Test
632
+ using the "procedure" code from the US Core Clinical Result
633
+ Observation Category value set.
634
+
635
+ * support for scopes for the Observation sub-resource SDOH using the
636
+ "sdoh" code from the US Core Category code system .
637
+ DESCRIPTION
638
+ id :g10_clinical_test_scope_attestation
639
+ input :clinical_test_scope_attestation,
640
+ title: 'Health IT developer attested that the Health IT Module supports ' \
641
+ 'granting a sub resource scope for Clinical Test Observations.',
642
+ type: 'radio',
643
+ default: 'false',
644
+ options: {
645
+ list_options: [
646
+ {
647
+ label: 'Yes',
648
+ value: 'true'
649
+ },
650
+ {
651
+ label: 'No',
652
+ value: 'false'
653
+ }
654
+ ]
655
+ }
656
+ input :clinical_test_scope_attestation_notes,
657
+ title: 'Notes, if applicable:',
658
+ type: 'textarea',
659
+ optional: true
660
+
661
+ run do
662
+ assert clinical_test_scope_attestation == 'true',
663
+ 'Health IT developer did not attest that the Health IT Module supports ' \
664
+ 'granting a sub resource scope for Clinical Test Observations.'
665
+
666
+ pass clinical_test_scope_attestation_notes if clinical_test_scope_attestation_notes.present?
667
+ end
668
+ end
649
669
  end
650
670
  end
@@ -7,26 +7,32 @@ require_relative 'onc_certification_g10_test_kit/version'
7
7
 
8
8
  require_relative 'onc_certification_g10_test_kit/feature'
9
9
  require_relative 'onc_certification_g10_test_kit/g10_options'
10
+ require_relative 'onc_certification_g10_test_kit/multi_patient_api_stu1'
11
+ require_relative 'onc_certification_g10_test_kit/multi_patient_api_stu2'
10
12
  require_relative 'onc_certification_g10_test_kit/single_patient_api_group'
11
13
  require_relative 'onc_certification_g10_test_kit/single_patient_us_core_4_api_group'
12
14
  require_relative 'onc_certification_g10_test_kit/single_patient_us_core_5_api_group'
13
15
  require_relative 'onc_certification_g10_test_kit/single_patient_us_core_6_api_group'
14
16
  require_relative 'onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group'
17
+ require_relative 'onc_certification_g10_test_kit/smart_asymmetric_launch_group'
18
+ require_relative 'onc_certification_g10_test_kit/smart_granular_scope_selection_group'
15
19
  require_relative 'onc_certification_g10_test_kit/smart_invalid_token_group'
16
20
  require_relative 'onc_certification_g10_test_kit/smart_invalid_token_group_stu2'
17
21
  require_relative 'onc_certification_g10_test_kit/smart_invalid_pkce_group'
18
22
  require_relative 'onc_certification_g10_test_kit/smart_limited_app_group'
19
23
  require_relative 'onc_certification_g10_test_kit/smart_standalone_patient_app_group'
20
- require_relative 'onc_certification_g10_test_kit/smart_ehr_practitioner_app_group'
21
24
  require_relative 'onc_certification_g10_test_kit/smart_public_standalone_launch_group'
22
25
  require_relative 'onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2'
23
26
  require_relative 'onc_certification_g10_test_kit/smart_ehr_patient_launch_group'
24
27
  require_relative 'onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2'
25
- require_relative 'onc_certification_g10_test_kit/multi_patient_api_stu1'
26
- require_relative 'onc_certification_g10_test_kit/multi_patient_api_stu2'
28
+ require_relative 'onc_certification_g10_test_kit/smart_ehr_practitioner_app_group'
29
+ require_relative 'onc_certification_g10_test_kit/smart_fine_grained_scopes_group'
30
+ require_relative 'onc_certification_g10_test_kit/smart_v1_scopes_group'
27
31
  require_relative 'onc_certification_g10_test_kit/terminology_binding_validator'
32
+ require_relative 'onc_certification_g10_test_kit/token_introspection_group'
28
33
  require_relative 'onc_certification_g10_test_kit/token_revocation_group'
29
34
  require_relative 'onc_certification_g10_test_kit/visual_inspection_and_attestations_group'
35
+
30
36
  require_relative 'inferno/terminology'
31
37
  require_relative 'onc_certification_g10_test_kit/short_id_manager'
32
38
 
@@ -251,13 +257,37 @@ module ONCCertificationG10TestKit
251
257
  )
252
258
 
253
259
  description %(
254
- The ONC Certification (g)(10) Standardized API Test Kit is a testing tool for
255
- Health Level 7 (HL7®) Fast Healthcare Interoperability Resources (FHIR®)
256
- services seeking to meet the requirements of the Standardized API for
257
- Patient and Population Services criterion § 170.315(g)(10) in the ONC Certification Program.
258
-
259
- To get started, please first register the Inferno client as a SMART App
260
- with the following information:
260
+ The ONC Certification (g)(10) Standardized API Test Suite is a testing
261
+ tool for Health Level 7 (HL7®) Fast Healthcare Interoperability Resources
262
+ (FHIR®) services seeking to meet the requirements of the Standardized API
263
+ for Patient and Population Services criterion § 170.315(g)(10) in the ONC
264
+ Certification Program.
265
+
266
+ This test suite is organized into testing scenarios that in sum cover all
267
+ requirements within the § 170.315(g)(10) certification criterion. The
268
+ scenarios are intended to be run in order during certification, but can
269
+ be run out of order to support testing during development or certification
270
+ preparation. Some scenarios depend on data collected during previous
271
+ scenarios to function. In these cases, the scenario description describes
272
+ these dependencies.
273
+
274
+ The best way to learn about how to use these tests is the
275
+ [(g)(10) Standardized API Test Kit walkthrough](https://github.com/onc-healthit/onc-certification-g10-test-kit/wiki/Walkthrough),
276
+ which demonstrates the tests running against a simulated system.
277
+
278
+ The first three scenarios require the system under test to demonstrate
279
+ basic SMART App Launch functionality. The fourth uses a valid token
280
+ provided during earlier tests to verify support for the Single Patient API
281
+ as described in the criterion. The fifth verifies support for the Multi
282
+ Patient API, including Backend Services for authorization. Not all
283
+ authorization-related requirements are verified in the first three
284
+ scenarios, and the 'Additional Authorization Tests' verify these
285
+ additional requirements. The last scenario contains a list of
286
+ 'attestations' and 'visual inspections' for requirements that could not
287
+ be verified through automated testing.
288
+
289
+ To get started with the first group of scenarios, please first register the
290
+ Inferno client as a SMART App with the following information:
261
291
 
262
292
  * SMART Launch URI: `#{SMARTAppLaunch::AppLaunchTest.config.options[:launch_uri]}`
263
293
  * OAuth Redirect URI: `#{SMARTAppLaunch::AppRedirectTest.config.options[:redirect_uri]}`
@@ -267,7 +297,7 @@ module ONCCertificationG10TestKit
267
297
 
268
298
  * `#{Inferno::Application[:base_url]}/custom/g10_certification/.well-known/jwks.json`
269
299
 
270
- Systems must pass all tests in order to qualify for ONC certification.
300
+ Systems must pass all tests to qualify for ONC certification.
271
301
  )
272
302
 
273
303
  suite_summary %(
@@ -315,14 +345,22 @@ module ONCCertificationG10TestKit
315
345
  required_suite_options: G10Options::BULK_DATA_2_REQUIREMENT
316
346
 
317
347
  group do
318
- title 'Additional Tests'
348
+ title 'Additional Authorization Tests'
319
349
  id 'Group06'
320
350
  description %(
321
- Not all requirements that need to be tested fit within the previous
322
- scenarios. The tests contained in this section addresses remaining
323
- testing requirements. Each of these tests need to be run independently.
324
- Please read the instructions for each in the 'About' section, as they
325
- may require special setup on the part of the tester.
351
+ The (g)(10) Standardized Test Suite attempts to minimize effort required
352
+ by testers by creating scenarios that validate as many requirements as
353
+ possible with just a handful of SMART App Launches. However, not all
354
+ SMART App Launch and (g)(10) Standardized API criterion requirements
355
+ that need to be verified fit within the first few test scenarios in this
356
+ suite.
357
+
358
+ The scenarios contained in this section verify remaining testing
359
+ requirements for the (g)(10) Standardized API criterion relevant to
360
+ the SMART App Launch implementation specification. Each of these scenarios
361
+ need to be run independently. Please read the instructions for each in
362
+ the 'About' section, as they may require special setup on the part of
363
+ the tester.
326
364
  )
327
365
 
328
366
  default_redirect_message_proc = lambda do |auth_url|
@@ -336,6 +374,14 @@ module ONCCertificationG10TestKit
336
374
  )
337
375
  end
338
376
 
377
+ config(
378
+ inputs: {
379
+ client_auth_encryption_method: {
380
+ locked: false
381
+ }
382
+ }
383
+ )
384
+
339
385
  group from: :g10_public_standalone_launch,
340
386
  required_suite_options: G10Options::SMART_1_REQUIREMENT,
341
387
  config: { options: { redirect_message_proc: default_redirect_message_proc } }
@@ -363,8 +409,28 @@ module ONCCertificationG10TestKit
363
409
  group from: :g10_ehr_patient_launch_stu2,
364
410
  required_suite_options: G10Options::SMART_2_REQUIREMENT
365
411
 
366
- group from: :g10_visual_inspection_and_attestations
412
+ group from: :g10_token_introspection
413
+
414
+ group from: :g10_asymmetric_launch,
415
+ required_suite_options: G10Options::SMART_2_REQUIREMENT
416
+
417
+ group from: :g10_smart_v1_scopes,
418
+ required_suite_options: G10Options::SMART_2_REQUIREMENT,
419
+ config: {
420
+ inputs: {
421
+ client_auth_encryption_method: { locked: true }
422
+ }
423
+ }
424
+
425
+ group from: :g10_smart_fine_grained_scopes,
426
+ required_suite_options: G10Options::SMART_2_REQUIREMENT.merge(G10Options::US_CORE_6_REQUIREMENT),
427
+ exclude_optional: true
428
+
429
+ group from: :g10_smart_granular_scope_selection,
430
+ required_suite_options: G10Options::SMART_2_REQUIREMENT.merge(G10Options::US_CORE_6_REQUIREMENT)
367
431
  end
432
+
433
+ group from: :g10_visual_inspection_and_attestations
368
434
  end
369
435
  end
370
436
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onc_certification_g10_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.2
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen MacVicar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-10 00:00:00.000000000 Z
11
+ date: 2024-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bloomer
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.2
117
+ version: 0.4.3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.2
124
+ version: 0.4.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: tls_test_kit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 0.7.2
145
+ version: 0.8.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 0.7.2
152
+ version: 0.8.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: database_cleaner-sequel
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -249,6 +249,7 @@ files:
249
249
  - lib/onc_certification_g10_test_kit.rb
250
250
  - lib/onc_certification_g10_test_kit/authorization_request_builder.rb
251
251
  - lib/onc_certification_g10_test_kit/base_token_refresh_group.rb
252
+ - lib/onc_certification_g10_test_kit/base_token_refresh_stu2_group.rb
252
253
  - lib/onc_certification_g10_test_kit/bulk_data_authorization.rb
253
254
  - lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu1.rb
254
255
  - lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu2.rb
@@ -291,9 +292,13 @@ files:
291
292
  - lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb
292
293
  - lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb
293
294
  - lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb
295
+ - lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb
294
296
  - lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb
295
297
  - lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb
296
298
  - lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb
299
+ - lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb
300
+ - lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb
301
+ - lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb
297
302
  - lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb
298
303
  - lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb
299
304
  - lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb
@@ -303,9 +308,11 @@ files:
303
308
  - lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb
304
309
  - lib/onc_certification_g10_test_kit/smart_scopes_test.rb
305
310
  - lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb
311
+ - lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb
306
312
  - lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb
307
313
  - lib/onc_certification_g10_test_kit/tasks/test_procedure.rb
308
314
  - lib/onc_certification_g10_test_kit/terminology_binding_validator.rb
315
+ - lib/onc_certification_g10_test_kit/token_introspection_group.rb
309
316
  - lib/onc_certification_g10_test_kit/token_revocation_group.rb
310
317
  - lib/onc_certification_g10_test_kit/unauthorized_access_test.rb
311
318
  - lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb