subscriptions_test_kit 0.9.4 → 0.10.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/subscription_client_empty_preset.json.erb +15 -0
  3. data/config/presets/subscription_client_full_resource_preset.json.erb +15 -0
  4. data/config/presets/subscription_client_id_only_preset.json.erb +15 -0
  5. data/config/presets/subscription_server_preset_empty.json.erb +23 -0
  6. data/config/presets/subscription_server_preset_full_resource.json.erb +23 -0
  7. data/config/presets/subscription_server_preset_id_only.json.erb +23 -0
  8. data/lib/subscriptions_test_kit/common/notification_conformance_verification.rb +1 -1
  9. data/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb +16 -7
  10. data/lib/subscriptions_test_kit/docs/samples/Subscription_empty.json +1 -1
  11. data/lib/subscriptions_test_kit/docs/samples/Subscription_full-resource.json +1 -1
  12. data/lib/subscriptions_test_kit/docs/samples/Subscription_id-only.json +1 -1
  13. data/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_client_suite_description.md +4 -1
  14. data/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_server_suite_description.md +8 -1
  15. data/lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb +3 -3
  16. data/lib/subscriptions_test_kit/igs/.keep +0 -0
  17. data/lib/subscriptions_test_kit/metadata.rb +92 -0
  18. data/lib/subscriptions_test_kit/requirements/generated/subscriptions-test-kit_requirements_coverage.csv +22 -22
  19. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb +2 -2
  20. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_payload_verification_test.rb +0 -1
  21. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb +0 -1
  22. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/interaction_test.rb +7 -0
  23. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow_group.rb +12 -6
  24. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb +3 -3
  25. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/creation_response_conformance_test.rb +1 -1
  26. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/notification_delivery_test.rb +5 -5
  27. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +13 -15
  28. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_group.rb +3 -3
  29. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification/notification_conformance_test.rb +38 -22
  30. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification/notification_presence_test.rb +56 -0
  31. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification_group.rb +7 -3
  32. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb +1 -1
  33. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/event_notification_group.rb +4 -3
  34. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/handshake_heartbeat/handshake_conformance_test.rb +3 -0
  35. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/handshake_heartbeat/heartbeat_conformance_test.rb +3 -0
  36. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/handshake_heartbeat_group.rb +1 -1
  37. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb +4 -4
  38. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +0 -2
  39. data/lib/subscriptions_test_kit/version.rb +2 -1
  40. data/lib/subscriptions_test_kit.rb +1 -0
  41. metadata +16 -6
@@ -1,4 +1,5 @@
1
1
  require_relative 'interaction_verification/notification_conformance_test'
2
+ require_relative 'interaction_verification/notification_presence_test'
2
3
 
3
4
  module SubscriptionsTestKit
4
5
  module SubscriptionsR5BackportR4Server
@@ -6,13 +7,16 @@ module SubscriptionsTestKit
6
7
  id :subscriptions_r4_server_interaction_verification
7
8
  title 'Subscription Workflow Interaction Verification'
8
9
  description %(
9
- Inferno takes the received event-notification Bundle and verifies that it is conformant to the
10
- [R4 Topic-Based Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html)
11
- profle.
10
+ Inferno will verify that the sever communicated at least one notification
11
+ (handshake, heartbeat, and/or event-notification) back to Inferno
12
+ related to the created Subscription and that that set of notifications
13
+ includes a conformant event-notification. Other types of notifications
14
+ are verified during other tests.
12
15
  )
13
16
 
14
17
  run_as_group
15
18
 
19
+ test from: :subscriptions_r4_server_notification_presence
16
20
  test from: :subscriptions_r4_server_notification_conformance
17
21
  end
18
22
  end
@@ -65,7 +65,7 @@ module SubscriptionsTestKit
65
65
 
66
66
  fhir_operation('/Subscription', body: subscription, tags:)
67
67
  assert_response_status(201)
68
- payload_type
68
+ json_parse(request.response_body)
69
69
  end
70
70
  end
71
71
  end
@@ -6,12 +6,13 @@ module SubscriptionsTestKit
6
6
  module SubscriptionsR5BackportR4Server
