turbot-runner 0.1.45 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|