bulk_data_test_kit 0.11.1 → 0.12.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/bulk_data_v101_bulk_data_server.json +10 -5
  3. data/config/presets/bulk_data_v101_inferno_reference_server.json +10 -5
  4. data/config/presets/bulk_data_v200_bulk_data_server.json +10 -5
  5. data/config/presets/bulk_data_v200_inferno_reference_server.json +10 -5
  6. data/lib/bulk_data_test_kit/bulk_export_validation_tester.rb +3 -3
  7. data/lib/bulk_data_test_kit/export_cancel_tests.rb +2 -2
  8. data/lib/bulk_data_test_kit/export_kick_off_performer.rb +3 -3
  9. data/lib/bulk_data_test_kit/export_operation_tests.rb +3 -3
  10. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_export_cancel_test.rb +3 -1
  11. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_export_kick_off_test.rb +3 -1
  12. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_ndjson_download_test.rb +3 -1
  13. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_no_auth_test.rb +4 -2
  14. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_smart_backend_services_v101_group.rb +25 -3
  15. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_status_check_test.rb +3 -1
  16. data/lib/bulk_data_test_kit/v1.0.1/bulk_data_test_suite.rb +1 -6
  17. data/lib/bulk_data_test_kit/v1.0.1/group/bulk_data_group_export_cancel_group.rb +3 -1
  18. data/lib/bulk_data_test_kit/v1.0.1/group/bulk_data_group_export_group.rb +5 -3
  19. data/lib/bulk_data_test_kit/v1.0.1/group/bulk_data_group_export_validation_group.rb +4 -1
  20. data/lib/bulk_data_test_kit/v1.0.1/patient/bulk_data_patient_export_cancel_group.rb +3 -1
  21. data/lib/bulk_data_test_kit/v1.0.1/patient/bulk_data_patient_export_group.rb +5 -3
  22. data/lib/bulk_data_test_kit/v1.0.1/patient/bulk_data_patient_export_validation_group.rb +4 -1
  23. data/lib/bulk_data_test_kit/v1.0.1/system_export/bulk_data_system_export_cancel_group.rb +3 -1
  24. data/lib/bulk_data_test_kit/v1.0.1/system_export/bulk_data_system_export_group.rb +5 -3
  25. data/lib/bulk_data_test_kit/v1.0.1/system_export/bulk_data_system_export_validation_group.rb +4 -1
  26. data/lib/bulk_data_test_kit/v2.0.0/bulk_data_export_cancel_test.rb +3 -1
  27. data/lib/bulk_data_test_kit/v2.0.0/bulk_data_outputFormat_param_test.rb +3 -1
  28. data/lib/bulk_data_test_kit/v2.0.0/bulk_data_since_param_test.rb +3 -1
  29. data/lib/bulk_data_test_kit/v2.0.0/bulk_data_smart_backend_services_v200_group.rb +25 -2
  30. data/lib/bulk_data_test_kit/v2.0.0/bulk_data_test_suite.rb +1 -0
  31. data/lib/bulk_data_test_kit/v2.0.0/group/bulk_data_group_export_parameters_group.rb +5 -3
  32. data/lib/bulk_data_test_kit/v2.0.0/patient/bulk_data_patient_export_parameters_group.rb +5 -3
  33. data/lib/bulk_data_test_kit/v2.0.0/system_export/bulk_data_system_export_parameters_group.rb +5 -3
  34. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_delete_test.rb +0 -1
  35. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_export_group.rb +5 -3
  36. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_kick_off_test.rb +0 -1
  37. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_output_test.rb +0 -1
  38. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_status_test.rb +0 -1
  39. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_test_suite.rb +24 -7
  40. data/lib/bulk_data_test_kit/v2.0.0_client/{bulk_data_client_export_wait_test.rb → bulk_data_client_wait_test.rb} +9 -10
  41. data/lib/bulk_data_test_kit/v2.0.0_client/docs/suite_description.md +8 -9
  42. data/lib/bulk_data_test_kit/v2.0.0_client/endpoints/delete.rb +6 -1
  43. data/lib/bulk_data_test_kit/v2.0.0_client/endpoints/kick_off.rb +39 -5
  44. data/lib/bulk_data_test_kit/v2.0.0_client/endpoints/output.rb +16 -9
  45. data/lib/bulk_data_test_kit/v2.0.0_client/endpoints/status.rb +33 -10
  46. data/lib/bulk_data_test_kit/v2.0.0_client/postman/{system_export.postman_collection.json → collection.json} +54 -8
  47. data/lib/bulk_data_test_kit/v2.0.0_client/server_proxy.rb +32 -0
  48. data/lib/bulk_data_test_kit/v2.0.0_client/urls.rb +6 -15
  49. data/lib/bulk_data_test_kit/version.rb +2 -2
  50. metadata +9 -11
  51. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_delete_group.rb +0 -27
  52. data/lib/bulk_data_test_kit/v2.0.0_client/bulk_data_client_delete_wait_test.rb +0 -44
  53. data/lib/bulk_data_test_kit/v2.0.0_client/postman/delete.postman_collection.json +0 -133
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8bd4ede7fec0e6e07982c8ca16df8b8fe43f91143fe55e3208457278ec77b94
4
- data.tar.gz: 28ec21c79f6122c7d42de399fa5c5f1f962b174a3b0acf96d7b55dbe46978309
3
+ metadata.gz: 8d4f7ca4af64076b35b17e35cde95ed92208d98cecb76053821e28e0bf946aee
4
+ data.tar.gz: 8e5960c4a3a0049b1c2aa81dbed7a1ad4650d69e5f417310f5a5dd2a263b65e4
5
5
  SHA512:
