turbot-runner 0.1.45 → 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 +8 -8
- data/lib/turbot_runner/runner.rb +21 -4
- data/lib/turbot_runner/version.rb +1 -1
- data/spec/lib/runner_spec.rb +34 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODg2MmNiYWYyYzA1YjQyMTBiNjU1ZmMzMzU3YjU4OTRkNDAyYzdhMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZDVhZjA4NDVmZjMyYmI1OGMxZDlhNGU4NWY2MDk2NDc1YjYxNDM2MQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MmQyMjczNjRjZDAwZmM4YWZjY2Y3ZmExZDE0NzNkMWQ3NWI2OTFhOWU5ZGE4
|
10
|
+
ZGQ2ZGQwNWNlNTIxMWUyZTAyZjMzMmViZTQwNzAxZmJiMmRjZTI0ZWU5ODlk
|
11
|
+
YjY4YTEyZTY5YmEwODkwNjc4MDk1YzI0NDI1ODE3YWRjNTRlNjk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2YxNjc1NTFhY2JhYzQxMTg1Y2M2NTk2YTBhOTMwOWZkYTkyY2I4ZjVmOGY5
|
14
|
+
MzhlYjY1MzQ2Njc1MWVmZDMxYjBiNzE0YjRlZTU4M2I2MjQ3ZTY5NzI2YWY2
|
15
|
+
ZTZjOTUzYTRjZTM3MDNhMDkyYWY2ZDk2NDhhODYwNTBmYjYwM2E=
|
data/lib/turbot_runner/runner.rb
CHANGED
@@ -4,6 +4,10 @@ require 'pathname'
|
|
4
4
|
|
5
5
|
module TurbotRunner
|
6
6
|
class Runner
|
7
|
+
RC_OK = 0
|
8
|
+
RC_SCRAPER_FAILED = 1
|
9
|
+
RC_TRANSFORMER_FAILED = 2
|
10
|
+
|
7
11
|
attr_reader :base_directory
|
8
12
|
|
9
13
|
def initialize(directory, options={})
|
@@ -21,19 +25,32 @@ module TurbotRunner
|
|
21
25
|
end
|
22
26
|
end
|
23
27
|
|
24
|
-
def run
|
28
|
+
def run(opts={})
|
25
29
|
set_up_output_directory
|
26
30
|
|
27
|
-
|
31
|
+
if opts[:scraper_provided]
|
32
|
+
scraper_succeeded = true
|
33
|
+
else
|
34
|
+
scraper_succeeded = run_script(scraper_config)
|
35
|
+
end
|
36
|
+
|
28
37
|
# Run the transformers even if the scraper fails
|
38
|
+
transformers_succeeded = true
|
29
39
|
transformers.each do |transformer_config|
|
30
40
|
config = transformer_config.merge(
|
31
41
|
:base_directory => @base_directory,
|
32
42
|
:duplicates_allowed => duplicates_allowed
|
33
43
|
)
|
34
|
-
|
44
|
+
transformers_succeeded = run_script(config, input_file=scraper_output_file) && transformers_succeeded
|
45
|
+
end
|
46
|
+
|
47
|
+
if !scraper_succeeded
|
48
|
+
RC_SCRAPER_FAILED
|
49
|
+
elsif !transformers_succeeded
|
50
|
+
RC_TRANSFORMER_FAILED
|
51
|
+
else
|
52
|
+
RC_OK
|
35
53
|
end
|
36
|
-
succeeded
|
37
54
|
end
|
38
55
|
|
39
56
|
def set_up_output_directory
|
data/spec/lib/runner_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe TurbotRunner::Runner do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'returns true' do
|
22
|
-
expect(@runner
|
22
|
+
expect(@runner).to succeed
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -46,7 +46,7 @@ describe TurbotRunner::Runner do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'returns true' do
|
49
|
-
expect(@runner
|
49
|
+
expect(@runner).to succeed
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -63,7 +63,7 @@ describe TurbotRunner::Runner do
|
|
63
63
|
end
|
64
64
|
|
65
65
|
it 'returns true' do
|
66
|
-
expect(@runner
|
66
|
+
expect(@runner).to succeed
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -106,7 +106,7 @@ describe TurbotRunner::Runner do
|
|
106
106
|
end
|
107
107
|
|
108
108
|
it 'returns false' do
|
109
|
-
expect(@runner
|
109
|
+
expect(@runner).to fail_in_scraper
|
110
110
|
end
|
111
111
|
|
112
112
|
it 'writes error to stderr' do
|
@@ -129,7 +129,7 @@ describe TurbotRunner::Runner do
|
|
129
129
|
end
|
130
130
|
|
131
131
|
it 'returns true' do
|
132
|
-
expect(@runner
|
132
|
+
expect(@runner).to succeed
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
@@ -139,7 +139,7 @@ describe TurbotRunner::Runner do
|
|
139
139
|
end
|
140
140
|
|
141
141
|
it 'returns false' do
|
142
|
-
expect(@runner
|
142
|
+
expect(@runner).to fail_in_transformer
|
143
143
|
end
|
144
144
|
|
145
145
|
it 'writes error to stderr' do
|
@@ -180,21 +180,21 @@ describe TurbotRunner::Runner do
|
|
180
180
|
end
|
181
181
|
|
182
182
|
it 'returns true' do
|
183
|
-
expect(@runner
|
183
|
+
expect(@runner).to succeed
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
187
|
context 'with a scraper that produces an invalid record' do
|
188
188
|
it 'returns false' do
|
189
189
|
@runner = test_runner('invalid-record-bot')
|
190
|
-
expect(@runner
|
190
|
+
expect(@runner).to fail_in_scraper
|
191
191
|
end
|
192
192
|
end
|
193
193
|
|
194
194
|
context 'with a scraper that produces invalid JSON' do
|
195
195
|
it 'returns false' do
|
196
196
|
@runner = test_runner('invalid-json-bot')
|
197
|
-
expect(@runner
|
197
|
+
expect(@runner).to fail_in_scraper
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
@@ -209,7 +209,7 @@ describe TurbotRunner::Runner do
|
|
209
209
|
:timeout => 1,
|
210
210
|
:log_to_file => true
|
211
211
|
)
|
212
|
-
expect(@runner
|
212
|
+
expect(@runner).to fail_in_scraper
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
@@ -219,7 +219,7 @@ describe TurbotRunner::Runner do
|
|
219
219
|
end
|
220
220
|
|
221
221
|
it 'returns false' do
|
222
|
-
expect(@runner
|
222
|
+
expect(@runner).to fail_in_scraper
|
223
223
|
end
|
224
224
|
end
|
225
225
|
|
@@ -239,7 +239,7 @@ describe TurbotRunner::Runner do
|
|
239
239
|
end
|
240
240
|
|
241
241
|
it 'raises returns false' do
|
242
|
-
expect(@runner
|
242
|
+
expect(@runner).to fail_in_scraper
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
@@ -249,7 +249,7 @@ describe TurbotRunner::Runner do
|
|
249
249
|
end
|
250
250
|
|
251
251
|
it 'raises returns false' do
|
252
|
-
expect(@runner
|
252
|
+
expect(@runner).to succeed
|
253
253
|
end
|
254
254
|
end
|
255
255
|
end
|
@@ -330,6 +330,27 @@ RSpec::Matchers.define :have_output do |expected|
|
|
330
330
|
end
|
331
331
|
|
332
332
|
|
333
|
+
RSpec::Matchers.define(:succeed) do
|
334
|
+
match do |runner|
|
335
|
+
expect(runner.run).to eq(TurbotRunner::Runner::RC_OK)
|
336
|
+
end
|
337
|
+
end
|
338
|
+
|
339
|
+
|
340
|
+
RSpec::Matchers.define(:fail_in_scraper) do
|
341
|
+
match do |runner|
|
342
|
+
expect(runner.run).to eq(TurbotRunner::Runner::RC_SCRAPER_FAILED)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
|
346
|
+
|
347
|
+
RSpec::Matchers.define(:fail_in_transformer) do
|
348
|
+
match do |runner|
|
349
|
+
expect(runner.run).to eq(TurbotRunner::Runner::RC_TRANSFORMER_FAILED)
|
350
|
+
end
|
351
|
+
end
|
352
|
+
|
353
|
+
|
333
354
|
RSpec::Matchers.define :have_error_output_matching do |expected|
|
334
355
|
match do |actual|
|
335
356
|
runner, script = actual
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: turbot-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenCorporates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|