unobtainium-cucumber 0.1.0 → 0.2.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/Gemfile.lock +14 -5
- data/README.md +22 -0
- data/features/octiron_events.feature +6 -0
- data/features/step_definitions/octiron_events.rb +32 -0
- data/features/support/env.rb +2 -1
- data/lib/unobtainium-cucumber/octiron_events.rb +29 -0
- data/lib/unobtainium-cucumber/version.rb +1 -1
- data/unobtainium-cucumber.gemspec +2 -1
- metadata +23 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0eb7d2ecabf4bca9fa46b5a490bd3383cff40e47
|
4
|
+
data.tar.gz: 7890da6b2a045957f5465d2c495628eb9431958a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27efbf017c3342919f597ebd8e796504a666217d8cf4019327ead9620156add0e8bfd0a38927aa4606c94636754adf9cdbdb5c5706cc54b2629e708db8b22100
|
7
|
+
data.tar.gz: 7ef96b3bf4779ebbd70dc974a24bba4a058546536fddfcb9a32e9807cde60cf9beb97869bc77289161db9994baa96cab0e2042a99c8306eaf21bb397ed9972cd
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
unobtainium-cucumber (0.
|
4
|
+
unobtainium-cucumber (0.2.0)
|
5
5
|
cucumber (~> 2.0)
|
6
|
+
octiron (~> 0.1)
|
6
7
|
unobtainium (~> 0.10)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
|
-
appium_lib (
|
12
|
+
appium_lib (9.0.0)
|
12
13
|
awesome_print (~> 1.6)
|
13
14
|
json (~> 1.8)
|
14
|
-
nokogiri (~> 1.6.6)
|
15
|
+
nokogiri (~> 1.6, >= 1.6.6)
|
15
16
|
selenium-webdriver (~> 2.50)
|
16
17
|
tomlrb (~> 1.1)
|
17
18
|
archive-zip (0.7.0)
|
@@ -46,11 +47,15 @@ GEM
|
|
46
47
|
gherkin (4.0.0)
|
47
48
|
io-like (0.3.0)
|
48
49
|
json (1.8.3)
|
50
|
+
lazy_priority_queue (0.1.1)
|
49
51
|
mini_portile2 (2.1.0)
|
50
52
|
multi_json (1.12.1)
|
51
53
|
multi_test (0.1.2)
|
52
54
|
nokogiri (1.6.8.1)
|
53
55
|
mini_portile2 (~> 2.1.0)
|
56
|
+
octiron (0.1.0)
|
57
|
+
collapsium (~> 0.8)
|
58
|
+
rgl (~> 0.5)
|
54
59
|
parser (2.3.3.1)
|
55
60
|
ast (~> 2.2)
|
56
61
|
phantomjs (2.1.1.0)
|
@@ -58,6 +63,9 @@ GEM
|
|
58
63
|
ptools (1.3.3)
|
59
64
|
rainbow (2.1.0)
|
60
65
|
rake (11.3.0)
|
66
|
+
rgl (0.5.2)
|
67
|
+
lazy_priority_queue (~> 0.1.0)
|
68
|
+
stream (~> 0.5.0)
|
61
69
|
rubocop (0.46.0)
|
62
70
|
parser (>= 2.3.1.1, < 3.0)
|
63
71
|
powerpack (~> 0.1)
|
@@ -75,9 +83,10 @@ GEM
|
|
75
83
|
json (>= 1.8, < 3)
|
76
84
|
simplecov-html (~> 0.10.0)
|
77
85
|
simplecov-html (0.10.0)
|
86
|
+
stream (0.5)
|
78
87
|
sys-proctable (1.1.3)
|
79
88
|
tomlrb (1.2.3)
|
80
|
-
unicode-display_width (1.1.
|
89
|
+
unicode-display_width (1.1.2)
|
81
90
|
unobtainium (0.10.0)
|
82
91
|
collapsium (~> 0.8)
|
83
92
|
collapsium-config (~> 0.4)
|
@@ -91,7 +100,7 @@ PLATFORMS
|
|
91
100
|
|
92
101
|
DEPENDENCIES
|
93
102
|
appium_lib
|
94
|
-
bundler (~> 1.
|
103
|
+
bundler (~> 1.13)
|
95
104
|
chromedriver-helper
|
96
105
|
codeclimate-test-reporter
|
97
106
|
phantomjs
|
data/README.md
CHANGED
@@ -148,3 +148,25 @@ You might have to use fully qualified names.
|
|
148
148
|
|
149
149
|
Custom actions have limited support facilities in the `Action::Support` module.
|
150
150
|
Check it out if you write your own.
|
151
|
+
|
152
|
+
### Cucumber Events
|
153
|
+
|
154
|
+
Cucumber provides an event bus which lets you register handlers for [cucumber's
|
155
|
+
own events](http://www.rubydoc.info/gems/cucumber/Cucumber/Events). While that
|
156
|
+
is going to be very helpful for hooking into the flow of execution, this gem
|
157
|
+
adds [octiron](https://github.com/jfinkhaeuser/octiron) for further event
|
158
|
+
processing, by publishing all cucumber events on octiron's event bus.
|
159
|
+
|
160
|
+
Require `unobtainium-cucumber` as before, but also require the event processing
|
161
|
+
code:
|
162
|
+
|
163
|
+
```ruby
|
164
|
+
# env.rb
|
165
|
+
require 'unobtainium-cucumber'
|
166
|
+
require 'unobtainium-cucumber/octiron_events'
|
167
|
+
|
168
|
+
World(Octiron::World)
|
169
|
+
```
|
170
|
+
|
171
|
+
You can now register transmogrifiers for any of the cucumber event classes,
|
172
|
+
and use the power of octiron's event processing pipeline.
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# unobtainium-cucumber
|
4
|
+
# https://github.com/jfinkhaeuser/unobtainium-cucumber
|
5
|
+
#
|
6
|
+
# Copyright (c) 2016 Jens Finkhaeuser and other unobtainium-cucumber
|
7
|
+
# contributors. All rights reserved.
|
8
|
+
#
|
9
|
+
|
10
|
+
# Test handler for Octiron events
|
11
|
+
class OctironHandler
|
12
|
+
def initialize
|
13
|
+
@called = false
|
14
|
+
end
|
15
|
+
|
16
|
+
attr_reader :called
|
17
|
+
|
18
|
+
def call(_event, *_args)
|
19
|
+
@called = true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Given(/^I register a handler for AfterTestStep$/) do
|
24
|
+
@handler = OctironHandler.new
|
25
|
+
on_event(::Cucumber::Events::AfterTestStep, @handler)
|
26
|
+
end
|
27
|
+
|
28
|
+
Then(/^I expect that handler to be fired$/) do
|
29
|
+
if not @handler.called
|
30
|
+
raise "Handler was not called!"
|
31
|
+
end
|
32
|
+
end
|
data/features/support/env.rb
CHANGED
@@ -15,13 +15,14 @@ end
|
|
15
15
|
|
16
16
|
# Other requires after SimpleCov
|
17
17
|
require "unobtainium-cucumber"
|
18
|
+
require "unobtainium-cucumber/octiron_events"
|
18
19
|
|
19
20
|
# Extensions used for testing
|
20
21
|
module MyExtensions
|
21
22
|
def method_from_own_extension(*args, &block); end
|
22
23
|
end # module MyExtensions
|
23
24
|
|
24
|
-
World(MyExtensions)
|
25
|
+
World(MyExtensions, Octiron::World)
|
25
26
|
|
26
27
|
# Utility code for testing
|
27
28
|
require_relative './utils'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
#
|
3
|
+
# unobtainium-cucumber
|
4
|
+
# https://github.com/jfinkhaeuser/unobtainium-cucumber
|
5
|
+
#
|
6
|
+
# Copyright (c) 2016 Jens Finkhaeuser and other unobtainium-cucumber
|
7
|
+
# contributors. All rights reserved.
|
8
|
+
#
|
9
|
+
|
10
|
+
require 'octiron'
|
11
|
+
require 'cucumber'
|
12
|
+
|
13
|
+
AfterConfiguration do |config|
|
14
|
+
# Register handlers for all Cucumber events on cucumber's event bus.
|
15
|
+
CUKE_EVENTS ||= [
|
16
|
+
:after_test_case,
|
17
|
+
:after_test_step,
|
18
|
+
:before_test_case,
|
19
|
+
:before_test_step,
|
20
|
+
:finished_testing,
|
21
|
+
:step_match
|
22
|
+
].freeze
|
23
|
+
|
24
|
+
CUKE_EVENTS.each do |event_name|
|
25
|
+
config.on_event(event_name) do |event|
|
26
|
+
::Octiron::World.event_bus.publish(event)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
|
37
37
|
spec.required_ruby_version = '>= 2.0'
|
38
38
|
|
39
|
-
spec.add_development_dependency "bundler", "~> 1.
|
39
|
+
spec.add_development_dependency "bundler", "~> 1.13"
|
40
40
|
spec.add_development_dependency "rubocop", "~> 0.46"
|
41
41
|
spec.add_development_dependency "rake", "~> 11.2"
|
42
42
|
spec.add_development_dependency "simplecov", "~> 0.12"
|
@@ -48,6 +48,7 @@ Gem::Specification.new do |spec|
|
|
48
48
|
|
49
49
|
spec.add_dependency "unobtainium", "~> 0.10"
|
50
50
|
spec.add_dependency "cucumber", "~> 2.0"
|
51
|
+
spec.add_dependency "octiron", "~> 0.1"
|
51
52
|
end
|
52
53
|
# rubocop:enable Metrics/BlockLength
|
53
54
|
# rubocop:enable Style/SpaceAroundOperators
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unobtainium-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Finkhaeuser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.13'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.13'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubocop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '2.0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: octiron
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.1'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.1'
|
167
181
|
description: "\n The unobtainium-cucucmber gem adds some convenient cucumber specific
|
168
182
|
hooks\n for use with unobtainium.\n "
|
169
183
|
email:
|
@@ -187,12 +201,14 @@ files:
|
|
187
201
|
- features/action_support.feature
|
188
202
|
- features/driver_reset.feature
|
189
203
|
- features/extensions.feature
|
204
|
+
- features/octiron_events.feature
|
190
205
|
- features/status_actions.feature
|
191
206
|
- features/step_definitions/action.rb
|
192
207
|
- features/step_definitions/action_support.rb
|
193
208
|
- features/step_definitions/driver_reset.rb
|
194
209
|
- features/step_definitions/extensions.rb
|
195
210
|
- features/step_definitions/mocks/scenario.rb
|
211
|
+
- features/step_definitions/octiron_events.rb
|
196
212
|
- features/step_definitions/status_actions.rb
|
197
213
|
- features/support/env.rb
|
198
214
|
- features/support/utils.rb
|
@@ -201,6 +217,7 @@ files:
|
|
201
217
|
- lib/unobtainium-cucumber/action/screenshot.rb
|
202
218
|
- lib/unobtainium-cucumber/action/support/naming.rb
|
203
219
|
- lib/unobtainium-cucumber/driver_reset.rb
|
220
|
+
- lib/unobtainium-cucumber/octiron_events.rb
|
204
221
|
- lib/unobtainium-cucumber/status_actions.rb
|
205
222
|
- lib/unobtainium-cucumber/version.rb
|
206
223
|
- unobtainium-cucumber.gemspec
|
@@ -233,12 +250,14 @@ test_files:
|
|
233
250
|
- features/action_support.feature
|
234
251
|
- features/driver_reset.feature
|
235
252
|
- features/extensions.feature
|
253
|
+
- features/octiron_events.feature
|
236
254
|
- features/status_actions.feature
|
237
255
|
- features/step_definitions/action.rb
|
238
256
|
- features/step_definitions/action_support.rb
|
239
257
|
- features/step_definitions/driver_reset.rb
|
240
258
|
- features/step_definitions/extensions.rb
|
241
259
|
- features/step_definitions/mocks/scenario.rb
|
260
|
+
- features/step_definitions/octiron_events.rb
|
242
261
|
- features/step_definitions/status_actions.rb
|
243
262
|
- features/support/env.rb
|
244
263
|
- features/support/utils.rb
|