inferno_core 0.2.0 → 0.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,6 +11,8 @@ object-assign
11
11
  * @license MIT
12
12
  */
13
13
 
14
+ /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
15
+
14
16
  /**
15
17
  * A better abstraction over CSS.
16
18
  *
@@ -60,8 +60,8 @@ module Inferno
60
60
 
61
61
  def run_test(test, scratch)
62
62
  inputs = load_inputs(test)
63
+ input_json_string = inputs_as_json(test, inputs)
63
64
 
64
- input_json_string = JSON.generate(inputs)
65
65
  test_instance = test.new(inputs: inputs, test_session_id: test_session.id, scratch: scratch)
66
66
 
67
67
  result = begin
@@ -107,6 +107,16 @@ module Inferno
107
107
  end
108
108
 
109
109
  def run_group(group, scratch)
110
+ group_inputs_with_values = group.available_inputs.map do |_input_identifier, input|
111
+ {
112
+ name: input.name,
113
+ label: input.title,
114
+ description: input.description,
115
+ value: session_data_repo.load(test_session_id: test_session.id, name: input.name, type: input.type),
116
+ type: input.type
117
+ }
118
+ end
119
+
110
120
  results = []
111
121
  group.children.each do |child|
112
122
  result = run(child, scratch)
@@ -116,7 +126,8 @@ module Inferno
116
126
 
117
127
  results.flatten!
118
128
 
119
- group_result = persist_result(group.reference_hash.merge(result: roll_up_result(results)))
129
+ group_result = persist_result(group.reference_hash.merge(result: roll_up_result(results),
130
+ input_json: JSON.generate(group_inputs_with_values)))
120
131
 
121
132
  update_parent_result(group.parent)
122
133
 
@@ -153,6 +164,17 @@ module Inferno
153
164
  end
154
165
  end
155
166
 
167
+ def inputs_as_json(runnable, input_values)
168
+ inputs_array = runnable.inputs.map do |input_identifier|
169
+ {
170
+ name: runnable.config.input_name(input_identifier),
171
+ value: input_values[input_identifier],
172
+ type: runnable.config.input_type(input_identifier)
173
+ }
174
+ end
175
+ JSON.generate(inputs_array)
176
+ end
177
+
156
178
  def save_outputs(runnable_instance)
157
179
  outputs =
158
180
  runnable_instance.outputs_to_persist.map do |output_identifier, value|
@@ -7,17 +7,16 @@ module Inferno
7
7
  self.runnable = runnable
8
8
  end
9
9
 
10
- def input_definitions
11
- @input_definitions ||= runnable.available_input_definitions
10
+ def available_inputs
11
+ @available_inputs ||= runnable.available_inputs.transform_values(&:to_hash)
12
12
  end
13
13
 
14
14
  def inputs
15
15
  # The rubocop rule is disabled because `each_value` returns the hash,
16
16
  # while `values.each` will return the array of values. We want the array
17
17
  # of values here.
18
- input_definitions.values.each do |input_definition| # rubocop:disable Style/HashEachMethods
19
- input_definition[:value] =
20
- (input_definition.delete(:default) if input_definition.key? :default)
18
+ available_inputs.values.each do |input| # rubocop:disable Style/HashEachMethods
19
+ input[:value] = (input.delete(:default) if input.key? :default)
21
20
  end
22
21
  end
23
22
 
@@ -1,3 +1,4 @@
1
1
  module Inferno
2
- VERSION = '0.2.0'.freeze
2
+ # Standard patterns for gem versions: https://guides.rubygems.org/patterns/
3
+ VERSION = '0.3.0.rc1'.freeze
3
4
  end
@@ -15,6 +15,7 @@ FactoryBot.define do
15
15
  test_group_id { runnable[:test_group_id] }
16
16
  test_id { runnable[:test_id] }
17
17
  output_json { '[]' }
18
+ input_json { '[]' }
18
19
 
19
20
  result { 'pass' }
20
21
 
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.2.0
4
+ version: 0.3.0.rc1
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: 2022-03-06 00:00:00.000000000 Z
13
+ date: 2022-04-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -520,6 +520,7 @@ files:
520
520
  - lib/inferno/dsl/fhir_validation.rb
521
521
  - lib/inferno/dsl/http_client.rb
522
522
  - lib/inferno/dsl/http_client_builder.rb
523
+ - lib/inferno/dsl/input_output_handling.rb
523
524
  - lib/inferno/dsl/oauth_credentials.rb
524
525
  - lib/inferno/dsl/request_storage.rb
525
526
  - lib/inferno/dsl/results.rb
@@ -530,6 +531,7 @@ files:
530
531
  - lib/inferno/entities/entity.rb
531
532
  - lib/inferno/entities/has_runnable.rb
532
533
  - lib/inferno/entities/header.rb
534
+ - lib/inferno/entities/input.rb
533
535
  - lib/inferno/entities/message.rb
534
536
  - lib/inferno/entities/preset.rb
535
537
  - lib/inferno/entities/request.rb
@@ -542,17 +544,16 @@ files:
542
544
  - lib/inferno/entities/test_suite.rb
543
545
  - lib/inferno/exceptions.rb
544
546
  - lib/inferno/ext/fhir_client.rb
547
+ - lib/inferno/ext/fhir_models.rb
545
548
  - lib/inferno/jobs.rb
546
549
  - lib/inferno/jobs/execute_test_run.rb
547
550
  - lib/inferno/jobs/resume_test_run.rb
548
551
  - lib/inferno/public/0e0b993fd6ff351f435ff1c2938daf2d.png
549
552
  - lib/inferno/public/217.bundle.js
550
- - lib/inferno/public/72a5cd989e6aea904540824ec865a0f8.png
551
553
  - lib/inferno/public/a5cd39450ab0336db73c5e57228b649d.png
552
554
  - lib/inferno/public/assets.json
553
555
  - lib/inferno/public/bundle.js
554
556
  - lib/inferno/public/bundle.js.LICENSE.txt
555
- - lib/inferno/public/e09b16f5cb645eb05f90c8f38f3409fb.png
556
557
  - lib/inferno/public/favicon.ico
557
558
  - lib/inferno/public/logo192.png
558
559
  - lib/inferno/repositories.rb
@@ -588,13 +589,13 @@ files:
588
589
  - spec/fixtures/basic_test_group.rb
589
590
  - spec/fixtures/basic_test_suite.rb
590
591
  - spec/support/factory_bot.rb
591
- homepage: https://github.com/inferno_community/inferno-core
592
+ homepage: https://github.com/inferno-framework/inferno-core
592
593
  licenses:
593
594
  - Apache-2.0
594
595
  metadata:
595
- homepage_uri: https://github.com/inferno_community/inferno-core
596
- source_code_uri: https://github.com/inferno_community/inferno-core
597
- changelog_uri: https://github.com/inferno_community/inferno-core/CHANGELOG.md
596
+ homepage_uri: https://github.com/inferno-framework/inferno-core
597
+ source_code_uri: https://github.com/inferno-framework/inferno-core
598
+ changelog_uri: https://github.com/inferno-framework/inferno-core/blob/main/CHANGELOG.md
598
599
  post_install_message:
599
600
  rdoc_options: []
600
601
  require_paths:
@@ -607,9 +608,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
607
608
  version: 2.7.0
608
609
  required_rubygems_version: !ruby/object:Gem::Requirement
609
610
  requirements:
610
- - - ">="
611
+ - - ">"
611
612
  - !ruby/object:Gem::Version
612
- version: '0'
613
+ version: 1.3.1
613
614
  requirements: []
614
615
  rubygems_version: 3.1.6
615
616
  signing_key: