subscriptions_test_kit 0.10.1 → 0.11.1

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 (18) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/subscription_server_preset_empty.json.erb +7 -3
  3. data/config/presets/subscription_server_preset_full_resource.json.erb +7 -3
  4. data/config/presets/subscription_server_preset_id_only.json.erb +7 -3
  5. data/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb +0 -1
  6. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow_group.rb +1 -1
  7. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/capability_statement/cs_conformance_test.rb +1 -2
  8. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +9 -3
  9. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb +4 -3
  10. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/empty_content_group.rb +1 -1
  11. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/full_resource_content_group.rb +1 -1
  12. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification/id_only_content_group.rb +1 -1
  13. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification_group.rb +1 -1
  14. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/subscription_rejection_group.rb +1 -1
  15. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb +1 -1
  16. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +7 -4
  17. data/lib/subscriptions_test_kit/version.rb +2 -2
  18. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b0d106312b06065683c721f242cdf245652dd5b14278a933c68ebbd85d10cca
4
- data.tar.gz: 20d796f12f6c84e6f332a0b9bc990d8674077a17b927cab550d4913d1e79963d
3
+ metadata.gz: c9611a683997bd3e7a27a77ea04fccf554db03754c3946cac7b309890cb288fb
4
+ data.tar.gz: '09a2627b220c04aa0352ee45d8ee703841d5f3bde433c2adb4bc8f3b70605315'
5
5
  SHA512:
6
- metadata.gz: 29543919ba760e5227ac5a72b27467e9b3d3f23b475d39d7c99d4e96a13467edbacefa1f5f1754f12251c25758e4109996e3cca4d703f921d7f0aed36537abc2
7
- data.tar.gz: 9b2dbbb0563af958aca05c08c3e1894c61343b3ed9a5b0dd6f86cf087f36a44a4bc3385f75d41a8577acaf0ba59db377f09ab5cdffd70d1d5775bb36132e3c95
6
+ metadata.gz: 71d120fa262f7180abd5d13542d7daed8ea5b2c49559a603775e19eb233363524d7415911053fbe4b8491a0ab3ec2dc32b6d08ec94bc07c95eb4173ba9132a72
7
+ data.tar.gz: 06d457b7e543514a0e76fe061149bbc2e94dff646f0083081a7351ff029f46403c60e662e3fd10154fb2d61868d5c422cdb782786f0575d413bd291559435c1f
@@ -8,8 +8,12 @@
8
8
  "value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
9
9
  },
10
10
  {
11
- "name": "credentials",
12
- "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
11
+ "name": "smart_auth_info",
12
+ "type": "auth_info",
13
+ "value": {
14
+ "auth_type": "public",
15
+ "access_token": "SAMPLE_TOKEN"
16
+ }
13
17
  },
14
18
  {
15
19
  "name": "subscription_resource",
@@ -20,4 +24,4 @@
20
24
  "value": "SAMPLE_TOKEN"
21
25
  }
22
26
  ]
23
- }
27
+ }
@@ -8,8 +8,12 @@
8
8
  "value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
9
9
  },
10
10
  {
11
- "name": "credentials",
12
- "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
11
+ "name": "smart_auth_info",
12
+ "type": "auth_info",
13
+ "value": {
14
+ "auth_type": "public",
15
+ "access_token": "SAMPLE_TOKEN"
16
+ }
13
17
  },
14
18
  {
15
19
  "name": "subscription_resource",
@@ -20,4 +24,4 @@
20
24
  "value": "SAMPLE_TOKEN"
21
25
  }
22
26
  ]
23
- }
27
+ }
@@ -8,8 +8,12 @@
8
8
  "value": "<%= Inferno::Application['base_url'] %>/custom/subscriptions_r5_backport_r4_client/fhir"
9
9
  },
10
10
  {
11
- "name": "credentials",
12
- "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
11
+ "name": "smart_auth_info",
12
+ "type": "auth_info",
13
+ "value": {
14
+ "auth_type": "public",
15
+ "access_token": "SAMPLE_TOKEN"
16
+ }
13
17
  },
14
18
  {
15
19
  "name": "subscription_resource",
@@ -20,4 +24,4 @@
20
24
  "value": "SAMPLE_TOKEN"
21
25
  }
22
26
  ]
23
- }
27
+ }
@@ -66,7 +66,6 @@ module SubscriptionsTestKit
66
66
  profile_url: 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription')
67
67
 
68
68
  cross_version_extension_check(subscription)
69
- subscription
70
69
  end
71
70
 
72
71
  def server_check_channel(subscription, access_token)
@@ -13,7 +13,7 @@ module SubscriptionsTestKit
13
13
  title 'Demonstrate the Rest-Hook Subscription Workflow'
