elasticsearch-test-runner 0.2.0 โ 0.3.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 371dabd8cff033ef7d2656b874f4fcb5fd63f5bde3093d5ce1ee830e9e253187
|
4
|
+
data.tar.gz: 43006ff9d74aea61684af8abc8e660099c009a1e7293d489c5796887efb9756e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b927b0015746d72b19d26ac3812243f4b91df653d785b924a58a8dd219608358ed1e3dbbf6b76af3ce240b4d3289371ded4615e38f8d891438b929311b9abe77
|
7
|
+
data.tar.gz: a5b2ef6724092c8d6d4a39893346d233ca2c170121d59778ef4f85fea66e339e4db33ccfe40deac23d1d9b4f55dc306ffaa7c4ad5ba4bee8288b53887870b3b6
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.3.1] - 2024-06-27
|
4
|
+
|
5
|
+
- Fixes in error handling.
|
6
|
+
|
7
|
+
## [0.3.0] - 2024-06-27
|
8
|
+
|
9
|
+
- Fixes exit code.
|
10
|
+
- Refactors error handling for more detailed information.
|
11
|
+
|
3
12
|
## [0.2.0] - 2024-06-25
|
4
13
|
|
5
|
-
- Renames gemspec from elasticsearch-tests to elasticsearch-test-runner
|
6
|
-
- Adds ability to run individual test files or directories
|
14
|
+
- Renames gemspec from elasticsearch-tests to elasticsearch-test-runner.
|
15
|
+
- Adds ability to run individual test files or directories.
|
7
16
|
|
8
17
|
## [0.1.1] - 2024-06-20
|
9
18
|
|
@@ -19,5 +19,16 @@ module Elasticsearch
|
|
19
19
|
module Tests
|
20
20
|
class TestFailure < StandardError; end
|
21
21
|
class TestError < StandardError; end
|
22
|
+
|
23
|
+
# Class to track exactly which action errored
|
24
|
+
class ActionError < StandardError
|
25
|
+
attr_reader :test_file, :action
|
26
|
+
|
27
|
+
def initialize(message, test_file, action)
|
28
|
+
super(message)
|
29
|
+
@test_file = test_file
|
30
|
+
@action = action
|
31
|
+
end
|
32
|
+
end
|
22
33
|
end
|
23
34
|
end
|
@@ -34,18 +34,21 @@ module Elasticsearch
|
|
34
34
|
def print_failure(action, response)
|
35
35
|
puts "๐ด #{@file} #{@title} failed"
|
36
36
|
puts "Expected result: #{action}" # TODO: Show match/length differently
|
37
|
-
if
|
37
|
+
if defined?(ElasticsearchServerless) &&
|
38
|
+
response.is_a?(ElasticsearchServerless::API::Response) ||
|
39
|
+
defined?(Elasticsearch::API) && response.is_a?(Elasticsearch::API::Response)
|
38
40
|
puts 'Response:'
|
39
41
|
pp response.body
|
40
42
|
else
|
41
43
|
pp response
|
42
44
|
end
|
43
|
-
raise Elasticsearch::Tests::
|
45
|
+
raise Elasticsearch::Tests::ActionError.new(response.body, @file, action)
|
44
46
|
end
|
45
47
|
|
46
48
|
def print_match_failure(action)
|
47
49
|
keys = action['match'].keys.first
|
48
50
|
value = action['match'].values.first
|
51
|
+
|
49
52
|
message = <<~MSG
|
50
53
|
๐ด #{@file} #{@title} failed
|
51
54
|
Expected: { #{keys}: #{value} }
|
@@ -65,7 +68,9 @@ module Elasticsearch
|
|
65
68
|
def self.display_errors(errors)
|
66
69
|
puts "+++ โ Errors/Failures: #{errors.count}"
|
67
70
|
errors.map do |error|
|
68
|
-
puts "
|
71
|
+
puts "๐งช Test: #{error[:file]}"
|
72
|
+
puts "โถ Action: #{error[:action].first}" if error[:action]
|
73
|
+
puts "๐ฌ #{error[:error].message}"
|
69
74
|
pp error[:error].backtrace.join("$/\n") if ENV['DEBUG']
|
70
75
|
puts
|
71
76
|
end
|
@@ -16,6 +16,7 @@
|
|
16
16
|
# under the License.
|
17
17
|
|
18
18
|
require_relative 'code_runner'
|
19
|
+
require_relative 'errors'
|
19
20
|
|
20
21
|
module Elasticsearch
|
21
22
|
module Tests
|
@@ -70,6 +71,8 @@ module Elasticsearch
|
|
70
71
|
when 'gt', 'gte', 'lt', 'lte'
|
71
72
|
compare(action)
|
72
73
|
end
|
74
|
+
rescue StandardError => e
|
75
|
+
raise ActionError.new(e.message, @file, action)
|
73
76
|
end
|
74
77
|
|
75
78
|
def run_setup
|
@@ -41,6 +41,11 @@ module Elasticsearch
|
|
41
41
|
run_the_tests
|
42
42
|
Elasticsearch::Tests::Printer::display_errors(@errors) unless @errors.empty?
|
43
43
|
Elasticsearch::Tests::Printer::display_summary(@tests_count, @errors.count, @start_time)
|
44
|
+
if @errors.empty?
|
45
|
+
exit 0
|
46
|
+
else
|
47
|
+
exit 1
|
48
|
+
end
|
44
49
|
end
|
45
50
|
|
46
51
|
def run_the_tests
|
@@ -54,6 +59,9 @@ module Elasticsearch
|
|
54
59
|
@errors << { error: e, file: test_file }
|
55
60
|
@logger.warn("YAML error in #{test_file}")
|
56
61
|
@logger.warn e
|
62
|
+
rescue ActionError => e
|
63
|
+
@errors << { error: e, file: test_file, action: e.action }
|
64
|
+
@logger.debug e
|
57
65
|
rescue StandardError => e
|
58
66
|
@errors << { error: e, file: test_file }
|
59
67
|
@logger.debug e
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch-test-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic Client Library Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: elasticsearch
|