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.
- checksums.yaml +4 -4
- data/lib/onc_certification_g10_test_kit/base_token_refresh_stu2_group.rb +49 -0
- data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +13 -8
- data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +12 -7
- data/lib/onc_certification_g10_test_kit/onc_program_procedure.yml +448 -468
- data/lib/onc_certification_g10_test_kit/patient_context_test.rb +3 -2
- data/lib/onc_certification_g10_test_kit/short_id_map.yml +227 -17
- data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +6 -1
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +6 -1
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +8 -5
- data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +16 -17
- data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +194 -0
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +2 -4
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +7 -6
- data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +23 -7
- data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +188 -0
- data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +150 -0
- data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +53 -0
- data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +6 -7
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +8 -10
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +7 -9
- data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +5 -3
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +14 -16
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +28 -4
- data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +34 -25
- data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +20 -9
- data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +241 -0
- data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +75 -51
- data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +110 -0
- data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +1 -1
- data/lib/onc_certification_g10_test_kit/version.rb +1 -1
- data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +57 -37
- data/lib/onc_certification_g10_test_kit.rb +86 -19
- metadata +13 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 136ce0bc24a1319f569cc5c8e5a093588bd3a04e069f5cfffa399b1813c2e2b7
|
4
|
+
data.tar.gz: a11f128cfeebb624c5f6e83a3a9205a63c2024859469b0bb6d50fdc6976ee5a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
25
|
-
group using [FHIR Bulk Data Access
|
26
|
-
IG](http://hl7.org/fhir/uv/bulkdata/STU1.0.1/). This
|
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
|
31
|
-
exported NDJSON files from the server and validates the resources in
|
32
|
-
file. To run the test successfully, the selected group export is
|
33
|
-
to have resources conforming to every profile mapped to [USCDI
|
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
|
-
|
25
|
-
group using [FHIR Bulk Data Access
|
26
|
-
IG](https://hl7.org/fhir/uv/bulkdata/STU2/). This
|
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
|
31
|
-
exported NDJSON files from the server and validates the resources in
|
32
|
-
file. To run the test successfully, the selected group export is
|
33
|
-
to have resources conforming to every profile mapped to [USCDI
|
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
|