cucumber-messages 24.1.0 → 25.0.0
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/VERSION +1 -1
- data/lib/cucumber/messages/attachment.rb +126 -0
- data/lib/cucumber/messages/attachment_content_encoding.rb +11 -0
- data/lib/cucumber/messages/background.rb +64 -0
- data/lib/cucumber/messages/ci.rb +62 -0
- data/lib/cucumber/messages/comment.rb +50 -0
- data/lib/cucumber/messages/data_table.rb +41 -0
- data/lib/cucumber/messages/doc_string.rb +51 -0
- data/lib/cucumber/messages/duration.rb +50 -0
- data/lib/cucumber/messages/envelope.rb +124 -0
- data/lib/cucumber/messages/examples.rb +74 -0
- data/lib/cucumber/messages/exception.rb +57 -0
- data/lib/cucumber/messages/feature.rb +87 -0
- data/lib/cucumber/messages/feature_child.rb +49 -0
- data/lib/cucumber/messages/gherkin_document.rb +62 -0
- data/lib/cucumber/messages/git.rb +54 -0
- data/lib/cucumber/messages/group.rb +46 -0
- data/lib/cucumber/messages/helpers/id_generator/incrementing.rb +20 -0
- data/lib/cucumber/messages/helpers/id_generator/uuid.rb +17 -0
- data/lib/cucumber/messages/helpers/id_generator.rb +4 -0
- data/lib/cucumber/messages/helpers/ndjson_to_message_enumerator.rb +30 -0
- data/lib/cucumber/messages/helpers/time_conversion.rb +31 -0
- data/lib/cucumber/messages/hook.rb +51 -0
- data/lib/cucumber/messages/java_method.rb +46 -0
- data/lib/cucumber/messages/java_stack_trace_element.rb +46 -0
- data/lib/cucumber/messages/location.rb +44 -0
- data/lib/cucumber/messages/message.rb +92 -4
- data/lib/cucumber/messages/meta.rb +81 -0
- data/lib/cucumber/messages/parameter_type.rb +64 -0
- data/lib/cucumber/messages/parse_error.rb +41 -0
- data/lib/cucumber/messages/pickle.rb +107 -0
- data/lib/cucumber/messages/pickle_doc_string.rb +41 -0
- data/lib/cucumber/messages/pickle_step.rb +71 -0
- data/lib/cucumber/messages/pickle_step_argument.rb +43 -0
- data/lib/cucumber/messages/pickle_step_type.rb +13 -0
- data/lib/cucumber/messages/pickle_table.rb +36 -0
- data/lib/cucumber/messages/pickle_table_cell.rb +36 -0
- data/lib/cucumber/messages/pickle_table_row.rb +36 -0
- data/lib/cucumber/messages/pickle_tag.rb +47 -0
- data/lib/cucumber/messages/product.rb +49 -0
- data/lib/cucumber/messages/rule.rb +72 -0
- data/lib/cucumber/messages/rule_child.rb +44 -0
- data/lib/cucumber/messages/scenario.rb +74 -0
- data/lib/cucumber/messages/source.rb +63 -0
- data/lib/cucumber/messages/source_media_type.rb +11 -0
- data/lib/cucumber/messages/source_reference.rb +55 -0
- data/lib/cucumber/messages/step.rb +80 -0
- data/lib/cucumber/messages/step_definition.rb +46 -0
- data/lib/cucumber/messages/step_definition_pattern.rb +41 -0
- data/lib/cucumber/messages/step_definition_pattern_type.rb +11 -0
- data/lib/cucumber/messages/step_keyword_type.rb +14 -0
- data/lib/cucumber/messages/step_match_argument.rb +54 -0
- data/lib/cucumber/messages/step_match_arguments_list.rb +36 -0
- data/lib/cucumber/messages/table_cell.rb +49 -0
- data/lib/cucumber/messages/table_row.rb +54 -0
- data/lib/cucumber/messages/tag.rb +58 -0
- data/lib/cucumber/messages/test_case.rb +54 -0
- data/lib/cucumber/messages/test_case_finished.rb +46 -0
- data/lib/cucumber/messages/test_case_started.rb +69 -0
- data/lib/cucumber/messages/test_run_finished.rb +63 -0
- data/lib/cucumber/messages/test_run_started.rb +36 -0
- data/lib/cucumber/messages/test_step.rb +74 -0
- data/lib/cucumber/messages/test_step_finished.rb +51 -0
- data/lib/cucumber/messages/test_step_result.rb +57 -0
- data/lib/cucumber/messages/test_step_result_status.rb +16 -0
- data/lib/cucumber/messages/test_step_started.rb +46 -0
- data/lib/cucumber/messages/timestamp.rb +52 -0
- data/lib/cucumber/messages/undefined_parameter_type.rb +41 -0
- data/lib/cucumber/messages.rb +9 -5
- metadata +110 -30
- data/lib/cucumber/messages/id_generator.rb +0 -24
- data/lib/cucumber/messages/message/deserialization.rb +0 -37
- data/lib/cucumber/messages/message/serialization.rb +0 -70
- data/lib/cucumber/messages/message/utils.rb +0 -45
- data/lib/cucumber/messages/ndjson_to_message_enumerator.rb +0 -21
- data/lib/cucumber/messages/time_conversion.rb +0 -33
- data/lib/cucumber/messages.deserializers.rb +0 -1208
- data/lib/cucumber/messages.dtos.rb +0 -1782
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the StepMatchArgumentsList message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class StepMatchArgumentsList < Message
|
11
|
+
attr_reader :step_match_arguments
|
12
|
+
|
13
|
+
def initialize(
|
14
|
+
step_match_arguments: []
|
15
|
+
)
|
16
|
+
@step_match_arguments = step_match_arguments
|
17
|
+
super()
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Returns a new StepMatchArgumentsList from the given hash.
|
22
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
23
|
+
# corresponding snake_cased attributes.
|
24
|
+
#
|
25
|
+
# Cucumber::Messages::StepMatchArgumentsList.from_h(some_hash) # => #<Cucumber::Messages::StepMatchArgumentsList:0x... ...>
|
26
|
+
##
|
27
|
+
def self.from_h(hash)
|
28
|
+
return nil if hash.nil?
|
29
|
+
|
30
|
+
new(
|
31
|
+
step_match_arguments: hash[:stepMatchArguments]&.map { |item| StepMatchArgument.from_h(item) }
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TableCell message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# A cell in a `TableRow`
|
11
|
+
##
|
12
|
+
class TableCell < Message
|
13
|
+
##
|
14
|
+
# The location of the cell
|
15
|
+
##
|
16
|
+
attr_reader :location
|
17
|
+
|
18
|
+
##
|
19
|
+
# The value of the cell
|
20
|
+
##
|
21
|
+
attr_reader :value
|
22
|
+
|
23
|
+
def initialize(
|
24
|
+
location: Location.new,
|
25
|
+
value: ''
|
26
|
+
)
|
27
|
+
@location = location
|
28
|
+
@value = value
|
29
|
+
super()
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Returns a new TableCell from the given hash.
|
34
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
35
|
+
# corresponding snake_cased attributes.
|
36
|
+
#
|
37
|
+
# Cucumber::Messages::TableCell.from_h(some_hash) # => #<Cucumber::Messages::TableCell:0x... ...>
|
38
|
+
##
|
39
|
+
def self.from_h(hash)
|
40
|
+
return nil if hash.nil?
|
41
|
+
|
42
|
+
new(
|
43
|
+
location: Location.from_h(hash[:location]),
|
44
|
+
value: hash[:value]
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TableRow message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# A row in a table
|
11
|
+
##
|
12
|
+
class TableRow < Message
|
13
|
+
##
|
14
|
+
# The location of the first cell in the row
|
15
|
+
##
|
16
|
+
attr_reader :location
|
17
|
+
|
18
|
+
##
|
19
|
+
# Cells in the row
|
20
|
+
##
|
21
|
+
attr_reader :cells
|
22
|
+
|
23
|
+
attr_reader :id
|
24
|
+
|
25
|
+
def initialize(
|
26
|
+
location: Location.new,
|
27
|
+
cells: [],
|
28
|
+
id: ''
|
29
|
+
)
|
30
|
+
@location = location
|
31
|
+
@cells = cells
|
32
|
+
@id = id
|
33
|
+
super()
|
34
|
+
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# Returns a new TableRow from the given hash.
|
38
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
39
|
+
# corresponding snake_cased attributes.
|
40
|
+
#
|
41
|
+
# Cucumber::Messages::TableRow.from_h(some_hash) # => #<Cucumber::Messages::TableRow:0x... ...>
|
42
|
+
##
|
43
|
+
def self.from_h(hash)
|
44
|
+
return nil if hash.nil?
|
45
|
+
|
46
|
+
new(
|
47
|
+
location: Location.from_h(hash[:location]),
|
48
|
+
cells: hash[:cells]&.map { |item| TableCell.from_h(item) },
|
49
|
+
id: hash[:id]
|
50
|
+
)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Tag message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# *
|
11
|
+
# A tag
|
12
|
+
##
|
13
|
+
class Tag < Message
|
14
|
+
##
|
15
|
+
# Location of the tag
|
16
|
+
##
|
17
|
+
attr_reader :location
|
18
|
+
|
19
|
+
##
|
20
|
+
# The name of the tag (including the leading `@`)
|
21
|
+
##
|
22
|
+
attr_reader :name
|
23
|
+
|
24
|
+
##
|
25
|
+
# Unique ID to be able to reference the Tag from PickleTag
|
26
|
+
##
|
27
|
+
attr_reader :id
|
28
|
+
|
29
|
+
def initialize(
|
30
|
+
location: Location.new,
|
31
|
+
name: '',
|
32
|
+
id: ''
|
33
|
+
)
|
34
|
+
@location = location
|
35
|
+
@name = name
|
36
|
+
@id = id
|
37
|
+
super()
|
38
|
+
end
|
39
|
+
|
40
|
+
##
|
41
|
+
# Returns a new Tag from the given hash.
|
42
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
43
|
+
# corresponding snake_cased attributes.
|
44
|
+
#
|
45
|
+
# Cucumber::Messages::Tag.from_h(some_hash) # => #<Cucumber::Messages::Tag:0x... ...>
|
46
|
+
##
|
47
|
+
def self.from_h(hash)
|
48
|
+
return nil if hash.nil?
|
49
|
+
|
50
|
+
new(
|
51
|
+
location: Location.from_h(hash[:location]),
|
52
|
+
name: hash[:name],
|
53
|
+
id: hash[:id]
|
54
|
+
)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestCase message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# //// TestCases
|
11
|
+
#
|
12
|
+
# *
|
13
|
+
# A `TestCase` contains a sequence of `TestStep`s.
|
14
|
+
##
|
15
|
+
class TestCase < Message
|
16
|
+
attr_reader :id
|
17
|
+
|
18
|
+
##
|
19
|
+
# The ID of the `Pickle` this `TestCase` is derived from.
|
20
|
+
##
|
21
|
+
attr_reader :pickle_id
|
22
|
+
|
23
|
+
attr_reader :test_steps
|
24
|
+
|
25
|
+
def initialize(
|
26
|
+
id: '',
|
27
|
+
pickle_id: '',
|
28
|
+
test_steps: []
|
29
|
+
)
|
30
|
+
@id = id
|
31
|
+
@pickle_id = pickle_id
|
32
|
+
@test_steps = test_steps
|
33
|
+
super()
|
34
|
+
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# Returns a new TestCase from the given hash.
|
38
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
39
|
+
# corresponding snake_cased attributes.
|
40
|
+
#
|
41
|
+
# Cucumber::Messages::TestCase.from_h(some_hash) # => #<Cucumber::Messages::TestCase:0x... ...>
|
42
|
+
##
|
43
|
+
def self.from_h(hash)
|
44
|
+
return nil if hash.nil?
|
45
|
+
|
46
|
+
new(
|
47
|
+
id: hash[:id],
|
48
|
+
pickle_id: hash[:pickleId],
|
49
|
+
test_steps: hash[:testSteps]&.map { |item| TestStep.from_h(item) }
|
50
|
+
)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestCaseFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestCaseFinished < Message
|
11
|
+
attr_reader :test_case_started_id
|
12
|
+
|
13
|
+
attr_reader :timestamp
|
14
|
+
|
15
|
+
attr_reader :will_be_retried
|
16
|
+
|
17
|
+
def initialize(
|
18
|
+
test_case_started_id: '',
|
19
|
+
timestamp: Timestamp.new,
|
20
|
+
will_be_retried: false
|
21
|
+
)
|
22
|
+
@test_case_started_id = test_case_started_id
|
23
|
+
@timestamp = timestamp
|
24
|
+
@will_be_retried = will_be_retried
|
25
|
+
super()
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a new TestCaseFinished from the given hash.
|
30
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
31
|
+
# corresponding snake_cased attributes.
|
32
|
+
#
|
33
|
+
# Cucumber::Messages::TestCaseFinished.from_h(some_hash) # => #<Cucumber::Messages::TestCaseFinished:0x... ...>
|
34
|
+
##
|
35
|
+
def self.from_h(hash)
|
36
|
+
return nil if hash.nil?
|
37
|
+
|
38
|
+
new(
|
39
|
+
test_case_started_id: hash[:testCaseStartedId],
|
40
|
+
timestamp: Timestamp.from_h(hash[:timestamp]),
|
41
|
+
will_be_retried: hash[:willBeRetried]
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestCaseStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestCaseStarted < Message
|
11
|
+
##
|
12
|
+
# *
|
13
|
+
# The first attempt should have value 0, and for each retry the value
|
14
|
+
# should increase by 1.
|
15
|
+
##
|
16
|
+
attr_reader :attempt
|
17
|
+
|
18
|
+
##
|
19
|
+
# *
|
20
|
+
# Because a `TestCase` can be run multiple times (in case of a retry),
|
21
|
+
# we use this field to group messages relating to the same attempt.
|
22
|
+
##
|
23
|
+
attr_reader :id
|
24
|
+
|
25
|
+
attr_reader :test_case_id
|
26
|
+
|
27
|
+
##
|
28
|
+
# An identifier for the worker process running this test case, if test cases are being run in parallel. The identifier will be unique per worker, but no particular format is defined - it could be an index, uuid, machine name etc - and as such should be assumed that it's not human readable.
|
29
|
+
##
|
30
|
+
attr_reader :worker_id
|
31
|
+
|
32
|
+
attr_reader :timestamp
|
33
|
+
|
34
|
+
def initialize(
|
35
|
+
attempt: 0,
|
36
|
+
id: '',
|
37
|
+
test_case_id: '',
|
38
|
+
worker_id: nil,
|
39
|
+
timestamp: Timestamp.new
|
40
|
+
)
|
41
|
+
@attempt = attempt
|
42
|
+
@id = id
|
43
|
+
@test_case_id = test_case_id
|
44
|
+
@worker_id = worker_id
|
45
|
+
@timestamp = timestamp
|
46
|
+
super()
|
47
|
+
end
|
48
|
+
|
49
|
+
##
|
50
|
+
# Returns a new TestCaseStarted from the given hash.
|
51
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
52
|
+
# corresponding snake_cased attributes.
|
53
|
+
#
|
54
|
+
# Cucumber::Messages::TestCaseStarted.from_h(some_hash) # => #<Cucumber::Messages::TestCaseStarted:0x... ...>
|
55
|
+
##
|
56
|
+
def self.from_h(hash)
|
57
|
+
return nil if hash.nil?
|
58
|
+
|
59
|
+
new(
|
60
|
+
attempt: hash[:attempt],
|
61
|
+
id: hash[:id],
|
62
|
+
test_case_id: hash[:testCaseId],
|
63
|
+
worker_id: hash[:workerId],
|
64
|
+
timestamp: Timestamp.from_h(hash[:timestamp])
|
65
|
+
)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestRunFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestRunFinished < Message
|
11
|
+
##
|
12
|
+
# An informative message about the test run. Typically additional information about failure, but not necessarily.
|
13
|
+
##
|
14
|
+
attr_reader :message
|
15
|
+
|
16
|
+
##
|
17
|
+
# A test run is successful if all steps are either passed or skipped, all before/after hooks passed and no other exceptions where thrown.
|
18
|
+
##
|
19
|
+
attr_reader :success
|
20
|
+
|
21
|
+
##
|
22
|
+
# Timestamp when the TestRun is finished
|
23
|
+
##
|
24
|
+
attr_reader :timestamp
|
25
|
+
|
26
|
+
##
|
27
|
+
# Any exception thrown during the test run, if any. Does not include exceptions thrown while executing steps.
|
28
|
+
##
|
29
|
+
attr_reader :exception
|
30
|
+
|
31
|
+
def initialize(
|
32
|
+
message: nil,
|
33
|
+
success: false,
|
34
|
+
timestamp: Timestamp.new,
|
35
|
+
exception: nil
|
36
|
+
)
|
37
|
+
@message = message
|
38
|
+
@success = success
|
39
|
+
@timestamp = timestamp
|
40
|
+
@exception = exception
|
41
|
+
super()
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Returns a new TestRunFinished from the given hash.
|
46
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
47
|
+
# corresponding snake_cased attributes.
|
48
|
+
#
|
49
|
+
# Cucumber::Messages::TestRunFinished.from_h(some_hash) # => #<Cucumber::Messages::TestRunFinished:0x... ...>
|
50
|
+
##
|
51
|
+
def self.from_h(hash)
|
52
|
+
return nil if hash.nil?
|
53
|
+
|
54
|
+
new(
|
55
|
+
message: hash[:message],
|
56
|
+
success: hash[:success],
|
57
|
+
timestamp: Timestamp.from_h(hash[:timestamp]),
|
58
|
+
exception: Exception.from_h(hash[:exception])
|
59
|
+
)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestRunStarted message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestRunStarted < Message
|
11
|
+
attr_reader :timestamp
|
12
|
+
|
13
|
+
def initialize(
|
14
|
+
timestamp: Timestamp.new
|
15
|
+
)
|
16
|
+
@timestamp = timestamp
|
17
|
+
super()
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Returns a new TestRunStarted from the given hash.
|
22
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
23
|
+
# corresponding snake_cased attributes.
|
24
|
+
#
|
25
|
+
# Cucumber::Messages::TestRunStarted.from_h(some_hash) # => #<Cucumber::Messages::TestRunStarted:0x... ...>
|
26
|
+
##
|
27
|
+
def self.from_h(hash)
|
28
|
+
return nil if hash.nil?
|
29
|
+
|
30
|
+
new(
|
31
|
+
timestamp: Timestamp.from_h(hash[:timestamp])
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestStep message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# *
|
11
|
+
# A `TestStep` is derived from either a `PickleStep`
|
12
|
+
# combined with a `StepDefinition`, or from a `Hook`.
|
13
|
+
##
|
14
|
+
class TestStep < Message
|
15
|
+
##
|
16
|
+
# Pointer to the `Hook` (if derived from a Hook)
|
17
|
+
##
|
18
|
+
attr_reader :hook_id
|
19
|
+
|
20
|
+
attr_reader :id
|
21
|
+
|
22
|
+
##
|
23
|
+
# Pointer to the `PickleStep` (if derived from a `PickleStep`)
|
24
|
+
##
|
25
|
+
attr_reader :pickle_step_id
|
26
|
+
|
27
|
+
##
|
28
|
+
# Pointer to all the matching `StepDefinition`s (if derived from a `PickleStep`)
|
29
|
+
##
|
30
|
+
attr_reader :step_definition_ids
|
31
|
+
|
32
|
+
##
|
33
|
+
# A list of list of StepMatchArgument (if derived from a `PickleStep`).
|
34
|
+
# Each element represents a matching step definition. A size of 0 means `UNDEFINED`,
|
35
|
+
# and a size of 2+ means `AMBIGUOUS`
|
36
|
+
##
|
37
|
+
attr_reader :step_match_arguments_lists
|
38
|
+
|
39
|
+
def initialize(
|
40
|
+
hook_id: nil,
|
41
|
+
id: '',
|
42
|
+
pickle_step_id: nil,
|
43
|
+
step_definition_ids: nil,
|
44
|
+
step_match_arguments_lists: nil
|
45
|
+
)
|
46
|
+
@hook_id = hook_id
|
47
|
+
@id = id
|
48
|
+
@pickle_step_id = pickle_step_id
|
49
|
+
@step_definition_ids = step_definition_ids
|
50
|
+
@step_match_arguments_lists = step_match_arguments_lists
|
51
|
+
super()
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# Returns a new TestStep from the given hash.
|
56
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
57
|
+
# corresponding snake_cased attributes.
|
58
|
+
#
|
59
|
+
# Cucumber::Messages::TestStep.from_h(some_hash) # => #<Cucumber::Messages::TestStep:0x... ...>
|
60
|
+
##
|
61
|
+
def self.from_h(hash)
|
62
|
+
return nil if hash.nil?
|
63
|
+
|
64
|
+
new(
|
65
|
+
hook_id: hash[:hookId],
|
66
|
+
id: hash[:id],
|
67
|
+
pickle_step_id: hash[:pickleStepId],
|
68
|
+
step_definition_ids: hash[:stepDefinitionIds],
|
69
|
+
step_match_arguments_lists: hash[:stepMatchArgumentsLists]&.map { |item| StepMatchArgumentsList.from_h(item) }
|
70
|
+
)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestStepFinished message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestStepFinished < Message
|
11
|
+
attr_reader :test_case_started_id
|
12
|
+
|
13
|
+
attr_reader :test_step_id
|
14
|
+
|
15
|
+
attr_reader :test_step_result
|
16
|
+
|
17
|
+
attr_reader :timestamp
|
18
|
+
|
19
|
+
def initialize(
|
20
|
+
test_case_started_id: '',
|
21
|
+
test_step_id: '',
|
22
|
+
test_step_result: TestStepResult.new,
|
23
|
+
timestamp: Timestamp.new
|
24
|
+
)
|
25
|
+
@test_case_started_id = test_case_started_id
|
26
|
+
@test_step_id = test_step_id
|
27
|
+
@test_step_result = test_step_result
|
28
|
+
@timestamp = timestamp
|
29
|
+
super()
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Returns a new TestStepFinished from the given hash.
|
34
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
35
|
+
# corresponding snake_cased attributes.
|
36
|
+
#
|
37
|
+
# Cucumber::Messages::TestStepFinished.from_h(some_hash) # => #<Cucumber::Messages::TestStepFinished:0x... ...>
|
38
|
+
##
|
39
|
+
def self.from_h(hash)
|
40
|
+
return nil if hash.nil?
|
41
|
+
|
42
|
+
new(
|
43
|
+
test_case_started_id: hash[:testCaseStartedId],
|
44
|
+
test_step_id: hash[:testStepId],
|
45
|
+
test_step_result: TestStepResult.from_h(hash[:testStepResult]),
|
46
|
+
timestamp: Timestamp.from_h(hash[:timestamp])
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the TestStepResult message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class TestStepResult < Message
|
11
|
+
attr_reader :duration
|
12
|
+
|
13
|
+
##
|
14
|
+
# An arbitrary bit of information that explains this result. This can be a stack trace of anything else.
|
15
|
+
##
|
16
|
+
attr_reader :message
|
17
|
+
|
18
|
+
attr_reader :status
|
19
|
+
|
20
|
+
##
|
21
|
+
# Exception thrown while executing this step, if any.
|
22
|
+
##
|
23
|
+
attr_reader :exception
|
24
|
+
|
25
|
+
def initialize(
|
26
|
+
duration: Duration.new,
|
27
|
+
message: nil,
|
28
|
+
status: TestStepResultStatus::UNKNOWN,
|
29
|
+
exception: nil
|
30
|
+
)
|
31
|
+
@duration = duration
|
32
|
+
@message = message
|
33
|
+
@status = status
|
34
|
+
@exception = exception
|
35
|
+
super()
|
36
|
+
end
|
37
|
+
|
38
|
+
##
|
39
|
+
# Returns a new TestStepResult from the given hash.
|
40
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
41
|
+
# corresponding snake_cased attributes.
|
42
|
+
#
|
43
|
+
# Cucumber::Messages::TestStepResult.from_h(some_hash) # => #<Cucumber::Messages::TestStepResult:0x... ...>
|
44
|
+
##
|
45
|
+
def self.from_h(hash)
|
46
|
+
return nil if hash.nil?
|
47
|
+
|
48
|
+
new(
|
49
|
+
duration: Duration.from_h(hash[:duration]),
|
50
|
+
message: hash[:message],
|
51
|
+
status: hash[:status],
|
52
|
+
exception: Exception.from_h(hash[:exception])
|
53
|
+
)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
class TestStepResultStatus
|
7
|
+
UNKNOWN = 'UNKNOWN'
|
8
|
+
PASSED = 'PASSED'
|
9
|
+
SKIPPED = 'SKIPPED'
|
10
|
+
PENDING = 'PENDING'
|
11
|
+
UNDEFINED = 'UNDEFINED'
|
12
|
+
AMBIGUOUS = 'AMBIGUOUS'
|
13
|
+
FAILED = 'FAILED'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|