6
- metadata.gz: b0e29830ff2c197233fb68a5fdd33804165152a8c8e9ba74ab2951f2799b42391b05961d078b200a9fbb9e21992a6e4b2766c21d2647b3dee35257926c7627dc
7
- data.tar.gz: 161f76a25de17541efc02614827beb4530bd516920337a526ad0e8f5a2223d3733f4965a5a9af0790a2d65d30e33920b8b7141be3f3787973ee0e1216cd57d84
6
+ metadata.gz: f4a8b6e4bfcdd3bfb52a5d5f685139c97beb03bedbfbde6d24eea782d9615fe5b6ca384c0a96286b9b5e1c03ad25526c92b42a41089789334260817ebc4f0108
7
+ data.tar.gz: 954254a8203f840fa52f723895082f5187311340812fa422a3d920e559742f96e3c5cc8d28b16f4a9b3b8e9efc216b2cbaf74b247f9072e8acd69a9e1bdf7283
@@ -11,11 +11,16 @@
11
11
  "value": "https://bulk-data.smarthealthit.org/eyJlcnIiOiIiLCJwYWdlIjoxMDAsImR1ciI6MTAsInRsdCI6NjAsIm0iOjEsInN0dSI6NCwiZGVsIjowLCJzZWN1cmUiOjF9/fhir"
12
12
  },
13
13
  {
14
- "name": "backend_services_client_id",
15
- "type": "text",
16
- "title": "Bulk Data Client ID",
17
- "description": "Client ID provided at registration to the Inferno application.",
18
- "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHBzOi8vaW5mZXJuby5oZWFsdGhpdC5nb3Yvc3VpdGVzL2N1c3RvbS9idWxrX2RhdGFfdjEwMS8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6NjAsImlhdCI6MTcyNjUwMzU3N30.T6xomQ7aMfrnvQ_kC7S0aUgTQXzgDYDI3A-DIFBLH5g"
14
+ "name": "smart_auth_info",
15
+ "title": "Backend Services Credentials",
16
+ "type": "auth_info",
17
+ "value": {
18
+ "auth_type": "backend_services",
19
+ "use_discovery": "true",
20
+ "encryption_algorithm": "ES384",
21
+ "requested_scopes": "system/*.read",
22
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHBzOi8vaW5mZXJuby5oZWFsdGhpdC5nb3Yvc3VpdGVzL2N1c3RvbS9idWxrX2RhdGFfdjEwMS8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6NjAsImlhdCI6MTcyNjUwMzU3N30.T6xomQ7aMfrnvQ_kC7S0aUgTQXzgDYDI3A-DIFBLH5g"
23
+ }
19
24
  },
