onc_certification_g10_test_kit 7.0.3 → 7.2.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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/g10_reference_server_preset.json +1467 -0
  3. data/lib/inferno/ext/bloomer.rb +1 -1
  4. data/lib/inferno/terminology/tasks/process_umls.rb +1 -1
  5. data/lib/onc_certification_g10_test_kit/bulk_data_authorization.rb +73 -67
  6. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu1.rb +1 -2
  7. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu2.rb +7 -1
  8. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_parameters.rb +1 -1
  9. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu1.rb +10 -2
  10. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_validation.rb +6 -2
  11. data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +7 -3
  12. data/lib/onc_certification_g10_test_kit/configuration_checker.rb +5 -13
  13. data/lib/onc_certification_g10_test_kit/encounter_context_test.rb +3 -3
  14. data/lib/onc_certification_g10_test_kit/export_kick_off_performer.rb +7 -3
  15. data/lib/onc_certification_g10_test_kit/feature.rb +5 -4
  16. data/lib/onc_certification_g10_test_kit/igs/01-us-core-v400.tgz +0 -0
  17. data/lib/onc_certification_g10_test_kit/igs/03-us-core-v311.tgz +0 -0
  18. data/lib/onc_certification_g10_test_kit/igs/04-us-core-610.tgz +0 -0
  19. data/lib/onc_certification_g10_test_kit/metadata.rb +103 -0
  20. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +0 -4
  21. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +8 -4
  22. data/lib/onc_certification_g10_test_kit/patient_context_test.rb +3 -3
  23. data/lib/onc_certification_g10_test_kit/patient_scope_test.rb +1 -1
  24. data/lib/onc_certification_g10_test_kit/restricted_resource_type_access_group.rb +3 -10
  25. data/lib/onc_certification_g10_test_kit/scope_constants.rb +52 -0
  26. data/lib/onc_certification_g10_test_kit/short_id_map.yml +11 -20
  27. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +18 -17
  28. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +18 -17
  29. data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +18 -17
  30. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +20 -19
  31. data/lib/onc_certification_g10_test_kit/single_patient_us_core_7_api_group.rb +20 -19
  32. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +108 -65
  33. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +42 -89
  34. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +33 -43
  35. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +32 -54
  36. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2_2.rb +34 -55
  37. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +103 -146
  38. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +17 -55
  39. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group_stu2_2.rb +17 -55
  40. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group.rb +17 -55
  41. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group_stu2_2.rb +17 -55
  42. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +33 -68
  43. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +4 -3
  44. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +45 -89
  45. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +45 -89
  46. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +53 -91
  47. data/lib/onc_certification_g10_test_kit/smart_invalid_token_refresh_test.rb +9 -6
  48. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +86 -278
  49. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +32 -59
  50. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +36 -75
  51. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2_2.rb +36 -75
  52. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +6 -1
  53. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +90 -118
  54. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +62 -116
  55. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +3 -12
  56. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +12 -25
  57. data/lib/onc_certification_g10_test_kit/token_introspection_group_stu2_2.rb +12 -14
  58. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +44 -33
  59. data/lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb +3 -3
  60. data/lib/onc_certification_g10_test_kit/urls.rb +4 -0
  61. data/lib/onc_certification_g10_test_kit/version.rb +2 -1
  62. data/lib/onc_certification_g10_test_kit.rb +119 -65
  63. metadata +20 -68
@@ -85,19 +85,12 @@ module ONCCertificationG10TestKit
85
85
  id :g10_restricted_resource_type_access
86
86
 
87
87
  input :url, :patient_id, :received_scopes, :expected_resources
88
- input :smart_credentials, type: :oauth_credentials
89
-
90
- config(
91
- inputs: {
92
- client_secret: {
93
- optional: false
94
- }
95
- }
96
- )
88
+
89
+ input :smart_auth_info, type: :auth_info
97
90
 
98
91
  fhir_client do
99
92
  url :url
100
- oauth_credentials :smart_credentials
93
+ auth_info :smart_auth_info
101
94
  end
