onc_certification_g10_test_kit 5.4.1 → 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 (34) 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/patient_context_test.rb +3 -2
  7. data/lib/onc_certification_g10_test_kit/short_id_map.yml +227 -17
  8. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +6 -1
  9. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +6 -1
  10. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +8 -5
  11. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +16 -17
  12. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +194 -0
  13. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +2 -4
  14. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +7 -6
  15. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +23 -7
  16. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +188 -0
  17. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +150 -0
  18. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +53 -0
  19. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +6 -7
  20. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +8 -10
  21. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +7 -9
  22. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +5 -3
  23. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +14 -16
  24. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +28 -4
  25. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +34 -25
  26. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +20 -9
  27. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +241 -0
  28. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +75 -51
  29. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +110 -0
  30. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +1 -1
  31. data/lib/onc_certification_g10_test_kit/version.rb +1 -1
  32. data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +57 -37
  33. data/lib/onc_certification_g10_test_kit.rb +86 -19
  34. metadata +13 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c77229c3c6fcbdc7b64a8a0546e9e702d14e043f3f7df0942ebebcda98cc925
4
- data.tar.gz: cb085ca88b895bb9a543d13f99fa26afd60cb40a8a99744440e86ba410d4519b
3
+ metadata.gz: 136ce0bc24a1319f569cc5c8e5a093588bd3a04e069f5cfffa399b1813c2e2b7
4
+ data.tar.gz: a11f128cfeebb624c5f6e83a3a9205a63c2024859469b0bb6d50fdc6976ee5a9
5
5
  SHA512:
6
- metadata.gz: b499a93ec58df40a69178e3d78794573c374f3c000f97c78564032fa846e380bbd42cbe0c78ba733e64f6bf2d64c965e99e48deb7783aea1cda6921d11ae2d46
7
- data.tar.gz: ad0974f9b1a8f2771b9f30fd4670cf8b391b7201e2466f804a0a10fe54d0f6d599a5d608914f90fe141853ef1628dfb1fc8e39cb1451f6552f4ce86a4a034a48
6
+ metadata.gz: 74a918854bc39c5094a44769a47cc8ae9695547ed390733103b1e23ba295db8a1aa3abbc75e5c59a26f5aa600e170333a783c6307958e763bda8e6a8dadf9b2c
7
+ data.tar.gz: 4bd7fc32a080563eb0710de0e91b38b7b76826b01bffc0c9ad0939991644bc3c647fedbd43fb6c831536d4d2fbbae37ac65da11ba12cec0fa9adbbcb0aaeeaad
@@ -0,0 +1,49 @@
1
+ require_relative 'smart_invalid_token_refresh_test'
2
+
3
+ module ONCCertificationG10TestKit
4
+ class BaseTokenRefreshSTU2Group < Inferno::TestGroup
5
+ title 'Token Refresh'
6
+ description %(
7
+ # Background
8
+
9
+ The #{title} Sequence tests the ability of the system to successfuly
10
+ exchange a refresh token for an access token. Refresh tokens are typically
11
+ longer lived than access tokens and allow client applications to obtain a
12
+ new access token Refresh tokens themselves cannot provide access to
13
+ resources on the server.
14
+
15
+ Token refreshes are accomplished through a `POST` request to the token
16
+ exchange endpoint as described in the SMART App Launch Framework.
17
+
18
+ # Test Methodology
19
+
20
+ This test attempts to exchange the refresh token for a new access token
21
+ and verify that the information returned contains the required fields and
22
+ uses the proper headers.
23
+
24
+ For more information see:
25
+
26
+ * [The OAuth 2.0 Authorization
27
+ Framework](https://tools.ietf.org/html/rfc6749)
28
+ * [Using a refresh token to obtain a new access token
29
+ (STU2)](http://hl7.org/fhir/smart-app-launch/STU2/app-launch.html#refresh-access-token)
30
+ )
31
+ id :g10_token_refresh_stu2
32
+
33
+ test from: :smart_token_refresh_stu2,
34
+ id: :g10_token_refresh_without_scopes,
35
+ config: {
36
+ options: { include_scopes: false }
37
+ }
38
+ test from: :smart_token_refresh_body,
39
+ id: :g10_token_refresh_body_without_scopes
40
+ test from: :smart_token_refresh,
41
+ title: 'Server successfully refreshes the access token when optional scope parameter provided',
42
+ id: :g10_token_refresh_with_scopes,
43
+ config: {
44
+ options: { include_scopes: true }
45
+ }
46
+ test from: :smart_token_refresh_body,
47
+ id: :g10_token_refresh_body_with_scopes
48
+ end
49
+ end
@@ -21,20 +21,25 @@ module ONCCertificationG10TestKit
21
21
  )
22
22
 
23
23
  description %(
24
- Demonstrate the ability to export clinical data for multiple patients in a
25
- group using [FHIR Bulk Data Access
26
- IG](http://hl7.org/fhir/uv/bulkdata/STU1.0.1/). This test uses [Backend
27
- Services
24
+ This scenario verifies the ability of the system to export clinical data
25
+ for multiple patients in a group using [FHIR Bulk Data Access
26
+ IG](http://hl7.org/fhir/uv/bulkdata/STU1.0.1/). This scenario uses
27
+ [Backend Services
28
28
  Authorization](http://hl7.org/fhir/uv/bulkdata/STU1.0.1/authorization/index.html)
29
29
  to obtain an access token from the server. After authorization, a group
30
- level bulk data export request is initialized. Finally, this test reads
31
- exported NDJSON files from the server and validates the resources in each
32
- file. To run the test successfully, the selected group export is required
33
- to have resources conforming to every profile mapped to [USCDI data
30
+ level bulk data export request is initialized. Finally, this scenario
31
+ reads exported NDJSON files from the server and validates the resources in
32
+ each file. To run the test successfully, the selected group export is
33
+ required to have resources conforming to every profile mapped to [USCDI
34
+ data
34
35
  elements](https://www.healthit.gov/isa/us-core-data-interoperability-uscdi).
35
36
  Additionally, it is expected the server will provide Encounter, Location,
36
37
  Organization, and Practitioner resources as they are referenced as must
37
38
  support elements in required resources.
39
+
40
+ Prior to executing this scenario, register Inferno with the following JWK Set Url:
41
+
42
+ * `#{Inferno::Application[:base_url]}/custom/g10_certification/.well-known/jwks.json`
38
43
  )
39
44
  id :multi_patient_api
40
45
  run_as_group
@@ -21,20 +21,25 @@ module ONCCertificationG10TestKit
21
21
  )
22
22
 
23
23
  description %(
24
- Demonstrate the ability to export clinical data for multiple patients in a
25
- group using [FHIR Bulk Data Access
26
- IG](https://hl7.org/fhir/uv/bulkdata/STU2/). This test uses [Backend
24
+ This scenario verifies the ability of the system to export clinical data
25
+ for multiple patients in a group using [FHIR Bulk Data Access
26
+ IG](https://hl7.org/fhir/uv/bulkdata/STU2/). This scenario uses [Backend
27
27
  Services
28
28
  Authorization](http://www.hl7.org/fhir/smart-app-launch/backend-services.html)
29
29
  to obtain an access token from the server. After authorization, a group
30
- level bulk data export request is initialized. Finally, this test reads
31
- exported NDJSON files from the server and validates the resources in each
32
- file. To run the test successfully, the selected group export is required
33
- to have resources conforming to every profile mapped to [USCDI data
30
+ level bulk data export request is initialized. Finally, this scenario
31
+ reads exported NDJSON files from the server and validates the resources in
32
+ each file. To run the test successfully, the selected group export is
33
+ required to have resources conforming to every profile mapped to [USCDI
34
+ data
34
35
  elements](https://www.healthit.gov/isa/us-core-data-interoperability-uscdi).
35
36
  Additionally, it is expected the server will provide Encounter, Location,
36
37
  Organization, and Practitioner resources as they are referenced as must
37
38
  support elements in required resources.
39
+
40
+ Prior to executing this scenario, register Inferno with the following JWK Set Url:
41
+
42
+ * `#{Inferno::Application[:base_url]}/custom/g10_certification/.well-known/jwks.json`
38
43
  )
39
44
  id :multi_patient_api_stu2
40
45
  run_as_group