20
25
  {
21
26
  "name": "group_id",
@@ -11,11 +11,16 @@
11
11
  "value": "https://inferno.healthit.gov/reference-server/r4"
12
12
  },
13
13
  {
14
- "name": "backend_services_client_id",
15
- "type": "text",
16
- "title": "Bulk Data Client ID",
17
- "description": "Client ID provided at registration to the Inferno application.",
18
- "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
14
+ "name": "smart_auth_info",
15
+ "title": "Backend Services Credentials",
16
+ "type": "auth_info",
17
+ "value": {
18
+ "encryption_algorithm": "ES384",
19
+ "auth_type": "backend_services",
20
+ "use_discovery": "true",
21
+ "requested_scopes": "system/*.read",
22
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
23
+ }
19
24
  },
20
25
  {
21
26
  "name": "group_id",
@@ -11,11 +11,16 @@
11
11
  "value": "https://bulk-data.smarthealthit.org/eyJlcnIiOiIiLCJwYWdlIjoxMDAsImR1ciI6MTAsInRsdCI6NjAsIm0iOjEsInN0dSI6NCwiZGVsIjowLCJzZWN1cmUiOjF9/fhir"
12
12
  },
13
13
  {
14
- "name": "backend_services_client_id",
15
- "type": "text",
16
- "title": "Bulk Data Client ID",
17
- "description": "Client ID provided at registration to the Inferno application.",
18
- "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHBzOi8vaW5mZXJuby5oZWFsdGhpdC5nb3Yvc3VpdGVzL2N1c3RvbS9idWxrX2RhdGFfdjEwMS8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6NjAsImlhdCI6MTcyNjUwMzU3N30.T6xomQ7aMfrnvQ_kC7S0aUgTQXzgDYDI3A-DIFBLH5g"
14
+ "name": "smart_auth_info",
15
+ "title": "Backend Services Credentials",
16
+ "type": "auth_info",
17
+ "value": {
18
+ "encryption_algorithm": "ES384",
19
+ "auth_type": "backend_services",
20
+ "use_discovery": "true",
21
+ "requested_scopes": "system/*.read",
22
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9"
23
+ }
19
24
  },
20
25
  {
21
26
  "name": "group_id",
@@ -11,11 +11,16 @@
11
11
  "value": "https://inferno.healthit.gov/reference-server/r4"
12
12
  },
13
13
  {
14
- "name": "backend_services_client_id",
15
- "type": "text",
16
- "title": "Bulk Data Client ID",
17
- "description": "Client ID provided at registration to the Inferno application.",
18
- "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
14
+ "name": "smart_auth_info",
15
+ "title": "Backend Services Credentials",
16
+ "type": "auth_info",
17
+ "value": {
18
+ "encryption_algorithm": "ES384",
19
+ "auth_type": "backend_services",
20
+ "use_discovery": "true",
21
+ "requested_scopes": "system/*.read",
22
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
23
+ }
19
24
  },
20
25
  {
21
26
  "name": "group_id",
@@ -29,7 +29,7 @@ module BulkDataTestKit
29
29
 
30
30
  def build_headers(use_token)
31
31
  headers = { accept: 'application/fhir+ndjson' }
32
- headers.merge!({ authorization: "Bearer #{bearer_token}" }) if use_token == 'true'
32
+ headers.merge!({ authorization: "Bearer #{smart_auth_info.access_token}" }) if use_token == 'true'
33
33
  headers
34
34
  end
35
35
 
@@ -142,7 +142,7 @@ module BulkDataTestKit
142
142
 
143
143
  def perform_bulk_export_validation(bulk_status_output: '', bulk_requires_access_token: '')
144
144
  skip_if bulk_status_output.blank?, 'Could not verify this functionality when Bulk Status Output is not provided'
145
- skip_if (bulk_requires_access_token == 'true' && bearer_token.blank?),
145
+ skip_if (bulk_requires_access_token == 'true' && smart_auth_info.access_token.blank?),
146
146
  'Could not verify this functionality when Bearer Token is required and not provided'
147
147
 
148
148
  $num_messages = 0
@@ -194,7 +194,7 @@ module BulkDataTestKit
194
194
  'Could not verify this functionality when requiresAccessToken is not provided'
195
195
  omit_if bulk_requires_access_token == 'false',
196
196
  'Could not verify this functionality when requiresAccessToken is false'
197
- skip_if bearer_token.blank?, 'Could not verify this functionality when Bearer Token is not provided'
197
+ skip_if smart_auth_info.access_token.blank?, 'Could not verify this functionality when Bearer Token is not provided'
198
198
 
199
199
  get(bulk_data_download_url, headers: { accept: 'application/fhir+ndjson' })
200
200
  assert_response_status([400, 401])
@@ -13,7 +13,7 @@ module BulkDataTestKit
13
13
  :bulk_export_url
14
14
 
15
15
  def perform_export_cancel_test
16
- use_token = !bearer_token.blank?
16
+ use_token = !smart_auth_info.access_token.blank?
17
17
  url = bulk_export_url.dup
18
18
  if resource_type == 'Group'
19
19
  skip_if group_id.blank?, 'Group id is blank, skipping test.'
@@ -32,7 +32,7 @@ module BulkDataTestKit
32
32
  def perform_cancelled_polling_test(bulk_cancelled_polling_url)
33
33
  skip 'No polling url available' unless bulk_cancelled_polling_url.present?
34
34
 
35
- get(bulk_cancelled_polling_url, headers: { authorization: "Bearer #{bearer_token}", accept: 'application/json' })
35
+ get(bulk_cancelled_polling_url, headers: { authorization: "Bearer #{smart_auth_info.access_token}", accept: 'application/json' })
36
36
 
37
37
  assert_response_status(404)
38
38
 
@@ -3,10 +3,10 @@
3
3
  module BulkDataTestKit
4
4
  module ExportKickOffPerformer
5
5
  def perform_export_kick_off_request(use_token: true, params: {}, url: '')
6
- skip_if use_token && bearer_token.blank?, 'Could not verify this functionality when bearer token is not set'
6
+ skip_if use_token && smart_auth_info.access_token.blank?, 'Could not verify this functionality when bearer token is not set'
7
7
 
8
8
  headers = { accept: 'application/fhir+json', prefer: 'respond-async' }
9
- headers.merge!({ authorization: "Bearer #{bearer_token}" }) if use_token
9
+ headers.merge!({ authorization: "Bearer #{smart_auth_info.access_token}" }) if use_token
10
10
 
11
11
  param_str = params.map { |k, v| URI.encode_www_form(k => v) }.join('&')
12
12
  url.concat("?#{param_str}") unless param_str.empty?
@@ -17,7 +17,7 @@ module BulkDataTestKit
17
17
  polling_url = request&.response_header('content-location')&.value
18
18
  assert polling_url.present?, 'Export response header did not include "Content-Location"'
19
19
 
20
- headers = { accept: 'application/json', authorization: "Bearer #{bearer_token}" }
20
+ headers = { accept: 'application/json', authorization: "Bearer #{smart_auth_info.access_token}" }
21
21
 
22
22
  delete(polling_url, headers:)
23
23
  assert_response_status(202)
@@ -61,7 +61,7 @@ module BulkDataTestKit
61
61
  end
62
62
 
63
63
  def rejects_without_authorization
64
- skip_if bearer_token.blank?, 'Bearer token is not set and thus not required to connect to server.'
64
+ skip_if smart_auth_info.access_token.blank?, 'Bearer token is not set and thus not required to connect to server.'
65
65
 
66
66
  url = bulk_export_url.dup
67
67
  if resource_type == 'Group'
@@ -74,7 +74,7 @@ module BulkDataTestKit
74
74
  end
75
75
 
76
76
  def export_kick_off_success
77
- use_token = !bearer_token.blank?
77
+ use_token = !smart_auth_info.access_token.blank?
78
78
 
79
79
  url = bulk_export_url.dup
80
80
  if resource_type == 'Group'
@@ -107,7 +107,7 @@ module BulkDataTestKit
107
107
  used_time = 0
108
108
 
109
109
  loop do
110
- get(status_polling_url, headers: { authorization: "Bearer #{bearer_token}", accept: 'application/json' })
110
+ get(status_polling_url, headers: { authorization: "Bearer #{smart_auth_info.access_token}", accept: 'application/json' })
111
111
 
112
112
  retry_after_val = request.response_header('retry-after')&.value.to_i
113
113
 
@@ -17,7 +17,9 @@ module BulkDataTestKit
17
17
  DESCRIPTION
18
18
  # link 'http://hl7.org/fhir/uv/bulkdata/STU1.0.1/export/index.html#bulk-data-delete-request'
19
19
 
20
- input :bearer_token,
20
+ input :smart_auth_info,
21
+ type: :auth_info,
22
+ options: { mode: 'access' },
21
23
  optional: true
22
24
  output :cancelled_polling_url
23
25
 
@@ -19,7 +19,9 @@ module BulkDataTestKit
19
19
  DESCRIPTION
20
20
  # link 'http://hl7.org/fhir/uv/bulkdata/STU1.0.1/export/index.html#response---success'
21
21
 
22
- input :bearer_token,
22
+ input :smart_auth_info,
23
+ type: :auth_info,
24
+ options: { mode: 'access' },
23
25
  optional: true
24
26
  output :polling_url
25
27
 
@@ -23,7 +23,9 @@ module BulkDataTestKit
23
23
 
24
24
  input :bulk_download_url
25
25
  input :requires_access_token
26
- input :bearer_token,
26
+ input :smart_auth_info,
27
+ type: :auth_info,
28
+ options: { mode: 'access' },
27
29
  optional: true
28
30
 
29
31
  run do
@@ -20,8 +20,10 @@ module BulkDataTestKit
20
20
  DESCRIPTION
21
21
  # link 'http://hl7.org/fhir/uv/bulkdata/STU1.0.1/export/index.html#bulk-data-kick-off-request'
22
22
 
23
- input :bearer_token,
24
- optional: true
23
+ input :smart_auth_info,
24
+ type: :auth_info,
25
+ options: { mode: 'access' },
26
+ optional: true
25
27
 
26
28
  def self.properties
27
29
  @properties ||= BulkDataTestKitProperties.new(
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'smart_app_launch/smart_stu2_suite'
3
+ require 'smart_app_launch_test_kit'
4
4
  require_relative 'bulk_data_smart_discovery_v101_group'
5
5
 
6
6
  module BulkDataTestKit
@@ -12,10 +12,32 @@ module BulkDataTestKit
12
12
 
13
13
  group from: :bulk_data_smart_discovery_v101,
14
14
  config: {
15
- inputs: { url: { name: :bulk_server_url } }
15
+ inputs: {
16
+ url: { name: :bulk_server_url },
17
+ smart_auth_info: {
18
+ options: {
19
+ components: [
20
+ { name: :requested_scopes, default: 'system/*.read' }
21
+ ]
22
+ }
23
+ }
24
+ }
16
25
  }
17
26
 
18
- group from: :backend_services_authorization, run_as_group: true
27
+ group from: :backend_services_authorization,
28
+ config: {
29
+ inputs: {
30
+ url: { name: :bulk_server_url },
31
+ smart_auth_info: {
32
+ options: {
33
+ components: [
34
+ { name: :requested_scopes, default: 'system/*.read' }
35
+ ]
36
+ }
37
+ }
38
+ }
39
+ },
40
+ run_as_group: true
19
41
  end
20
42
  end
21
43
  end
@@ -23,7 +23,9 @@ module BulkDataTestKit
23
23
  # link 'http://hl7.org/fhir/uv/bulkdata/STU1.0.1/export/index.html#bulk-data-status-request'
24
24
 
25
25
  input :polling_url, :bulk_timeout
26
- input :bearer_token,
26
+ input :smart_auth_info,
27
+ type: :auth_info,
28
+ options: { mode: 'access' },
27
29
  optional: true
28
30
 
29
31
  output :status_response, :requires_access_token
@@ -87,12 +87,6 @@ module BulkDataTestKit
87
87
  )
88
88
 
89
89
  config(
90
- inputs: {
91
- client_auth_encryption_method: {
92
- title: 'Client Authentication Encryption Method',
93
- locked: true
94
- }
95
- },
96
90
  options: {
97
91
  post_authorization_uri: "#{Inferno::Application['base_url']}/custom/smart_stu2/post_auth"
98
92
  }
@@ -151,6 +145,7 @@ module BulkDataTestKit
151
145
 
152
146
  fhir_client :bulk_server do
153
147
  url :bulk_server_url
148
+ auth_info :smart_auth_info
154
149
  end
155
150
 
156
151
  http_client :bulk_server do
@@ -14,7 +14,9 @@ module BulkDataTestKit
14
14
  correct behavior.
15
15
  )
16
16
 
17
- input :bearer_token,
17
+ input :smart_auth_info,
18
+ type: :auth_info,
19
+ options: { mode: 'access' },
18
20
  optional: true
19
21
  input :group_id,
20
22
  title: 'Group ID',
@@ -19,9 +19,11 @@ module BulkDataTestKit
19
19
  DESCRIPTION
20
20
  id :bulk_data_group_export_group
21
21
 
22
- input :bearer_token,
23
- title: 'Bulk Data Authorization Bearer Token',
24
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
22
+ input :smart_auth_info,
23
+ type: :auth_info,
24
+ options: { mode: 'access' },
25
+ title: 'Bulk Data Authorization',
26
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave access token blank.',
25
27
  optional: true
26
28
  input :group_id,
27
29
  title: 'Group ID',
@@ -15,7 +15,10 @@ module BulkDataTestKit
15
15
 
16
16
  id :bulk_data_group_export_validation
17
17
 
18
- input :status_output, :requires_access_token, :bearer_token, :bulk_download_url
18
+ input :smart_auth_info,
19
+ type: :auth_info,
20
+ options: { mode: 'access' }
21
+ input :status_output, :requires_access_token, :bulk_download_url
19
22
  input :lines_to_validate,
20
23
  title: 'Limit validation to a maximum resource count',
21
24
  description: 'To validate all, leave blank.',
@@ -14,7 +14,9 @@ module BulkDataTestKit
14
14
  correct behavior.
15
15
  )