102
95
 
103
96
  test from: :g10_restricted_access_test do
@@ -0,0 +1,52 @@
1
+ module ONCCertificationG10TestKit
2
+ module ScopeConstants
3
+ STANDALONE_SMART_1_SCOPES =
4
+ %(
5
+ launch/patient openid fhirUser offline_access patient/Medication.read
6
+ patient/AllergyIntolerance.read patient/CarePlan.read
7
+ patient/CareTeam.read patient/Condition.read patient/Device.read
8
+ patient/DiagnosticReport.read patient/DocumentReference.read
9
+ patient/Encounter.read patient/Goal.read patient/Immunization.read
10
+ patient/Location.read patient/MedicationRequest.read
11
+ patient/Observation.read patient/Organization.read patient/Patient.read
12
+ patient/Practitioner.read patient/Procedure.read patient/Provenance.read
13
+ patient/PractitionerRole.read
14
+ ).gsub(/\s{2,}/, ' ').strip.freeze
15
+
16
+ STANDALONE_SMART_2_SCOPES =
17
+ %(
18
+ launch/patient openid fhirUser offline_access patient/Medication.rs
19
+ patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs
20
+ patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs
21
+ patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs
22
+ patient/Immunization.rs patient/Location.rs patient/MedicationRequest.rs
23
+ patient/Observation.rs patient/Organization.rs patient/Patient.rs
24
+ patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs
25
+ patient/PractitionerRole.rs
26
+ ).gsub(/\s{2,}/, ' ').strip.freeze
27
+
28
+ EHR_SMART_1_SCOPES =
29
+ %(
30
+ launch openid fhirUser offline_access user/Medication.read
31
+ user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read
32
+ user/Condition.read user/Device.read user/DiagnosticReport.read
33
+ user/DocumentReference.read user/Encounter.read user/Goal.read
34
+ user/Immunization.read user/Location.read user/MedicationRequest.read
35
+ user/Observation.read user/Organization.read user/Patient.read
36
+ user/Practitioner.read user/Procedure.read user/Provenance.read
37
+ user/PractitionerRole.read
38
+ ).gsub(/\s{2,}/, ' ').strip.freeze
39
+
40
+ EHR_SMART_2_SCOPES =
41
+ %(
42
+ launch openid fhirUser offline_access user/Medication.rs
43
+ user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs
44
+ user/Condition.rs user/Device.rs user/DiagnosticReport.rs
45
+ user/DocumentReference.rs user/Encounter.rs user/Goal.rs
46
+ user/Immunization.rs user/Location.rs user/MedicationRequest.rs
47
+ user/Observation.rs user/Organization.rs user/Patient.rs
48
+ user/Practitioner.rs user/Procedure.rs user/Provenance.rs
49
+ user/PractitionerRole.rs
50
+ ).gsub(/\s{2,}/, ' ').strip.freeze
51
+ end
52
+ end
@@ -2769,6 +2769,7 @@ g10_certification-multi_patient_api_stu2-g10_bulk_data_export_parameters-output_
2769
2769
  g10_certification-multi_patient_api_stu2-g10_bulk_data_export_parameters-g10_since_in_export_response: 8.5.02
2770
2770
  g10_certification-Group06: '9'
2771
2771
  g10_certification-Group06-g10_public_standalone_launch: '9.1'
2772
+ g10_certification-Group06-g10_public_standalone_launch-well_known_endpoint: 9.1.10
2772
2773
  g10_certification-Group06-g10_public_standalone_launch-standalone_auth_tls: 9.1.01
2773
2774
  g10_certification-Group06-g10_public_standalone_launch-smart_app_redirect: 9.1.02
2774
2775
  g10_certification-Group06-g10_public_standalone_launch-smart_code_received: 9.1.03
@@ -2779,6 +2780,7 @@ g10_certification-Group06-g10_public_standalone_launch-smart_token_response_head
2779
2780
  g10_certification-Group06-g10_public_standalone_launch-g10_patient_context: 9.1.08
