From 8a4f9210b3f4a4d3ce67ed1b43e20a9f9d4f86e5 Mon Sep 17 00:00:00 2001 From: Shaumik-Ashraf Date: Mon, 10 Feb 2025 15:06:30 -0500 Subject: [PATCH] FI-3724 migrate changes (#225) * FI-3663: Update the Reference Resolution test to use the updated resource_is_valid? method for resource validation without persisting messages * FI-3648 Add Metadata and Conform to Platform Deployment Spec * update ruby version in github actions file --------- Co-authored-by: Vanessa Fotso --- .github/workflows/ruby.yml | 4 +- .ruby-version | 2 +- .tool-versions | 2 +- Dockerfile | 2 +- Gemfile | 1 + Gemfile.lock | 64 +++++++++-------- lib/us_core_test_kit.rb | 1 + .../generated/v3.1.1/us_core_test_suite.rb | 19 ++++- .../generated/v4.0.0/us_core_test_suite.rb | 19 ++++- .../generated/v5.0.1/us_core_test_suite.rb | 19 ++++- .../generated/v6.1.0/us_core_test_suite.rb | 19 ++++- .../generated/v7.0.0/us_core_test_suite.rb | 19 ++++- .../generator/templates/suite.rb.erb | 19 ++++- lib/us_core_test_kit/metadata.rb | 70 +++++++++++++++++++ .../reference_resolution_test.rb | 17 +---- spec/spec_helper.rb | 2 +- spec/us_core/clinical_note_type_test_spec.rb | 3 +- spec/us_core/us_core_test_kit_spec.rb | 3 + us_core_test_kit.gemspec | 17 ++--- 19 files changed, 232 insertions(+), 70 deletions(-) create mode 100644 lib/us_core_test_kit/metadata.rb create mode 100644 spec/us_core/us_core_test_kit_spec.rb diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 7862d0fcc..97456c90b 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['3.1.2'] + ruby-version: ['3.3.6'] steps: - uses: actions/checkout@v2 @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['3.1.2'] + ruby-version: ['3.3.6'] steps: - uses: actions/checkout@v2 - name: Set up Ruby diff --git a/.ruby-version b/.ruby-version index 6ebad1488..9c25013db 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.2 \ No newline at end of file +3.3.6 diff --git a/.tool-versions b/.tool-versions index b8ab7eae2..5aa8e0c30 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -ruby 3.1.2 \ No newline at end of file +ruby 3.3.6 diff --git a/Dockerfile b/Dockerfile index c66257ea9..a6b73244b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.1.2 +FROM ruby:3.3.6 ENV INSTALL_PATH=/opt/inferno/ ENV APP_ENV=production diff --git a/Gemfile b/Gemfile index 382378ec4..dd583968f 100644 --- a/Gemfile +++ b/Gemfile @@ -6,4 +6,5 @@ gemspec group :development, :test do gem 'debug' + gem 'rack-test' end diff --git a/Gemfile.lock b/Gemfile.lock index e673245b1..2aff54c2b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,9 +2,9 @@ PATH remote: . specs: us_core_test_kit (0.9.3) - inferno_core (>= 0.5.0) - smart_app_launch_test_kit (>= 0.4.6) - tls_test_kit (~> 0.2.0) + inferno_core (>= 0.6.1) + smart_app_launch_test_kit (>= 0.5.0) + tls_test_kit (~> 0.3.0) GEM remote: https://rubygems.org/ @@ -22,13 +22,13 @@ GEM base64 (0.2.0) bcp47 (0.3.3) i18n - bigdecimal (3.1.8) + bigdecimal (3.1.9) bindata (2.5.0) blueprinter (0.25.2) byebug (11.1.3) coderay (1.1.3) concurrent-ruby (1.3.4) - connection_pool (2.4.1) + connection_pool (2.5.0) crack (1.0.0) bigdecimal rexml @@ -80,8 +80,8 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) @@ -132,15 +132,16 @@ GEM hansi (0.2.1) hashdiff (1.1.0) http-accept (1.7.0) - http-cookie (1.0.7) + http-cookie (1.0.8) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) - inferno_core (0.5.1) + inferno_core (0.6.2) activesupport (~> 6.1.7.5) base62-rb (= 0.3.1) blueprinter (= 0.25.2) + concurrent-ruby (= 1.3.4) dotenv (~> 2.7) dry-configurable (= 1.0.0) dry-container (= 0.10.0) @@ -173,16 +174,16 @@ GEM aes_key_wrap bindata httpclient - jwt (2.9.3) + jwt (2.10.1) base64 kramdown (2.5.1) rexml (>= 3.3.9) - logger (1.6.2) + logger (1.6.5) method_source (1.1.0) mime-types (3.6.0) logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.1203) + mime-types-data (3.2025.0107) mini_portile2 (2.8.8) minitest (5.25.4) multi_json (1.15.0) @@ -196,14 +197,14 @@ GEM mustermann (= 1.1.2) netrc (0.11.0) nio4r (2.7.4) - nokogiri (1.16.8) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-darwin) + nokogiri (1.18.2-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) @@ -214,12 +215,12 @@ GEM oj (3.11.0) pastel (0.8.0) tty-color (~> 0.5) - pry (0.15.0) + pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) - pry-byebug (3.8.0) + pry-byebug (3.10.1) byebug (~> 11.0) - pry (~> 0.10) + pry (>= 0.13, < 0.15) psych (5.1.2) stringio public_suffix (6.0.1) @@ -227,10 +228,12 @@ GEM nio4r (~> 2.0) racc (1.8.1) rack (2.2.10) + rack-test (2.2.0) + rack (>= 1.3) rake (13.2.1) rdoc (6.7.0) psych (>= 4.0.0) - redis-client (0.22.2) + redis-client (0.23.2) connection_pool reline (0.5.9) io-console (~> 0.5) @@ -239,7 +242,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.3.9) + rexml (3.4.0) rouge (4.5.1) rspec (3.13.0) rspec-core (~> 3.13.0) @@ -261,11 +264,11 @@ GEM connection_pool (>= 2.3.0) rack (>= 2.2.4) redis-client (>= 0.19.0) - smart_app_launch_test_kit (0.4.6) - inferno_core (>= 0.4.2) + smart_app_launch_test_kit (0.5.0) + inferno_core (>= 0.6.2) json-jwt (~> 1.15.3) jwt (~> 2.6) - tls_test_kit (~> 0.2.0) + tls_test_kit (~> 0.3.0) sqlite3 (1.7.3) mini_portile2 (~> 2.8.0) sqlite3 (1.7.3-arm64-darwin) @@ -278,9 +281,9 @@ GEM unicode_utils (~> 1.4) strings-ansi (0.2.0) thor (1.2.2) - tilt (2.4.0) - tls_test_kit (0.2.3) - inferno_core (>= 0.4.2) + tilt (2.6.0) + tls_test_kit (0.3.0) + inferno_core (>= 0.6.2) tty-color (0.6.0) tty-markdown (0.7.2) kramdown (>= 1.16.2, < 3.0) @@ -298,7 +301,7 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - zeitwerk (2.6.18) + zeitwerk (2.7.1) PLATFORMS arm64-darwin-21 @@ -310,9 +313,10 @@ DEPENDENCIES database_cleaner-sequel (~> 1.8) debug factory_bot (~> 6.1) + rack-test rspec (~> 3.10) us_core_test_kit! webmock (~> 3.11) BUNDLED WITH - 2.3.23 + 2.5.22 diff --git a/lib/us_core_test_kit.rb b/lib/us_core_test_kit.rb index 9630e568b..9e6597114 100644 --- a/lib/us_core_test_kit.rb +++ b/lib/us_core_test_kit.rb @@ -1,3 +1,4 @@ +require_relative 'us_core_test_kit/metadata' require_relative 'us_core_test_kit/generated/v3.1.1/us_core_test_suite' require_relative 'us_core_test_kit/generated/v4.0.0/us_core_test_suite' require_relative 'us_core_test_kit/generated/v5.0.1/us_core_test_suite' diff --git a/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb b/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb index 9ceeddd9a..3ce7e60b7 100644 --- a/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +++ b/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb @@ -55,7 +55,6 @@ class USCoreTestSuite < Inferno::TestSuite the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -166,6 +165,24 @@ def self.metadata group from: :us_core_v311_clinical_notes_guidance group from: :us_core_311_data_absent_reason end + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb b/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb index 0a7c33fa8..7d72b3c6c 100644 --- a/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +++ b/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb @@ -57,7 +57,6 @@ class USCoreTestSuite < Inferno::TestSuite the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -170,6 +169,24 @@ def self.metadata group from: :us_core_v400_clinical_notes_guidance group from: :us_core_311_data_absent_reason end + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb b/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb index db329adc0..1ca883e83 100644 --- a/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +++ b/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb @@ -67,7 +67,6 @@ class USCoreTestSuite < Inferno::TestSuite the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -190,6 +189,24 @@ def self.metadata group from: :us_core_v400_clinical_notes_guidance group from: :us_core_311_data_absent_reason end + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb b/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb index 83e2aefb2..150ccc3cd 100644 --- a/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +++ b/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb @@ -74,7 +74,6 @@ class USCoreTestSuite < Inferno::TestSuite the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -220,6 +219,24 @@ def self.metadata id: :us_core_v610_smart_granular_scopes_stu2_2, required_suite_options: USCoreOptions::SMART_2_2_REQUIREMENT + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb b/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb index 86c648f0c..245b0c477 100644 --- a/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +++ b/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb @@ -80,7 +80,6 @@ class USCoreTestSuite < Inferno::TestSuite the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -232,6 +231,24 @@ def self.metadata id: :us_core_v700_smart_granular_scopes_stu2_2, required_suite_options: USCoreOptions::SMART_2_2_REQUIREMENT + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/generator/templates/suite.rb.erb b/lib/us_core_test_kit/generator/templates/suite.rb.erb index 7b50a79e4..ff5e51f92 100644 --- a/lib/us_core_test_kit/generator/templates/suite.rb.erb +++ b/lib/us_core_test_kit/generator/templates/suite.rb.erb @@ -31,7 +31,6 @@ module USCoreTestKit the US Core Test Suite and the ONC Certification (g)(10) Standardized API Test Suite. ) - version VERSION GENERAL_MESSAGE_FILTERS = [ %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris}, @@ -138,6 +137,24 @@ module USCoreTestKit id: :<%= granular_scopes_id %>_stu2_2, required_suite_options: USCoreOptions::SMART_2_2_REQUIREMENT <% end %> + + links [ + { + type: 'report_issue', + label: 'Report Issue', + url: 'https://github.com/inferno-framework/us-core-test-kit/issues/' + }, + { + type: 'source_code', + label: 'Open Source', + url: 'https://github.com/inferno-framework/us-core-test-kit/' + }, + { + type: 'download', + label: 'Download', + url: 'https://github.com/inferno-framework/us-core-test-kit/releases/' + } + ] end end end diff --git a/lib/us_core_test_kit/metadata.rb b/lib/us_core_test_kit/metadata.rb new file mode 100644 index 000000000..9443ef95d --- /dev/null +++ b/lib/us_core_test_kit/metadata.rb @@ -0,0 +1,70 @@ +require_relative 'version' + +module USCoreTestKit + class Metadata < Inferno::TestKit + id :us_core_test_kit + title 'US Core Test Kit' + description <<~DESCRIPTION + The US Core Test Kit validates the conformance of a server implementation to a specific + version of the [US Core IG](http://hl7.org/fhir/us/core). Currently, Inferno can test + against implementations of following versions of the US Core IG: + [v3.1.1](http://hl7.org/fhir/us/core/STU3.1.1/), + [v4.0.0](http://hl7.org/fhir/us/core/STU4/), + [v5.0.1](http://hl7.org/fhir/us/core/STU5.0.1/), + [v6.1.0](https://hl7.org/fhir/us/core/STU6.1/), + and + [v7.0.0](https://hl7.org/fhir/us/core/STU7/). + + + This test kit is [open source](https://github.com/inferno-framework/us-core-test-kit#license) + and freely available for use or adoption by the health IT community including EHR vendors, + health app developers, and testing labs. It is built using the + [Inferno Framework](https://inferno-framework.github.io/inferno-core/). + The Inferno Framework is designed for reuse and aims to make it easier to build test kits + for any FHIR-based data exchange. + + ## Status + + The US Core Test Kit is actively developed and regularly updated. Starting with STU3, + each STU sequence is kept up-to-date with the latest version. + + The test kit currently tests the following requirements: + + - Support for Capability Statement + - Support for all US Core Profiles + - Searches required for each resource + - Support for Must Support Elements + - Profile Validation + - Reference Validation + - Clinical Notes Guidance + - Missing Data Guidance + + See the test descriptions within the test kit for detail on the specific validations + performed as part of testing these requirements. + + ## Repository + + The US Core Test Kit GitHub repository can be [found here](https://github.com/inferno-framework/us-core-test-kit). + + ## Providing Feedback and Reporting Issues + + We welcome feedback on the tests, including but not limited to the following areas: + + - Validation logic, such as potential bugs, lax checks, and unexpected failures. + - Requirements coverage, such as requirements that have been missed, tests that necessitate + features that the IG does not require, or other issues with the interpretation of the IG’s requirements. + - User experience, such as confusing or missing information in the test UI. + + Please report any issues with this set of tests in the + [issues section](https://github.com/inferno-framework/us-core-test-kit/issues) + of the repository. + DESCRIPTION + suite_ids [:us_core_v311, :us_core_v400, :us_core_v501, :us_core_v610, :us_core_v700] + tags ['SMART App Launch', 'US Core'] + last_updated '2024-12-05' + version VERSION + maturity 'High' + authors ['Stephen MacVicar', 'Yunwei Wang'] + repo 'https://github.com/inferno-framework/us-core-test-kit' + end +end diff --git a/lib/us_core_test_kit/reference_resolution_test.rb b/lib/us_core_test_kit/reference_resolution_test.rb index 4b77c1b6b..c5f2da59e 100644 --- a/lib/us_core_test_kit/reference_resolution_test.rb +++ b/lib/us_core_test_kit/reference_resolution_test.rb @@ -167,22 +167,7 @@ def resolve_reference(reference) def resource_is_valid_with_target_profile?(resource, target_profile) return true if target_profile.blank? - # Only need to know if the resource is valid. - # Calling resource_is_valid? causes validation errors to be logged. - validator = find_validator(:default) - - target_profile_with_version = target_profile.include?('|') ? target_profile : "#{target_profile}|#{metadata.profile_version}" - - validator_response = validator.validate(resource, target_profile_with_version) - outcome = validator.operation_outcome_from_hl7_wrapped_response(validator_response) - - message_hashes = outcome.issue&.map { |issue| validator.message_hash_from_issue(issue, resource) } || [] - - message_hashes.concat(validator.additional_validation_messages(resource, target_profile_with_version)) - - validator.filter_messages(message_hashes) - - message_hashes.none? { |message_hash| message_hash[:type] == 'error' } + resource_is_valid?(resource:, profile_url: target_profile, add_messages_to_runnable: false) end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index f30b83fca..5ef8a0b9e 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -127,7 +127,7 @@ require 'inferno' Inferno::Application.finalize! -require Inferno::SpecSupport::FACTORY_BOT_SUPPORT_PATH +Inferno::SpecSupport.require_helpers FactoryBot.definition_file_paths = [ Inferno::SpecSupport::FACTORY_PATH diff --git a/spec/us_core/clinical_note_type_test_spec.rb b/spec/us_core/clinical_note_type_test_spec.rb index 50c297c8f..ed145077f 100644 --- a/spec/us_core/clinical_note_type_test_spec.rb +++ b/spec/us_core/clinical_note_type_test_spec.rb @@ -2,6 +2,7 @@ RSpec.describe USCoreTestKit::ClinicalNoteTypeTest do let(:url) { 'http://example.com/fhir' } + let(:suite_id) { 'us_core_v311' } let(:patient_id) { '85' } let(:test_scratch) { {} } let(:test_class) do @@ -68,4 +69,4 @@ expect(attachments).not_to include("#{url}/Binary/lab") end end -end \ No newline at end of file +end diff --git a/spec/us_core/us_core_test_kit_spec.rb b/spec/us_core/us_core_test_kit_spec.rb new file mode 100644 index 000000000..87296ce3d --- /dev/null +++ b/spec/us_core/us_core_test_kit_spec.rb @@ -0,0 +1,3 @@ +RSpec.describe USCoreTestKit, order: :defined do + it_behaves_like 'platform_deployable_test_kit' +end diff --git a/us_core_test_kit.gemspec b/us_core_test_kit.gemspec index 0ad26e00b..ceb79c753 100644 --- a/us_core_test_kit.gemspec +++ b/us_core_test_kit.gemspec @@ -9,23 +9,18 @@ Gem::Specification.new do |spec| spec.description = 'US Core Inferno tests' spec.homepage = 'https://github.com/inferno-framework/us-core-test-kit' spec.license = 'Apache-2.0' - spec.add_runtime_dependency 'inferno_core', '>= 0.5.0' - spec.add_runtime_dependency 'smart_app_launch_test_kit', '>= 0.4.6' - spec.add_runtime_dependency 'tls_test_kit', '~> 0.2.0' + spec.add_runtime_dependency 'inferno_core', '>= 0.6.1' + spec.add_runtime_dependency 'smart_app_launch_test_kit', '>= 0.5.0' + spec.add_runtime_dependency 'tls_test_kit', '~> 0.3.0' spec.add_development_dependency 'database_cleaner-sequel', '~> 1.8' spec.add_development_dependency 'factory_bot', '~> 6.1' spec.add_development_dependency 'rspec', '~> 3.10' spec.add_development_dependency 'webmock', '~> 3.11' - spec.required_ruby_version = Gem::Requirement.new('>= 3.1.2') + spec.required_ruby_version = Gem::Requirement.new('>= 3.3.6') + spec.metadata['inferno_test_kit'] = 'true' spec.metadata['homepage_uri'] = spec.homepage spec.metadata['source_code_uri'] = 'https://github.com/inferno-framework/us-core-test-kit' - spec.files = [ - Dir['lib/**/*.rb'], - Dir['lib/**/*.json'], - Dir['lib/**/*.tgz'], - Dir['lib/**/*.yml'], - 'LICENSE' - ].flatten + spec.files = `[ -d .git ] && git ls-files -z lib config/presets LICENSE`.split("\x0") spec.require_paths = ['lib'] end