inferno_core 0.6.1 → 0.6.3
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.
- checksums.yaml +4 -4
- data/lib/inferno/apps/cli/evaluate.rb +22 -12
- data/lib/inferno/apps/cli/templates/Dockerfile.tt +0 -1
- data/lib/inferno/apps/cli/templates/README.md.tt +10 -0
- data/lib/inferno/apps/cli/templates/docs/Overview.md +7 -0
- data/lib/inferno/apps/cli/templates/docs/README.md.tt +10 -0
- data/lib/inferno/apps/cli/templates/docs/_Footer.md +5 -0
- data/lib/inferno/apps/cli/templates/docs/_Sidebar.md +5 -0
- data/lib/inferno/config/boot/presets.rb +1 -1
- data/lib/inferno/dsl/auth_info.rb +87 -1
- data/lib/inferno/dsl/configurable.rb +14 -1
- data/lib/inferno/dsl/fhir_client.rb +66 -0
- data/lib/inferno/dsl/fhir_evaluation/evaluation_context.rb +4 -2
- data/lib/inferno/dsl/fhir_evaluation/evaluator.rb +8 -3
- data/lib/inferno/dsl/fhir_evaluation/profile_conformance_helper.rb +66 -0
- data/lib/inferno/dsl/fhir_evaluation/reference_extractor.rb +61 -0
- data/lib/inferno/dsl/fhir_evaluation/rules/all_must_supports_present.rb +379 -0
- data/lib/inferno/dsl/fhir_evaluation/rules/all_references_resolve.rb +53 -0
- data/lib/inferno/dsl/fhir_evaluation/rules/all_resources_reachable.rb +63 -0
- data/lib/inferno/dsl/fhir_resource_navigation.rb +226 -0
- data/lib/inferno/dsl/input_output_handling.rb +1 -0
- data/lib/inferno/dsl/must_support_metadata_extractor.rb +366 -0
- data/lib/inferno/dsl/primitive_type.rb +9 -0
- data/lib/inferno/dsl/runnable.rb +13 -1
- data/lib/inferno/dsl/value_extractor.rb +136 -0
- data/lib/inferno/dsl.rb +1 -0
- data/lib/inferno/entities/ig.rb +46 -24
- data/lib/inferno/entities/input.rb +63 -3
- data/lib/inferno/public/bundle.js +16 -16
- data/lib/inferno/repositories/session_data.rb +2 -0
- data/lib/inferno/version.rb +1 -1
- data/spec/runnable_context.rb +8 -5
- data/spec/shared/test_kit_examples.rb +23 -1
- metadata +15 -2
@@ -112,6 +112,8 @@ module Inferno
|
|
112
112
|
auth =
|
113
113
|
if params[:value].is_a? String
|
114
114
|
DSL::AuthInfo.new(JSON.parse(params[:value]))
|
115
|
+
elsif params[:value].is_a? Hash
|
116
|
+
DSL::AuthInfo.new(params[:value])
|
115
117
|
elsif !params[:value].is_a? DSL::AuthInfo
|
116
118
|
raise Exceptions::BadSessionDataType.new(
|
117
119
|
params[:name],
|
data/lib/inferno/version.rb
CHANGED
data/spec/runnable_context.rb
CHANGED
@@ -5,24 +5,27 @@ RSpec.shared_context('when testing a runnable') do
|
|
5
5
|
let(:test_session) { repo_create(:test_session, test_suite_id: suite_id) }
|
6
6
|
|
7
7
|
before do
|
8
|
-
|
8
|
+
if described_class.respond_to?(:parent) && described_class.parent.nil?
|
9
|
+
allow(described_class).to receive(:suite).and_return(suite)
|
10
|
+
end
|
9
11
|
rescue NameError
|
10
12
|
raise StandardError, "No suite id defined. Add `let(:suite_id) { 'your_suite_id' }` to the spec"
|
11
13
|
end
|
12
14
|
|
13
|
-
def run(runnable, inputs = {})
|
15
|
+
def run(runnable, inputs = {}, scratch = {})
|
14
16
|
test_run_params = { test_session_id: test_session.id }.merge(runnable.reference_hash)
|
15
17
|
test_run = Inferno::Repositories::TestRuns.new.create(test_run_params)
|
16
|
-
inputs.each do |
|
18
|
+
inputs.each do |original_name, value|
|
19
|
+
name = runnable.config.input_name(original_name).presence || original_name
|
17
20
|
session_data_repo.save(
|
18
21
|
test_session_id: test_session.id,
|
19
22
|
name:,
|
20
23
|
value:,
|
21
|
-
type: runnable.
|
24
|
+
type: runnable.available_inputs[name.to_sym]&.type
|
22
25
|
)
|
23
26
|
end
|
24
27
|
|
25
|
-
Inferno::TestRunner.new(test_session:, test_run:).run(runnable)
|
28
|
+
Inferno::TestRunner.new(test_session:, test_run:).run(runnable, scratch)
|
26
29
|
end
|
27
30
|
|
28
31
|
# depth-first search looking for a runnable with a runtime id
|
@@ -16,6 +16,13 @@ RSpec.shared_examples 'platform_deployable_test_kit' do
|
|
16
16
|
let(:suites) do
|
17
17
|
test_kit.suite_ids.map { |id| Inferno::Repositories::TestSuites.new.find(id) }
|
18
18
|
end
|
19
|
+
let(:tests) do
|
20
|
+
Inferno::Repositories::Tests.new.all.select do |test|
|
21
|
+
test_kit.suite_ids.include?(test.suite.id)
|
22
|
+
rescue NoMethodError
|
23
|
+
false
|
24
|
+
end
|
25
|
+
end
|
19
26
|
|
20
27
|
describe 'TestKit' do
|
21
28
|
it 'defines test kit in the Metadata class' do
|
@@ -89,7 +96,7 @@ RSpec.shared_examples 'platform_deployable_test_kit' do
|
|
89
96
|
error_message =
|
90
97
|
"Include the standard 'Report Issue', 'Open Source', and 'Download links in " \
|
91
98
|
'each suite.\n'
|
92
|
-
expect(link_labels).to
|
99
|
+
expect(link_labels).to include(*expected_labels), error_message
|
93
100
|
end
|
94
101
|
end
|
95
102
|
end
|
@@ -130,4 +137,19 @@ RSpec.shared_examples 'platform_deployable_test_kit' do
|
|
130
137
|
expect(test_kit_gem.metadata['inferno_test_kit']).to eq('true'), error_message
|
131
138
|
end
|
132
139
|
end
|
140
|
+
|
141
|
+
describe 'test methods integrity' do
|
142
|
+
it 'ensures `fetch_all_bundled_resources` is not overriden in a Test' do
|
143
|
+
tests.each do |test|
|
144
|
+
error_msg = 'Integrity Error: `fetch_all_bundled_resources` is now implemented in Inferno Core. ' \
|
145
|
+
"It should no longer be defined in Test `#{test.id}`. Please remove the " \
|
146
|
+
'`fetch_all_bundled_resources` definition from that test to avoid conflicts.'
|
147
|
+
|
148
|
+
method_path = test.instance_method(:fetch_all_bundled_resources).source_location
|
149
|
+
expected_path = Inferno::Test.instance_method(:fetch_all_bundled_resources).source_location
|
150
|
+
|
151
|
+
expect(method_path).to eq(expected_path), error_msg
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
133
155
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inferno_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen MacVicar
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2025-
|
13
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -444,6 +444,10 @@ files:
|
|
444
444
|
- lib/inferno/apps/cli/templates/data/redis/.keep
|
445
445
|
- lib/inferno/apps/cli/templates/docker-compose.background.yml.tt
|
446
446
|
- lib/inferno/apps/cli/templates/docker-compose.yml.tt
|
447
|
+
- lib/inferno/apps/cli/templates/docs/Overview.md
|
448
|
+
- lib/inferno/apps/cli/templates/docs/README.md.tt
|
449
|
+
- lib/inferno/apps/cli/templates/docs/_Footer.md
|
450
|
+
- lib/inferno/apps/cli/templates/docs/_Sidebar.md
|
447
451
|
- lib/inferno/apps/cli/templates/lib/%library_name%.rb.tt
|
448
452
|
- lib/inferno/apps/cli/templates/lib/%library_name%/igs/.keep
|
449
453
|
- lib/inferno/apps/cli/templates/lib/%library_name%/igs/README.md
|
@@ -525,7 +529,13 @@ files:
|
|
525
529
|
- lib/inferno/dsl/fhir_evaluation/evaluation_context.rb
|
526
530
|
- lib/inferno/dsl/fhir_evaluation/evaluation_result.rb
|
527
531
|
- lib/inferno/dsl/fhir_evaluation/evaluator.rb
|
532
|
+
- lib/inferno/dsl/fhir_evaluation/profile_conformance_helper.rb
|
533
|
+
- lib/inferno/dsl/fhir_evaluation/reference_extractor.rb
|
528
534
|
- lib/inferno/dsl/fhir_evaluation/rule.rb
|
535
|
+
- lib/inferno/dsl/fhir_evaluation/rules/all_must_supports_present.rb
|
536
|
+
- lib/inferno/dsl/fhir_evaluation/rules/all_references_resolve.rb
|
537
|
+
- lib/inferno/dsl/fhir_evaluation/rules/all_resources_reachable.rb
|
538
|
+
- lib/inferno/dsl/fhir_resource_navigation.rb
|
529
539
|
- lib/inferno/dsl/fhir_resource_validation.rb
|
530
540
|
- lib/inferno/dsl/fhir_validation.rb
|
531
541
|
- lib/inferno/dsl/fhirpath_evaluation.rb
|
@@ -536,7 +546,9 @@ files:
|
|
536
546
|
- lib/inferno/dsl/jwks.rb
|
537
547
|
- lib/inferno/dsl/links.rb
|
538
548
|
- lib/inferno/dsl/messages.rb
|
549
|
+
- lib/inferno/dsl/must_support_metadata_extractor.rb
|
539
550
|
- lib/inferno/dsl/oauth_credentials.rb
|
551
|
+
- lib/inferno/dsl/primitive_type.rb
|
540
552
|
- lib/inferno/dsl/request_storage.rb
|
541
553
|
- lib/inferno/dsl/results.rb
|
542
554
|
- lib/inferno/dsl/resume_test_route.rb
|
@@ -544,6 +556,7 @@ files:
|
|
544
556
|
- lib/inferno/dsl/suite_endpoint.rb
|
545
557
|
- lib/inferno/dsl/suite_option.rb
|
546
558
|
- lib/inferno/dsl/tcp_exception_handler.rb
|
559
|
+
- lib/inferno/dsl/value_extractor.rb
|
547
560
|
- lib/inferno/entities.rb
|
548
561
|
- lib/inferno/entities/attributes.rb
|
549
562
|
- lib/inferno/entities/entity.rb
|