16
16
 
17
- input :bearer_token,
17
+ input :smart_auth_info,
18
+ type: :auth_info,
19
+ options: { mode: 'access' },
18
20
  optional: true
19
21
 
20
22
  output :patient_cancelled_polling_url
@@ -17,9 +17,11 @@ module BulkDataTestKit
17
17
  DESCRIPTION
18
18
  id :bulk_data_patient_export_group
19
19
 
20
- input :bearer_token,
21
- title: 'Bulk Data Authorization Bearer Token',
22
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
20
+ input :smart_auth_info,
21
+ type: :auth_info,
22
+ options: { mode: 'access' },
23
+ title: 'Bulk Data Authorization',
24
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave access token blank.',
23
25
  optional: true
24
26
  input :bulk_timeout,
25
27
  title: 'Export Times Out after (1-600)',
@@ -15,7 +15,10 @@ module BulkDataTestKit
15
15
 
16
16
  id :bulk_data_patient_export_validation
17
17
 
18
- input :patient_status_output, :patient_requires_access_token, :bearer_token, :patient_bulk_download_url
18
+ input :smart_auth_info,
19
+ type: :auth_info,
20
+ options: { mode: 'access' }
21
+ input :patient_status_output, :patient_requires_access_token, :patient_bulk_download_url
19
22
  input :lines_to_validate,
