inferno_core 0.4.27 → 0.4.29

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.
@@ -136,12 +136,8 @@ module Inferno
136
136
  end
137
137
  end
138
138
 
139
- def pass_waiting_result(result_id, message = nil)
140
- update(result_id, result: 'pass', result_message: message)
141
- end
142
-
143
- def cancel_waiting_result(result_id, message = nil)
144
- update(result_id, result: 'cancel', result_message: message)
139
+ def update_result(result_id, result, result_message = nil)
140
+ update(result_id, result:, result_message:)
145
141
  end
146
142
 
147
143
  def json_serializer_options
@@ -56,7 +56,7 @@ module Inferno
56
56
  .order(Sequel.desc(:updated_at))
57
57
  .limit(1)
58
58
  .to_a
59
- .map { |record| record.to_json_data(json_serializer_options).deep_symbolize_keys! }
59
+ .map { |record| record.to_json_data.deep_symbolize_keys! }
60
60
  &.first
61
61
  &.to_hash
62
62
 
@@ -11,6 +11,10 @@ module Inferno
11
11
  end
12
12
 
13
13
  def summarize
14
+ return 'pass' if all_optional_results? &&
15
+ unique_result_strings.any?('pass') &&
16
+ unique_result_strings.none? { |result| %w[wait running].include? result }
17
+
14
18
  prioritized_result_strings.find { |result_string| unique_result_strings.include? result_string }
15
19
  end
16
20
 
@@ -123,6 +123,15 @@ module Inferno
123
123
  }
124
124
  end
125
125
 
126
+ if group.children.empty?
127
+ group_result = persist_result(group.reference_hash.merge(result: 'omit',
128
+ result_message: 'No tests defined',
129
+ input_json: JSON.generate(group_inputs_with_values),
130
+ output_json: '[]'))
131
+ update_parent_result(group.parent)
132
+ return group_result
133
+ end
134
+
126
135
  results = []
127
136
  group.children(test_session.suite_options).each do |child|
128
137
  result = run(child, scratch)
@@ -55,7 +55,14 @@ module Inferno
55
55
  path = env['REQUEST_URI']
56
56
  query = env['rack.request.query_string']
57
57
  body = env['rack.input']
58
- body = body.instance_of?(Puma::NullIO) ? nil : body.string
58
+ body =
59
+ if body.instance_of? Puma::NullIO
60
+ nil
61
+ else
62
+ contents = body.read
63
+ body.rewind
64
+ contents
65
+ end
59
66
  query_string = query.blank? ? '' : "?#{query}"
60
67
 
61
68
  logger.info("#{method} #{scheme}://#{host}#{path}#{query_string}")
@@ -0,0 +1,33 @@
1
+ require 'dry/inflector'
2
+
3
+ module Inferno
4
+ module Utils
5
+ module NamedThorActions
6
+ INFLECTOR = Dry::Inflector.new
7
+
8
+ def root_name
9
+ INFLECTOR.dasherize(INFLECTOR.underscore(name))
10
+ end
11
+
12
+ def library_name
13
+ INFLECTOR.underscore(name)
14
+ end
15
+
16
+ def module_name
17
+ INFLECTOR.camelize(name)
18
+ end
19
+
20
+ def human_name
21
+ INFLECTOR.humanize(INFLECTOR.underscore(name))
22
+ end
23
+
24
+ def title_name
25
+ human_name.split.map(&:capitalize).join(' ')
26
+ end
27
+
28
+ def test_suite_id
29
+ "#{library_name}_test_suite"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,4 +1,4 @@
1
1
  module Inferno
2
2
  # Standard patterns for gem versions: https://guides.rubygems.org/patterns/
3
- VERSION = '0.4.27'.freeze
3
+ VERSION = '0.4.29'.freeze
4
4
  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.4.27
4
+ version: 0.4.29
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: 2024-01-15 00:00:00.000000000 Z
13
+ date: 2024-02-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -110,6 +110,20 @@ dependencies:
110
110
  - - '='
111
111
  - !ruby/object:Gem::Version
112
112
  version: 0.8.1
113
+ - !ruby/object:Gem::Dependency
114
+ name: dry-inflector
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - '='
118
+ - !ruby/object:Gem::Version
119
+ version: '0.3'
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - '='
125
+ - !ruby/object:Gem::Version
126
+ version: '0.3'
113
127
  - !ruby/object:Gem::Dependency
114
128
  name: dry-system
115
129
  requirement: !ruby/object:Gem::Requirement
@@ -532,6 +546,7 @@ files:
532
546
  - lib/inferno/apps/cli/console.rb
533
547
  - lib/inferno/apps/cli/main.rb
534
548
  - lib/inferno/apps/cli/migration.rb
549
+ - lib/inferno/apps/cli/new.rb
535
550
  - lib/inferno/apps/cli/services.rb
536
551
  - lib/inferno/apps/cli/suite.rb
537
552
  - lib/inferno/apps/cli/suite_input_template.rb
@@ -659,6 +674,7 @@ files:
659
674
  - lib/inferno/utils/markdown_formatter.rb
660
675
  - lib/inferno/utils/middleware/request_logger.rb
661
676
  - lib/inferno/utils/migration.rb
677
+ - lib/inferno/utils/named_thor_actions.rb
662
678
  - lib/inferno/utils/preset_processor.rb
663
679
  - lib/inferno/utils/preset_template_generator.rb
664
680
  - lib/inferno/utils/static_assets.rb