2780
2781
  g10_certification-Group06-g10_public_standalone_launch-g10_public_launch_id_token: 9.1.09
2781
2782
  g10_certification-Group06-g10_public_standalone_launch_stu2: '9.2'
2783
+ g10_certification-Group06-g10_public_standalone_launch_stu2-well_known_endpoint: 9.2.10
2782
2784
  g10_certification-Group06-g10_public_standalone_launch_stu2-standalone_auth_tls: 9.2.01
2783
2785
  g10_certification-Group06-g10_public_standalone_launch_stu2-smart_app_redirect_stu2: 9.2.02
2784
2786
  g10_certification-Group06-g10_public_standalone_launch_stu2-smart_code_received: 9.2.03
@@ -2789,6 +2791,7 @@ g10_certification-Group06-g10_public_standalone_launch_stu2-smart_token_response
2789
2791
  g10_certification-Group06-g10_public_standalone_launch_stu2-g10_patient_context: 9.2.08
2790
2792
  g10_certification-Group06-g10_public_standalone_launch_stu2-g10_public_launch_id_token: 9.2.09
2791
2793
  g10_certification-Group06-g10_public_standalone_launch_stu2_2: '9.16'
2794
+ g10_certification-Group06-g10_public_standalone_launch_stu2_2-well_known_endpoint: 9.16.10
2792
2795
  g10_certification-Group06-g10_public_standalone_launch_stu2_2-standalone_auth_tls: 9.16.01
2793
2796
  g10_certification-Group06-g10_public_standalone_launch_stu2_2-smart_app_redirect_stu2: 9.16.02
2794
2797
  g10_certification-Group06-g10_public_standalone_launch_stu2_2-smart_code_received: 9.16.03
@@ -2808,21 +2811,25 @@ g10_certification-Group06-g10_smart_invalid_aud-smart_app_redirect_stu2: 9.4.02
2808
2811
  g10_certification-Group06-g10_smart_invalid_aud-smart_app_redirect_stu2_2: 9.4.03
2809
2812
  g10_certification-Group06-g10_smart_invalid_aud-Test04: 9.4.04
2810
2813
  g10_certification-Group06-g10_smart_invalid_token_request: '9.5'
2814
+ g10_certification-Group06-g10_smart_invalid_token_request-well_known_endpoint: 9.5.06
2811
2815
  g10_certification-Group06-g10_smart_invalid_token_request-smart_app_redirect: 9.5.01
2812
2816
  g10_certification-Group06-g10_smart_invalid_token_request-smart_code_received: 9.5.02
2813
2817
  g10_certification-Group06-g10_smart_invalid_token_request-Test03: 9.5.03
2814
2818
  g10_certification-Group06-g10_smart_invalid_token_request-Test04: 9.5.04
2815
2819
  g10_certification-Group06-g10_smart_invalid_token_request_stu2: '9.6'
2820
+ g10_certification-Group06-g10_smart_invalid_token_request_stu2-well_known_endpoint: 9.6.06
2816
2821
  g10_certification-Group06-g10_smart_invalid_token_request_stu2-smart_app_redirect_stu2: 9.6.01
2817
2822
  g10_certification-Group06-g10_smart_invalid_token_request_stu2-smart_code_received: 9.6.02
2818
2823
  g10_certification-Group06-g10_smart_invalid_token_request_stu2-Test03: 9.6.03
2819
2824
  g10_certification-Group06-g10_smart_invalid_token_request_stu2-Test04: 9.6.04
2820
2825
  g10_certification-Group06-g10_smart_invalid_token_request_stu2_2: '9.17'
2826
+ g10_certification-Group06-g10_smart_invalid_token_request_stu2_2-well_known_endpoint: 9.17.06
2821
2827
  g10_certification-Group06-g10_smart_invalid_token_request_stu2_2-smart_app_redirect_stu2: 9.17.01
2822
2828
  g10_certification-Group06-g10_smart_invalid_token_request_stu2_2-smart_code_received: 9.17.02
2823
2829
  g10_certification-Group06-g10_smart_invalid_token_request_stu2_2-Test03: 9.17.03
2824
2830
  g10_certification-Group06-g10_smart_invalid_token_request_stu2_2-Test04: 9.17.04
2825
2831
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group: '9.7'
2832
+ g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-well_known_endpoint: 9.7.13
2826
2833
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_no_code_verifier_redirect: 9.7.01
2827
2834
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_no_code_verifier_code_received: 9.7.02
2828
2835
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_no_verifier_token_request: 9.7.03
@@ -2836,6 +2843,7 @@ g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_plain
2836
2843
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_plain_code_verifier_code_received: 9.7.11
2837
2844
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group-smart_plain_code_verifier_token_request: 9.7.12
2838
2845
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2: '9.18'
2846
+ g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-well_known_endpoint: 9.18.13
2839
2847
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smart_no_code_verifier_redirect: 9.18.01
2840
2848
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smart_no_code_verifier_code_received: 9.18.02
2841
2849
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smart_no_verifier_token_request: 9.18.03
@@ -2849,6 +2857,7 @@ g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smar
2849
2857
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smart_plain_code_verifier_code_received: 9.18.11
2850
2858
  g10_certification-Group06-g10_smart_invalid_pkce_code_verifier_group_stu2_2-smart_plain_code_verifier_token_request: 9.18.12
2851
2859
  g10_certification-Group06-g10_ehr_patient_launch: '9.8'
2860
+ g10_certification-Group06-g10_ehr_patient_launch-well_known_endpoint: 9.8.12
2852
2861
  g10_certification-Group06-g10_ehr_patient_launch-smart_app_launch: 9.8.01
2853
2862
  g10_certification-Group06-g10_ehr_patient_launch-smart_launch_received: 9.8.02
2854
2863
  g10_certification-Group06-g10_ehr_patient_launch-ehr_auth_tls: 9.8.03
@@ -2861,6 +2870,7 @@ g10_certification-Group06-g10_ehr_patient_launch-smart_token_response_headers: 9
2861
2870
  g10_certification-Group06-g10_ehr_patient_launch-g10_patient_context: 9.8.10
2862
2871
  g10_certification-Group06-g10_ehr_patient_launch-g10_patient_scope: 9.8.11
2863
2872
  g10_certification-Group06-g10_ehr_patient_launch_stu2: '9.9'
2873
+ g10_certification-Group06-g10_ehr_patient_launch_stu2-well_known_endpoint: 9.9.12
2864
2874
  g10_certification-Group06-g10_ehr_patient_launch_stu2-smart_app_launch: 9.9.01
2865
2875
  g10_certification-Group06-g10_ehr_patient_launch_stu2-smart_launch_received: 9.9.02
2866
2876
  g10_certification-Group06-g10_ehr_patient_launch_stu2-ehr_auth_tls: 9.9.03
@@ -2873,6 +2883,7 @@ g10_certification-Group06-g10_ehr_patient_launch_stu2-smart_token_response_heade
2873
2883
  g10_certification-Group06-g10_ehr_patient_launch_stu2-g10_patient_context: 9.9.10
2874
2884
  g10_certification-Group06-g10_ehr_patient_launch_stu2-g10_patient_scope: 9.9.11
2875
2885
  g10_certification-Group06-g10_ehr_patient_launch_stu2_2: '9.19'
2886
+ g10_certification-Group06-g10_ehr_patient_launch_stu2_2-well_known_endpoint: 9.19.13
2876
2887
  g10_certification-Group06-g10_ehr_patient_launch_stu2_2-smart_app_launch: 9.19.01
2877
2888
  g10_certification-Group06-g10_ehr_patient_launch_stu2_2-smart_launch_received: 9.19.02
2878
2889
  g10_certification-Group06-g10_ehr_patient_launch_stu2_2-ehr_auth_tls: 9.19.03
@@ -2907,26 +2918,6 @@ g10_certification-Group06-g10_token_introspection-smart_token_introspection_acce
2907
2918
  : 9.11.1.2.06