20
23
  title: 'Limit validation to a maximum resource count',
21
24
  description: 'To validate all, leave blank.',
@@ -14,7 +14,9 @@ module BulkDataTestKit
14
14
  correct behavior.
15
15
  )
16
16
 
17
- input :bearer_token,
17
+ input :smart_auth_info,
18
+ type: :auth_info,
19
+ options: { mode: 'access' },
18
20
  optional: true
19
21
 
20
22
  output :system_cancelled_polling_url
@@ -17,9 +17,11 @@ module BulkDataTestKit
17
17
  DESCRIPTION
18
18
  id :bulk_data_system_export_group
19
19
 
20
- input :bearer_token,
21
- title: 'Bulk Data Authorization Bearer Token',
22
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
20
+ input :smart_auth_info,
21
+ type: :auth_info,
22
+ options: { mode: 'access' },
23
+ title: 'Bulk Data Authorization',
24
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave access token blank.',
23
25
  optional: true
24
26
  input :bulk_timeout,
25
27
  title: 'Export Times Out after (1-600)',
@@ -15,7 +15,10 @@ module BulkDataTestKit
15
15
 
16
16
  id :bulk_data_system_export_validation
17
17
 
18
- input :system_status_output, :system_requires_access_token, :bearer_token, :system_bulk_download_url
18
+ input :smart_auth_info,
19
+ type: :auth_info,
20
+ options: { mode: 'access' }
21
+ input :system_status_output, :system_requires_access_token, :system_bulk_download_url
19
22
  input :lines_to_validate,
