onc_certification_g10_test_kit 5.4.1 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|