diff --git a/Gemfile.lock b/Gemfile.lock index e0694f4..76b73bc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,7 @@ PATH remote: . specs: subscriptions_test_kit (0.12.0) - inferno_core (~> 1.0, >= 1.0.2) + inferno_core (~> 1.0, >= 1.1.2) GEM remote: https://rubygems.org/ @@ -13,20 +13,21 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) + addressable (2.8.9) + public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) base62-rb (0.3.1) base64 (0.3.0) bcp47 (0.3.3) i18n - bigdecimal (3.2.2) + bigdecimal (3.3.1) blueprinter (0.25.2) - byebug (12.0.0) + byebug (13.0.0) + reline (>= 0.6.0) coderay (1.1.3) concurrent-ruby (1.3.4) - connection_pool (2.5.3) - crack (1.0.0) + connection_pool (3.0.2) + crack (1.0.1) bigdecimal rexml csv (3.3.5) @@ -34,14 +35,15 @@ GEM database_cleaner-sequel (1.99.0) database_cleaner (~> 1.99.0) sequel - date (3.4.1) + date (3.5.1) date_time_precision (0.8.1) - debug (1.11.0) + debug (1.11.1) irb (~> 1.10) reline (>= 0.3.8) diff-lcs (1.6.2) domain_name (0.6.20240107) dotenv (2.8.1) + drb (2.2.3) dry-auto_inject (1.0.1) dry-core (~> 1.0) zeitwerk (~> 2.6) @@ -59,12 +61,13 @@ GEM dry-configurable (~> 1.0, < 2) dry-core (~> 1.0, < 2) dry-inflector (~> 1.0, < 2) - dry-transformer (1.0.1) + dry-transformer (1.1.0) + bigdecimal zeitwerk (~> 2.6) - erb (5.0.1) - factory_bot (6.5.4) + erb (6.0.2) + factory_bot (6.5.6) activesupport (>= 6.1.0) - faraday (1.10.4) + faraday (1.10.5) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -80,23 +83,23 @@ GEM faraday-em_synchrony (1.0.1) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.1.1) + faraday-multipart (1.2.0) multipart-post (~> 2.0) faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) - faraday-retry (1.0.3) + faraday-retry (1.0.4) faraday_middleware (1.2.1) faraday (~> 1.0) - fhir_client (6.0.0) + fhir_client (6.1.0) activesupport (>= 3) addressable (>= 2.3) fhir_dstu2_models (>= 1.1.1) fhir_models (>= 5.0.0) fhir_stu3_models (>= 3.1.1) nokogiri (>= 1.10.4) - oauth2 (~> 1.1) + oauth2 (~> 2.0) rack (>= 1.5) rest-client (~> 2.0) tilt (>= 1.1) @@ -125,18 +128,21 @@ GEM mustermann (~> 1.0) mustermann-contrib (~> 1.0) rack (~> 2.0) - hanami-utils (2.2.0) + hanami-utils (2.3.0) + bigdecimal (~> 3.1) concurrent-ruby (~> 1.0) dry-core (~> 1.0, < 2) dry-transformer (~> 1.0, < 2) hansi (0.2.1) - hashdiff (1.2.0) + hashdiff (1.2.1) + hashie (5.1.0) + logger http-accept (1.7.0) - http-cookie (1.0.8) + http-cookie (1.1.0) domain_name (~> 0.5) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) - inferno_core (1.0.3) + inferno_core (1.1.2) activesupport (~> 6.1.7.5) base62-rb (= 0.3.1) blueprinter (= 0.25.2) @@ -167,18 +173,19 @@ GEM sequel (~> 5.42.0) sidekiq (~> 7.2.4) sqlite3 (~> 1.4) - thor (~> 1.2.1) + thor (~> 1.4) tty-markdown (~> 0.7.1) - io-console (0.8.0) - irb (1.15.2) + io-console (0.8.2) + irb (1.17.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.12.2) - jwt (2.10.2) + json (2.19.3) + jwt (3.1.2) base64 - kramdown (2.5.1) - rexml (>= 3.3.9) + kramdown (2.5.2) + rexml (>= 3.4.4) kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) language_server-protocol (3.17.0.5) @@ -188,12 +195,12 @@ GEM mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2025.0715) - mini_portile2 (2.8.9) - minitest (5.25.5) - multi_json (1.17.0) - multi_xml (0.7.2) - bigdecimal (~> 3.1) + mime-types-data (3.2026.0317) + minitest (6.0.2) + drb (~> 2.0) + prism (~> 1.5) + multi_xml (0.8.1) + bigdecimal (>= 3.1, < 5) multipart-post (2.4.1) mustermann (1.1.2) ruby2_keywords (~> 0.0.1) @@ -202,87 +209,94 @@ GEM mustermann (= 1.1.2) mutex_m (0.3.0) netrc (0.11.0) - nio4r (2.7.4) - nokogiri (1.18.9) - mini_portile2 (~> 2.8.2) + nio4r (2.7.5) + nokogiri (1.19.2-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.2-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.19.2-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.9-aarch64-linux-gnu) + nokogiri (1.19.2-arm-linux-musl) racc (~> 1.4) - nokogiri (1.18.9-arm-linux-gnu) + nokogiri (1.19.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.9-arm64-darwin) + nokogiri (1.19.2-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.9-x86_64-darwin) + nokogiri (1.19.2-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.9-x86_64-linux-gnu) + nokogiri (1.19.2-x86_64-linux-musl) racc (~> 1.4) - oauth2 (1.4.11) - faraday (>= 0.17.3, < 3.0) - jwt (>= 1.0, < 3.0) - multi_json (~> 1.3) + oauth2 (2.0.18) + faraday (>= 0.17.3, < 4.0) + jwt (>= 1.0, < 4.0) + logger (~> 1.2) multi_xml (~> 0.5) rack (>= 1.2, < 4) + snaky_hash (~> 2.0, >= 2.0.3) + version_gem (~> 1.1, >= 1.1.9) oj (3.11.0) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.11.1) ast (~> 2.4.1) racc pastel (0.8.0) tty-color (~> 0.5) - pp (0.6.2) + pp (0.6.3) prettyprint prettyprint (0.2.0) - prism (1.4.0) - pry (0.15.2) + prism (1.9.0) + pry (0.16.0) coderay (~> 1.1) method_source (~> 1.0) - pry-byebug (3.11.0) - byebug (~> 12.0) - pry (>= 0.13, < 0.16) - psych (5.2.6) + reline (>= 0.6.0) + pry-byebug (3.12.0) + byebug (~> 13.0) + pry (>= 0.13, < 0.17) + psych (5.3.1) date stringio - public_suffix (6.0.2) + public_suffix (7.0.5) puma (5.6.9) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.17) + rack (2.2.22) rack-test (2.2.0) rack (>= 1.3) rainbow (3.1.1) - rake (13.3.0) - rdoc (6.14.1) + rake (13.3.1) + rdoc (7.2.0) erb psych (>= 4.0.0) - redis-client (0.25.1) + tsort + redis-client (0.28.0) connection_pool - regexp_parser (2.10.0) - reline (0.6.1) + regexp_parser (2.11.3) + reline (0.6.3) io-console (~> 0.5) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.4.1) + rexml (3.4.4) roo (2.10.1) nokogiri (~> 1) rubyzip (>= 1.3.0, < 3.0.0) - rouge (4.6.0) - rspec (3.13.1) + rouge (4.7.0) + rspec (3.13.2) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.4) + rspec-core (3.13.6) rspec-support (~> 3.13.0) rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.5) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.4) - rubocop (1.77.0) + rspec-support (3.13.7) + rubocop (1.86.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -290,17 +304,17 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.45.1, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.45.1) + rubocop-ast (1.49.1) parser (>= 3.3.7.2) - prism (~> 1.4) + prism (~> 1.7) rubocop-rake (0.6.0) rubocop (~> 1.0) - rubocop-rspec (3.6.0) + rubocop-rspec (3.9.0) lint_roller (~> 1.1) - rubocop (~> 1.72, >= 1.72.1) + rubocop (~> 1.81) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (2.4.1) @@ -310,22 +324,23 @@ GEM connection_pool (>= 2.3.0) rack (>= 2.2.4) redis-client (>= 0.19.0) - sqlite3 (1.7.3) - mini_portile2 (~> 2.8.0) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) sqlite3 (1.7.3-aarch64-linux) sqlite3 (1.7.3-arm-linux) sqlite3 (1.7.3-arm64-darwin) - sqlite3 (1.7.3-x86-linux) sqlite3 (1.7.3-x86_64-darwin) sqlite3 (1.7.3-x86_64-linux) - stringio (3.1.7) + stringio (3.2.0) strings (0.2.1) strings-ansi (~> 0.2) unicode-display_width (>= 1.5, < 3.0) unicode_utils (~> 1.4) strings-ansi (0.2.0) - thor (1.2.2) - tilt (2.6.1) + thor (1.5.0) + tilt (2.7.0) + tsort (0.2.0) tty-color (0.6.0) tty-markdown (0.7.2) kramdown (>= 1.16.2, < 3.0) @@ -339,20 +354,24 @@ GEM concurrent-ruby (~> 1.0) unicode-display_width (2.6.0) unicode_utils (1.4.0) - webmock (3.25.1) + version_gem (1.1.9) + webmock (3.26.2) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - zeitwerk (2.7.3) + zeitwerk (2.7.5) PLATFORMS aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl arm-linux + arm-linux-gnu + arm-linux-musl arm64-darwin - ruby - x86-linux x86_64-darwin - x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES database_cleaner-sequel (~> 1.8) diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_payload_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_payload_verification_test.rb index 76f0e2d..2dee908 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_payload_verification_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_payload_verification_test.rb @@ -12,12 +12,13 @@ class NotificationInputPayloadVerificationTest < Inferno::Test include SubscriptionSimulationUtils id :subscriptions_r4_client_notification_input_payload_verification - title '[USER INPUT VERIFICATION] Notification Bundle Input Conformance Verification for Payload Content' + title 'Notification Bundle Input Conformance Verification for Payload Content' description %( This test verifies that the notification bundle sent by Inferno meets the requirements of the payload indicated in the subscription created by the client under test. The content of the notification will be based on the Bundle provided by the tester. ) + simulation_verification run do subscription = find_subscription(test_session_id) diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb index 4b537bb..08205f2 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb @@ -8,13 +8,14 @@ class NotificationInputVerificationTest < Inferno::Test include NotificationConformanceVerification id :subscriptions_r4_client_notification_input_verification - title '[USER INPUT VERIFICATION] Notification Bundle Input Conformance Verification' + title 'Notification Bundle Input Conformance Verification' description %( This test verifies that the notification bundle sent is conformant to the [R4 Topic-Based Subscription Notification Bundle profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html). The content of the notification will be based on the Bundle provided by the tester. ) + simulation_verification run do load_tagged_requests(REST_HOOK_EVENT_NOTIFICATION_TAG) diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/subscription_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/subscription_verification_test.rb index 1b4105f..b14b7d9 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/subscription_verification_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/subscription_verification_test.rb @@ -6,6 +6,7 @@ module SubscriptionsTestKit module SubscriptionsR5BackportR4Client class SubscriptionVerificationTest < Inferno::Test include SubscriptionConformanceVerification + id :subscriptions_r4_client_subscription_verification title 'Client Subscription Conformance Verification' description %( diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/interaction_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/interaction_test.rb index 3edd24b..e87c2f0 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/interaction_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/interaction_test.rb @@ -4,6 +4,7 @@ module SubscriptionsTestKit module SubscriptionsR5BackportR4Client class InteractionTest < Inferno::Test include URLs + id :subscriptions_r4_client_interaction description %( During this test, the client under test will interact with Inferno following the Subscription diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb index 45f2b87..a9d82f2 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb @@ -6,7 +6,7 @@ class SubscriptionConformanceTest < Inferno::Test include SubscriptionConformanceVerification id :subscriptions_r4_server_subscription_conformance - title '[USER INPUT VERIFICATION] Verify Subscription to Send to Server' + title 'Verify Subscription to Send to Server' description %( This test accepts a Subscription resource as an input and verifies that it is conformant to the [R4/B Topic-Based Subscription profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription.html) @@ -28,6 +28,7 @@ class SubscriptionConformanceTest < Inferno::Test access token to direct the server to send that header to identify the notifications are for this session. Inferno will add the entry if it is not present. ) + simulation_verification verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@72', 'hl7.fhir.uv.subscriptions_1.1.0@73' diff --git a/spec/subscriptions_test_kit/common/notification_conformance_verification_spec.rb b/spec/subscriptions_test_kit/common/notification_conformance_verification_spec.rb index b01c389..8db7c51 100644 --- a/spec/subscriptions_test_kit/common/notification_conformance_verification_spec.rb +++ b/spec/subscriptions_test_kit/common/notification_conformance_verification_spec.rb @@ -65,6 +65,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -290,6 +291,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -380,6 +382,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -430,6 +433,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -518,6 +522,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -610,6 +615,7 @@ def entity_result_message_type(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::NotificationConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') diff --git a/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb b/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb index 0973254..6b749b4 100644 --- a/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb +++ b/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb @@ -43,6 +43,7 @@ def entity_result_message(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::SubscriptionConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') @@ -167,6 +168,7 @@ def entity_result_message(runnable) let(:test) do Class.new(Inferno::Test) do include SubscriptionsTestKit::SubscriptionConformanceVerification + fhir_resource_validator do url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') diff --git a/subscriptions_test_kit.gemspec b/subscriptions_test_kit.gemspec index 130e97d..bfe195a 100644 --- a/subscriptions_test_kit.gemspec +++ b/subscriptions_test_kit.gemspec @@ -8,7 +8,7 @@ Gem::Specification.new do |spec| spec.description = 'Inferno test kit for FHIR R5-style Subscriptions' spec.homepage = 'https://github.com/inferno-framework/subscriptions-test-kit' spec.license = 'Apache-2.0' - spec.add_dependency 'inferno_core', '~> 1.0', '>= 1.0.2' + spec.add_dependency 'inferno_core', '~> 1.0', '>= 1.1.2' spec.required_ruby_version = Gem::Requirement.new('>= 3.3.6') spec.metadata['inferno_test_kit'] = 'true' spec.metadata['homepage_uri'] = spec.homepage