20
23
  title: 'Limit validation to a maximum resource count',
21
24
  description: 'To validate all, leave blank.',
@@ -19,7 +19,9 @@ module BulkDataTestKit
19
19
  id :bulk_data_export_cancel_stu2
20
20
 
21
21
  input :cancelled_polling_url
22
- input :bearer_token,
22
+ input :smart_auth_info,
23
+ type: :auth_info,
24
+ options: { mode: 'access' },
23
25
  optional: true
24
26
 
25
27
  run do
@@ -21,7 +21,9 @@ module BulkDataTestKit
21
21
  as the abbreviated representations application/ndjson and ndjson.
22
22
  DESCRIPTION
23
23
 
24
- input :bearer_token,
24
+ input :smart_auth_info,
25
+ type: :auth_info,
26
+ options: { mode: 'access' },
25
27
  optional: true
26
28
 
27
29
  def self.properties
@@ -27,7 +27,9 @@ module BulkDataTestKit
27
27
  After the export was successfully initiated, it is then cancelled.
28
28
  DESCRIPTION
29
29
 
30
- input :bearer_token,
30
+ input :smart_auth_info,
31
+ type: :auth_info,
32
+ options: { mode: 'access' },
31
33
  optional: true
32
34
  input :since_timestamp,
33
35
  title: 'Timestamp for _since parameter',
@@ -12,10 +12,33 @@ module BulkDataTestKit
12
12
 
13
13
  group from: :smart_discovery_stu2,
14
14
  config: {
15
- inputs: { url: { name: :bulk_server_url } }
15
+ inputs: {
16
+ url: { name: :bulk_server_url },
17
+ smart_auth_info: {
18
+ options: {
19
+ components: [
20
+ { name: :requested_scopes, default: 'system/*.read'}
21
+ ]
22
+ }
23
+ }
24
+ }
16
25
  }
17
26
 
18
- group from: :backend_services_authorization
27
+ group from: :backend_services_authorization,
28
+ config: {
29
+ inputs: {
30
+ url: { name: :bulk_server_url },
31
+ smart_auth_info: {
32
+ options: {
33
+ components: [
34
+ { name: :requested_scopes, default: 'system/*.read' }
35
+ ]
36
+ }
37
+ }
38
+ }
39
+ },
40
+ run_as_group: true
41
+
19
42
  end
20
43
  end
21
44
  end