14
14
  description %(
15
15
  This test allows the tester to demonstrate the ability of the client
16
- to request the= creation of a FHIR Subscription instance and receive
16
+ to request the creation of a FHIR Subscription instance and receive
17
17
  notifications for that Subscription.
18
18
 
19
19
  The tester must provide the body of an event notification
@@ -21,9 +21,8 @@ module SubscriptionsTestKit
21
21
  fhir_get_capability_statement
22
22
  assert_response_status(200)
23
23
  assert_resource_type(:capability_statement)
24
- assert_valid_resource
25
-
26
24
  scratch[:capability_statement] ||= resource
25
+ assert_valid_resource
27
26
 
28
27
  assert(resource.rest.present?, 'Capability Statement missing the `rest` field')
29
28
  rest_server = resource.rest.find { |elem| elem.mode == 'server' }
@@ -57,10 +57,16 @@ module SubscriptionsTestKit
57
57
 
58
58
  run do
59
59
  omit_if subscription_resource.blank?, 'Did not input a Subscription resource of this type.'
60
- subscription = subscription_verification(subscription_resource)
60
+ assert_valid_json(subscription_resource)
61
+ assert_resource_type('Subscription', resource: FHIR.from_contents(subscription_resource))
62
+ subscription = JSON.parse(subscription_resource)
63
+ server_check_channel(subscription, access_token)
64
+
65
+ updated_subscription = subscription.to_json
66
+ output(updated_subscription:)
67
+
68
+ subscription_verification(updated_subscription)
61
69
  no_error_verification('Subscription resource is not conformant.')
62
- subscription = server_check_channel(subscription, access_token)
63
- output updated_subscription: subscription.to_json
64
70
  end
65
71
  end
66
72
  end
@@ -50,12 +50,13 @@ module SubscriptionsTestKit
50
50
  end
51
51
 
52
52
  def subscription_payload_type(subscription)
53
- return unless subscription['channel']['_payload']
53
+ payload_extensions = subscription.dig('channel', '_payload', 'extension')
54
+ return unless payload_extensions
54
55
 
55
- payload_extension = subscription['channel']['_payload']['extension'].find do |ext|
56
+ payload_type = payload_extensions.find do |ext|
56
57
  ext['url'].ends_with?('/backport-payload-content')
57
58
  end
58
- payload_extension['valueCode']
59
+ payload_type&.dig('valueCode')
59
60
  end
60
61
 
61
62
  def send_subscription(subscription)
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
16
16
  run_as_group
17
17
  optional
18
18
 
19
- input_order :url, :credentials, :access_token, :empty_subscription_resource
19
+ input_order :url, :smart_auth_info, :access_token, :empty_subscription_resource
20
20
 
21
21
  group from: :subscriptions_r4_server_interaction do
22
22
  id :subscriptions_r4_server_empty_content_interaction
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
16
16
  run_as_group
17
17
  optional
18
18
 
19
- input_order :url, :credentials, :access_token, :full_resource_subscription_resource
19
+ input_order :url, :smart_auth_info, :access_token, :full_resource_subscription_resource
20
20
 
21
21
  group from: :subscriptions_r4_server_interaction do
22
22
  id :subscriptions_r4_server_full_resource_content_interaction
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
16
16
  run_as_group
17
17
  optional
18
18
 
19
- input_order :url, :credentials, :access_token, :id_only_subscription_resource
19
+ input_order :url, :smart_auth_info, :access_token, :id_only_subscription_resource
20
20
 
21
21
  group from: :subscriptions_r4_server_interaction do
22
22
  id :subscriptions_r4_server_id_only_content_interaction
@@ -15,7 +15,7 @@ module SubscriptionsTestKit
15
15
  `empty`, `id-only`, and `full-resource`.
16
16
  )
17
17
 
18
- input_order :url, :credentials, :access_token, :empty_subscription_resource,
18
+ input_order :url, :smart_auth_info, :access_token, :empty_subscription_resource,
19
19
  :id_only_subscription_resource, :full_resource_subscription_resource
20
20
 
21
21
  group from: :subscriptions_r4_server_empty_content
@@ -16,7 +16,7 @@ module SubscriptionsTestKit
16
16
  Subscription creation requests.
17
17
  )
18
18
 
19
- input_order :url, :credentials, :subscription_resource, :unsupported_subscription_topic,
19
+ input_order :url, :smart_auth_info, :subscription_resource, :unsupported_subscription_topic,
20
20
  :unsupported_subscription_filter, :unsupported_subscription_channel_type,
21
21
  :unsupported_subscription_channel_endpoint, :unsupported_subscription_payload_type,
22
22
  :unsupported_subscription_channel_payload_combo
@@ -18,7 +18,7 @@ module SubscriptionsTestKit
18
18
 
19
19
  run_as_group
20
20
 
21
- input_order :url, :credentials, :access_token, :subscription_resource
21
+ input_order :url, :smart_auth_info, :access_token, :subscription_resource
22
22
 
23
23
  group from: :subscriptions_r4_server_interaction
24
24
  group from: :subscriptions_r4_server_interaction_verification
@@ -44,16 +44,19 @@ module SubscriptionsTestKit
44
44
  these tests.
45
45
  )
46
46
 
47
- input :credentials,
47
+ input :smart_auth_info,
48
48
  title: 'OAuth Credentials',
49
49
  description: 'Credentials for Inferno to include when making requests against the server under test.',
50
- type: :oauth_credentials,
51
- optional: true
50
+ type: :auth_info,
51
+ optional: true,
52
+ options: {
53
+ mode: 'access'
54
+ }
52
55
 
53
56
  # All FHIR requests in this suite will use this FHIR client
54
57
  fhir_client do
55
58
  url :url
56
- oauth_credentials :credentials
59
+ auth_info :smart_auth_info
57
60
  end
58
61
 
59
62
  # All FHIR validation requests will use this FHIR validator
@@ -1,4 +1,4 @@
1
1
  module SubscriptionsTestKit
2
- VERSION = '0.10.1'.freeze
3
- LAST_UPDATED = '2025-02-25'.freeze
2
+ VERSION = '0.11.1'.freeze
3
+ LAST_UPDATED = '2025-04-03'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subscriptions_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Naden, Emily Semple, Tom Strassner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-19 00:00:00.000000000 Z
11
+ date: 2025-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core