onc_certification_g10_test_kit 5.4.2 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f07d2385113e2c9cd13ac3c9a7e69a266f73f54bd22000cf7ae2f4d28451c02
4
- data.tar.gz: 862de6f225801454504e5e70488000ac688fd453aca24936ec06317d175961f5
3
+ metadata.gz: 136ce0bc24a1319f569cc5c8e5a093588bd3a04e069f5cfffa399b1813c2e2b7
4
+ data.tar.gz: a11f128cfeebb624c5f6e83a3a9205a63c2024859469b0bb6d50fdc6976ee5a9
5
5
  SHA512:
6
- metadata.gz: 6292272b886c8ebba56b0d4fe65e42122706acc644707ac067016acc43b369043bb7130352127336f38022090b0b6eb532e4ace4ebfd562675cb0f0b2aabcfed
7
- data.tar.gz: 32d567b6f1a3fdbbf158eec54479ed891a7b4a7d5c4c08def056e0d2426992fa2ce70734096aa35c19d2576477ca5bbbfad30b072f26d630c58ab52a6e0563ed
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