From a0e6efa12cf4e0d300bf5ed4e5d6f1bfebf5fc20 Mon Sep 17 00:00:00 2001 From: Lucas Tucker Date: Fri, 27 Mar 2026 18:15:05 -0400 Subject: [PATCH 1/5] Added simulation verification flag to tests --- Gemfile.lock | 187 ++++++++++-------- ...ication_input_payload_verification_test.rb | 3 +- .../notification_input_verification_test.rb | 3 +- .../subscription_conformance_test.rb | 3 +- 4 files changed, 109 insertions(+), 87 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e0694f4..acb9f02 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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.1) 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_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' From 7e3bee62b08a543c80115ddca5ce0c3c83edf03c Mon Sep 17 00:00:00 2001 From: Lucas Tucker Date: Fri, 27 Mar 2026 18:15:52 -0400 Subject: [PATCH 2/5] Rubocop patch --- .../conformance_verification/subscription_verification_test.rb | 1 + .../workflow/interaction_test.rb | 1 + 2 files changed, 2 insertions(+) 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 From 7ace604ab2c86f85cb944672550548ca08277bdc Mon Sep 17 00:00:00 2001 From: Lucas Tucker Date: Fri, 27 Mar 2026 18:19:47 -0400 Subject: [PATCH 3/5] Rubocop spec patch --- .../common/notification_conformance_verification_spec.rb | 6 ++++++ .../common/subscription_conformance_verification_spec.rb | 2 ++ 2 files changed, 8 insertions(+) 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') From 8489f9b06271bbd74d263b591832fe5d0ca7f078 Mon Sep 17 00:00:00 2001 From: Lucas Tucker Date: Mon, 30 Mar 2026 16:52:25 -0400 Subject: [PATCH 4/5] Updated gemfile to use new inferno_core gem --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index acb9f02..1444a37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -142,7 +142,7 @@ GEM domain_name (~> 0.5) i18n (1.14.8) concurrent-ruby (~> 1.0) - inferno_core (1.1.1) + inferno_core (1.1.2) activesupport (~> 6.1.7.5) base62-rb (= 0.3.1) blueprinter (= 0.25.2) From cbabbc5edf36681ce0fa4cb1d82ed64780b578c5 Mon Sep 17 00:00:00 2001 From: Lucas Tucker Date: Tue, 31 Mar 2026 16:55:27 -0400 Subject: [PATCH 5/5] Ensure newest inferno_core version --- Gemfile.lock | 2 +- subscriptions_test_kit.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1444a37..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/ 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