@@ -149,6 +149,7 @@ module BulkDataTestKit
149
149
 
150
150
  fhir_client :bulk_server do
151
151
  url :bulk_server_url
152
+ auth_info :smart_auth_info
152
153
  end
153
154
 
154
155
  http_client :bulk_server do
@@ -15,9 +15,11 @@ module BulkDataTestKit
15
15
  Verify that the Bulk Data server supports required query parameters for Group export.
16
16
  )
17
17
 
18
- input :bearer_token,
19
- title: 'Bulk Data Authorization Bearer Token',
20
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
18
+ input :smart_auth_info,
19
+ type: :auth_info,
20
+ options: { mode: 'access' },
21
+ title: 'Bulk Data Authorization',
22
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave blank.',
21
23
  optional: true
22
24
  input :group_id,
23
25
  title: 'Group ID',
@@ -13,9 +13,11 @@ module BulkDataTestKit
13
13
  Verify that the Bulk Data server supports required query parameters for the export of all Patient resources.
14
14
  )
15
15
 
16
- input :bearer_token,
17
- title: 'Bulk Data Authorization Bearer Token',
18
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
16
+ input :smart_auth_info,
17
+ type: :auth_info,
18
+ options: { mode: 'access' },
19
+ title: 'Bulk Data Authorization',
20
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave blank.',
19
21
  optional: true
20
22
 
21
23
  test from: :output_format_in_export_response,
@@ -13,9 +13,11 @@ module BulkDataTestKit
13
13
  Verify that the Bulk Data server supports required query parameters for system level bulk data export.
14
14
  )
15
15
 
16
- input :bearer_token,
17
- title: 'Bulk Data Authorization Bearer Token',
18
- description: 'The authorization bearer token for the Bulk FHIR server. If not required, leave blank.',
16
+ input :smart_auth_info,
17
+ type: :auth_info,
18
+ options: { mode: 'access' },
19
+ title: 'Bulk Data Authorization',
20
+ description: 'The authorization information for the Bulk FHIR server. If not required, leave blank.',
19
21
  optional: true
20
22
 
21
23
  test from: :output_format_in_export_response,
@@ -2,7 +2,6 @@
2
2
 
3
3
  module BulkDataTestKit
4
4
  module BulkDataV200Client
5
- # Bulk Data Client - Delete
6
5
  class DeleteTest < Inferno::Test
7
6
  title 'Bulk Data Delete Request'
8
7
 
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'bulk_data_client_export_wait_test'
3
+ require_relative 'bulk_data_client_wait_test'
4
4
  require_relative 'bulk_data_client_kick_off_test'
5
5
  require_relative 'bulk_data_client_status_test'
6
6
  require_relative 'bulk_data_client_output_test'
7
+ require_relative 'bulk_data_client_delete_test'
7
8
 
8
9
  module BulkDataTestKit
9
10
  module BulkDataV200Client
10
- # Bulk Data Client Export Tests
11
11
  class ExportGroup < Inferno::TestGroup
12
12
  title 'Bulk Data Client Export Tests'
13
13
 
@@ -16,16 +16,18 @@ module BulkDataTestKit
16
16
  - Kick-off a new bulk data export request
17
17
  - Poll the in-progress request for status updates
18
18
  - Download a completed bulk data export file
19
+ - Delete the export
19
20
  )
20
21
 
21
22
  id :bulk_data_client_export_group
22
23
 
23
24
  run_as_group
24
25
 
25
- test from: :bulk_data_client_export_wait
26
+ test from: :bulk_data_client_wait
26
27
  test from: :bulk_data_client_kick_off
27
28
  test from: :bulk_data_client_status
28
29
  test from: :bulk_data_client_output
30
+ test from: :bulk_data_client_delete
29
31
  end
30
32
  end
31
33
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module BulkDataTestKit
4
4
  module BulkDataV200Client
5
- # Bulk Data Client Kick-off
6
5
  class KickOffTest < Inferno::Test
7
6
  title 'Bulk Data Kick-off Request'
8
7