7
7
  class EventNotificationGroup < Inferno::TestGroup
8
8
  id :subscriptions_r4_server_event_notification
9
- title 'Backport Subscription Notification Verification'
9
+ title 'Backport Subscription Notification Payload Type Verification'
10
10
  description %(
11
11
  Verify that the received Notifications are conformant to the
12
12
  [R4 Topic-Based Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html)
13
- profile, including additional requirements around the content type. This group contains tests for the three
14
- options available when specifying the contents of a Notification: empty, id-only, and full-resource.
13
+ profile, including additional requirements around the payload type. This group contains tests for the three
14
+ options available when specifying the content level for event notification payloads:
15
+ `empty`, `id-only`, and `full-resource`.
15
16
  )
16
17
 
17
18
  input_order :url, :credentials, :access_token, :empty_subscription_resource,
@@ -13,6 +13,9 @@ module SubscriptionsTestKit
13
13
  endpoint. After a successful handshake notification has been sent and accepted, the server SHALL update the
14
14
  status to active. This test verifies that the incoming handshake request is a conformant
15
15
  [R4 Topic-Based Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html).
16
+
17
+ Note that all Subscriptions and the associated Handshake notifications received during previously-run tests
18
+ will be associated with this test and analyzed for conformance.
16
19
  )
17
20
 
18
21
  verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@14',
@@ -11,6 +11,9 @@ module SubscriptionsTestKit
11
11
  When a Subscription is created for a REST Hook channel type, the server Server may send notifications of type
12
12
  heartbeat at any time. This test verifies that the incoming heartbeat request is a conformant
13
13
  [R4 Topic-Based Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html).
14
+
15
+ Note that all Subscriptions and the associated Heartbeat notifications received during previously-run tests
16
+ will be associated with this test and analyzed for conformance.
14
17
  )
15
18
 
16
19
  verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@14',
@@ -7,7 +7,7 @@ module SubscriptionsTestKit
7
7
  id :subscriptions_r4_server_handshake_heartbeat
8
8
  title 'Backport Subscription Handshake and Heartbeat Notification Verification'
9
9
  description %(
10
- Verify that the any received Handshake or Heartbeat Notifications are conformant to the
10
+ Verify that all Handshake ane Heartbeat Notifications received during previous tests are conformant to the
11
11
  [R4 Topic-Based Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html)
12
12
  profile.
13
13
  )
@@ -8,12 +8,12 @@ module SubscriptionsTestKit
8
8
  title 'Demonstrate the subscription workflow'
9
9
  description %(
10
10
  Demonstrate the ability of the server to accept a request for the
11
- creation of a FHIR Subscription instance and deliver a notification
11
+ creation of a FHIR Subscription instance and deliver an event notification
12
12
  for that Subscription. The tester must provide a Subscription instance
13
13
  that the server under test supports. Inferno will act as a client,
14
- creating the Subscription and waiting for a notification based on it.
15
- Inferno will then verify that the Subscription and the Notification
16
- match and that the exchange is conformant.
14
+ creating the Subscription and waiting for notifications based on it.
15
+ Inferno will then verify that an event notification has been received
16
+ for the created Subscription and that the exchange is conformant.
17
17
  )
18
18
 
19
19
  run_as_group
@@ -6,7 +6,6 @@ require_relative 'subscriptions_r5_backport_r4_server/status_operation_group'
6
6
  require_relative 'subscriptions_r5_backport_r4_server/subscription_rejection_group'
7
7
  require_relative '../endpoints/subscription_rest_hook_endpoint'
8
8
  require_relative '../urls'
9
- require_relative '../version'
10
9
 
11
10
  module SubscriptionsTestKit
12
11
  module SubscriptionsR5BackportR4Server
@@ -14,7 +13,6 @@ module SubscriptionsTestKit
14
13
  id :subscriptions_r5_backport_r4_server
15
14
  title 'Subscriptions R5 Backport IG v1.1.0 FHIR R4 Server Test Suite'
16
15
  short_title 'Subscriptions R4 Server'
17
- version VERSION
18
16
  description File.read(File.join(__dir__, '..', 'docs',
19
17
  'subscriptions_r5_backport_r4_server_suite_description.md'))
20
18
 
@@ -1,3 +1,4 @@
1
1
  module SubscriptionsTestKit
2
- VERSION = '0.9.4'.freeze
2
+ VERSION = '0.10.0'.freeze
3
+ LAST_UPDATED = '2025-02-25'.freeze
3
4
  end
@@ -1,3 +1,4 @@
1
+ require_relative 'subscriptions_test_kit/metadata'
1
2
  require_relative 'inferno_requirements_tools/ext/inferno_core/runnable'
2
3
  require_relative 'subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite'
3
4
  require_relative 'subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite'
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.9.4
4
+ version: 0.10.0
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-01-13 00:00:00.000000000 Z
11
+ date: 2025-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.0
19
+ version: 0.6.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.5.0
26
+ version: 0.6.4
27
27
  description: Inferno test kit for FHIR R5-style Subscriptions
28
28
  email:
29
29
  - inferno@groups.mitre.org
@@ -32,6 +32,12 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - LICENSE
35
+ - config/presets/subscription_client_empty_preset.json.erb
36
+ - config/presets/subscription_client_full_resource_preset.json.erb
37
+ - config/presets/subscription_client_id_only_preset.json.erb
38
+ - config/presets/subscription_server_preset_empty.json.erb
39
+ - config/presets/subscription_server_preset_full_resource.json.erb
40
+ - config/presets/subscription_server_preset_id_only.json.erb
35
41
  - lib/inferno_requirements_tools/ext/inferno_core/runnable.rb
36
42
  - lib/inferno_requirements_tools/tasks/collect_requirements.rb
37
43
  - lib/inferno_requirements_tools/tasks/requirements_coverage.rb
@@ -47,8 +53,10 @@ files:
47
53
  - lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb
48
54
  - lib/subscriptions_test_kit/endpoints/subscription_rest_hook_endpoint.rb
49
55
  - lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb
56
+ - lib/subscriptions_test_kit/igs/.keep
50
57
  - lib/subscriptions_test_kit/igs/README.md
51
58
  - lib/subscriptions_test_kit/jobs/send_subscription_notifications.rb
59
+ - lib/subscriptions_test_kit/metadata.rb
52
60
  - lib/subscriptions_test_kit/requirements/generated/subscriptions-test-kit_requirements_coverage.csv
53
61
  - lib/subscriptions_test_kit/requirements/subscriptions-test-kit_out_of_scope_requirements.csv
54
62
  - lib/subscriptions_test_kit/requirements/subscriptions-test-kit_requirements.csv
@@ -73,6 +81,7 @@ files:
73
81
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb
74
82
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_group.rb
75
83
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification/notification_conformance_test.rb
84
+ - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification/notification_presence_test.rb
76
85
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction_verification_group.rb
77
86
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb
78
87
  - lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_status_operation.rb
@@ -105,6 +114,7 @@ homepage: https://github.com/inferno-framework/subscriptions-test-kit
105
114
  licenses:
106
115
  - Apache-2.0
107
116
  metadata:
117
+ inferno_test_kit: 'true'
108
118
  homepage_uri: https://github.com/inferno-framework/subscriptions-test-kit
109
119
  source_code_uri: https://github.com/inferno-framework/subscriptions-test-kit
110
120
  post_install_message:
@@ -115,14 +125,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
125
  requirements:
116
126
  - - ">="
117
127
  - !ruby/object:Gem::Version
118
- version: 3.1.2
128
+ version: 3.3.6
119
129
  required_rubygems_version: !ruby/object:Gem::Requirement
120
130
  requirements:
121
131
  - - ">="
122
132
  - !ruby/object:Gem::Version
123
133
  version: '0'
124
134
  requirements: []
125
- rubygems_version: 3.3.7
135
+ rubygems_version: 3.5.22
126
136
  signing_key:
127
137
  specification_version: 4
128
138
  summary: Subscriptions Test Kit