2908
2919
  ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_token_response_headers
2909
2920
  : 9.11.1.2.07
2910
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery: 9.11.1.3
2911
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test01: 9.11.1.3.01
2912
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test02: 9.11.1.3.02
2913
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test03: 9.11.1.3.03
2914
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test04: 9.11.1.3.04
2915
- g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch: 9.11.1.4
2916
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-standalone_auth_tls
2917
- : 9.11.1.4.01
2918
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_app_redirect
2919
- : 9.11.1.4.02
2920
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_code_received
2921
- : 9.11.1.4.03
2922
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-standalone_token_tls
2923
- : 9.11.1.4.04
2924
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_exchange
2925
- : 9.11.1.4.05
2926
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_response_body
2927
- : 9.11.1.4.06
2928
- ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_response_headers
2929
- : 9.11.1.4.07
2930
2921
  g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group: 9.11.2
2931
2922
  g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group-Test01: 9.11.2.01
2932
2923
  g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group-Test02: 9.11.2.02
@@ -49,17 +49,17 @@ module ONCCertificationG10TestKit
49
49
  ID from the SMART App Launch contain all MUST SUPPORT elements.
50
50
  DESCRIPTION
51
51
  optional: true
52
- input :smart_credentials,
52
+ input :smart_auth_info,
53
53
  title: 'SMART App Launch Credentials',
54
- type: :oauth_credentials,
54
+ type: :auth_info,
55
55
  locked: true
56
56
 
57
57
  fhir_client do
58
58
  url :url
59
- oauth_credentials :smart_credentials
59
+ auth_info :smart_auth_info
60
60
  end
61
61
 
62
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
62
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
63
63
 
64
64
  config(
65
65
  options: {
@@ -111,24 +111,25 @@ module ONCCertificationG10TestKit
111
111
  end
112
112
  end
113
113
 
114
- USCoreTestKit::USCoreV311::USCoreTestSuite.groups[1].groups.each do |group|
115
- test_group = group.ancestors[1]
114
+ USCoreTestKit::USCoreV311::USCoreTestSuite
115
+ .groups
116
+ .find { |g| g.title == 'US Core FHIR API' }
117
+ .groups
118
+ .each do |group|
119
+ test_group = group.ancestors[1]
116
120
 
117
- next if test_group.optional?
121
+ next if test_group.optional?
118
122
 
119
- id = test_group.id
123
+ group(from: test_group.id, exclude_optional: true)
120
124
 
121
- group_config = {}
122
- if test_group.respond_to?(:metadata) &&
123
- test_group.metadata.delayed? &&
124
- !test_group.metadata.searchable_delayed_resource?
125
- test_group.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
126
- group_config[:options] = { read_all_resources: true }
125
+ if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
126
+ test_group.metadata.delayed? &&
127
+ !test_group.metadata.searchable_delayed_resource?
128
+ groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
129
+ groups.last.config(options: { read_all_resources: true })
130
+ end
127
131
  end
128
132
 
129
- group(from: id, exclude_optional: true, config: group_config)
130
- end
131
-
132
133
  groups.first.description %(
133
134
  The Capability Statement test verifies a FHIR server's ability support the
134
135
  [capabilities
@@ -47,17 +47,17 @@ module ONCCertificationG10TestKit
47
47
  ID from the SMART App Launch contain all MUST SUPPORT elements.
48
48
  DESCRIPTION
49
49
  optional: true
50
- input :smart_credentials,
50
+ input :smart_auth_info,
51
51
  title: 'SMART App Launch Credentials',
52
- type: :oauth_credentials,
52
+ type: :auth_info,
53
53
  locked: true
54
54
 
55
55
  fhir_client do
56
56
  url :url
57
- oauth_credentials :smart_credentials
57
+ auth_info :smart_auth_info
58
58
  end
59
59
 
60
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
60
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
61
61
 
62
62
  config(
63
63
  options: {
@@ -123,24 +123,25 @@ module ONCCertificationG10TestKit
123
123
  end
124
124
  end
125
125
 
126
- USCoreTestKit::USCoreV400::USCoreTestSuite.groups[1].groups.each do |group|
127
- test_group = group.ancestors[1]
126
+ USCoreTestKit::USCoreV400::USCoreTestSuite
127
+ .groups
128
+ .find { |g| g.title == 'US Core FHIR API' }
129
+ .groups
130
+ .each do |group|
131
+ test_group = group.ancestors[1]
128
132
 
129
- next if test_group.optional?
133
+ next if test_group.optional?
130
134
 
131
- id = test_group.id
135
+ group(from: test_group.id, exclude_optional: true)
132
136
 
133
- group_config = {}
134
- if test_group.respond_to?(:metadata) &&
135
- test_group.metadata.delayed? &&
136
- !test_group.metadata.searchable_delayed_resource?
137
- test_group.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
138
- group_config[:options] = { read_all_resources: true }
137
+ if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
138
+ test_group.metadata.delayed? &&
139
+ !test_group.metadata.searchable_delayed_resource?
140
+ groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
141
+ groups.last.config(options: { read_all_resources: true })
142
+ end
139
143
  end
140
144
 
141
- group(from: id, exclude_optional: true, config: group_config)
142
- end
143
-
144
145
  groups.first.description %(
145
146
  The Capability Statement test verifies a FHIR server's ability support the
146
147
  [capabilities
@@ -48,14 +48,14 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
61
  # These tests can still be run if the user runs the entire suite at once
@@ -63,7 +63,7 @@ module ONCCertificationG10TestKit
63
63
  false
64
64
  end
65
65
 
66
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
66
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
67
67
 
68
68
  config(
69
69
  options: {
@@ -137,24 +137,25 @@ module ONCCertificationG10TestKit
137
137
  end
138
138
  end
139
139
 
140
- USCoreTestKit::USCoreV501::USCoreTestSuite.groups[1].groups.each do |group|
141
- test_group = group.ancestors[1]
140
+ USCoreTestKit::USCoreV501::USCoreTestSuite
141
+ .groups
142
+ .find { |g| g.title == 'US Core FHIR API' }
143
+ .groups
144
+ .each do |group|
145
+ test_group = group.ancestors[1]
142
146
 
143
- next if test_group.optional?
147
+ next if test_group.optional?
144
148
 
145
- id = test_group.id
149
+ group(from: test_group.id, exclude_optional: true)
146
150
 
147
- group_config = {}
148
- if test_group.respond_to?(:metadata) &&
149
- test_group.metadata.delayed? &&
150
- !test_group.metadata.searchable_delayed_resource?
151
- test_group.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
152
- group_config[:options] = { read_all_resources: true }
151
+ if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
152
+ test_group.metadata.delayed? &&
153
+ !test_group.metadata.searchable_delayed_resource?
154
+ groups.last.children.reject! { |child| child.include? USCoreTestKit::SearchTest }
155
+ groups.last.config(options: { read_all_resources: true })
156
+ end
153
157
  end
154
158
 
155
- group(from: id, exclude_optional: true, config: group_config)
156
- end
157
-
158
159
  groups.first.description %(
159
160
  The Capability Statement test verifies a FHIR server's ability support the
160
161
  [capabilities
@@ -48,17 +48,17 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
61
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
62
62
 
63
63
  config(
64
64
  options: {
@@ -166,27 +166,28 @@ module ONCCertificationG10TestKit
166
166
  end
167
167
  end
168
168
 
169
- USCoreTestKit::USCoreV610::USCoreTestSuite.groups[1].groups.each do |group|
170
- test_group = group.ancestors[1]
169
+ USCoreTestKit::USCoreV610::USCoreTestSuite
170
+ .groups
171
+ .find { |g| g.title == 'US Core FHIR API' }
172
+ .groups
173
+ .each do |group|
174
+ test_group = group.ancestors[1]
171
175
 
172
- next if test_group.optional?
176
+ next if test_group.optional?
173
177
 
174
- id = test_group.id
178
+ group(from: test_group.id, exclude_optional: true)
175
179
 
176
- group_config = {}
177
- if test_group.respond_to?(:metadata) &&
178
- test_group.metadata.delayed? &&
179
- !test_group.metadata.searchable_delayed_resource?
180
- test_group.children.reject! do |child|
181
- child.include?(USCoreTestKit::SearchTest) &&
182
- !child.include?(USCoreTestKit::PractitionerAddressTest)
180
+ if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
181
+ test_group.metadata.delayed? &&
182
+ !test_group.metadata.searchable_delayed_resource?
183
+ groups.last.children.reject! do |child|
184
+ child.include?(USCoreTestKit::SearchTest) &&
185
+ !child.include?(USCoreTestKit::PractitionerAddressTest)
186
+ end
187
+ groups.last.config(options: { read_all_resources: true })
183
188
  end
184
- group_config[:options] = { read_all_resources: true }
185
189
  end
186
190
 
187
- group(from: id, exclude_optional: true, config: group_config)
188
- end
189
-
190
191
  groups.first.description %(
191
192
  The Capability Statement test verifies a FHIR server's ability support the
192
193
  [capabilities
@@ -48,17 +48,17 @@ module ONCCertificationG10TestKit
48
48
  ID from the SMART App Launch contain all MUST SUPPORT elements.
49
49
  DESCRIPTION
50
50
  optional: true
51
- input :smart_credentials,
51
+ input :smart_auth_info,
52
52
  title: 'SMART App Launch Credentials',
53
- type: :oauth_credentials,
53
+ type: :auth_info,
54
54
  locked: true
55
55
 
56
56
  fhir_client do
57
57
  url :url
58
- oauth_credentials :smart_credentials
58
+ auth_info :smart_auth_info
59
59
  end
60
60
 
61
- input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_credentials
61
+ input_order :url, :patient_id, :additional_patient_ids, :implantable_device_codes, :smart_auth_info
62
62
 
63
63
  config(
64
64
  options: {
@@ -171,27 +171,28 @@ module ONCCertificationG10TestKit
171
171
  end
172
172
  end
173
173
 
174
- USCoreTestKit::USCoreV700::USCoreTestSuite.groups.find { |g| g.title == 'US Core FHIR API' }.groups.each do |group|
175
- test_group = group.ancestors[1]
174
+ USCoreTestKit::USCoreV700::USCoreTestSuite
175
+ .groups
176
+ .find { |g| g.title == 'US Core FHIR API' }
177
+ .groups
178
+ .each do |group|
179
+ test_group = group.ancestors[1]
176
180
 
177
- next if test_group.optional?
181
+ next if test_group.optional?
178
182
 
179
- id = test_group.id
183
+ group(from: test_group.id, exclude_optional: true)
180
184
 
181
- group_config = {}
182
- if test_group.respond_to?(:metadata) &&
183
- test_group.metadata.delayed? &&
184
- !test_group.metadata.searchable_delayed_resource?
185
- test_group.children.reject! do |child|
186
- child.include?(USCoreTestKit::SearchTest) &&
187
- !child.include?(USCoreTestKit::PractitionerAddressTest)
185
+ if test_group.respond_to?(:metadata) && # rubocop:disable Style/Next
186
+ test_group.metadata.delayed? &&
187
+ !test_group.metadata.searchable_delayed_resource?
188
+ groups.last.children.reject! do |child|
189
+ child.include?(USCoreTestKit::SearchTest) &&
190
+ !child.include?(USCoreTestKit::PractitionerAddressTest)
191
+ end
192
+ groups.last.config(options: { read_all_resources: true })
188
193
  end
189
- group_config[:options] = { read_all_resources: true }
190
194
  end
191
195
 
192
- group(from: id, exclude_optional: true, config: group_config)
193
- end
194
-
195
196
  groups.first.description %(
196
197
  The Capability Statement test verifies a FHIR server's ability support the
197
198
  [capabilities