turbot-runner 0.2.16 → 0.2.17

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
  SHA1:
3
- metadata.gz: 32d18710590570c71d03f72b25680a23cd9d161b
4
- data.tar.gz: 50de00d173e491040b426bb78fb1a1d5870c4b5b
3
+ metadata.gz: 6e85fb58506f16103a8e9a785220a673a4254354
4
+ data.tar.gz: 84664025f5f4f43fad8e23aa3151a4846370affa
5
5
  SHA512:
6
- metadata.gz: f7e8f3dd84090c357197c69176190c113e2ae78ca9ae9891df0fd3dd30c1ed6de6f3b9692ddc06f293d3b22b5285c27626c8a3099c83a5596479c83421847060
7
- data.tar.gz: 070562a8ee72b05034344084fd8a8a1a4c9415f8814db30a5bf01f91a87f78f89b06c6ed329e346fe4e53843b1600764d5cd8c2d0c23c36372158127780ebb9d
6
+ metadata.gz: bab922c04adfdd99e6ccafa102e4141db907a2105072f7e2f9ee2720f5693ec0e1708fb9cf6ca09087332d1bb0c7e34272e87c192ff981d0074bb0f42134eef6
7
+ data.tar.gz: 50f73d518937b38821ae6d5fa386886e03d6b898e8d1042f8a65bcb2e0aa0f1b480509bc9079b49cfd61f688f082c9a89698b08203f9ab15b1951a14fb01e328
data/.travis.yml CHANGED
@@ -8,4 +8,4 @@ rvm:
8
8
  - 2.2.0
9
9
  - 2.3.0
10
10
  script:
11
- bundle exec rspec --exclude-pattern "spec/manual_spec.rb"
11
+ bundle exec rspec
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/turbot-runner.svg)](https://badge.fury.io/rb/turbot-runner)
4
4
  [![Build Status](https://secure.travis-ci.org/openc/turbot-runner.png)](https://travis-ci.org/openc/turbot-runner)
5
+ [![Build Status](https://ci.appveyor.com/api/projects/status/8wvd4ygxhk6wj94s?svg=true)](https://ci.appveyor.com/project/jpmckinney/turbot-runner)
5
6
  [![Dependency Status](https://gemnasium.com/openc/turbot-runner.png)](https://gemnasium.com/openc/turbot-runner)
6
7
  [![Coverage Status](https://coveralls.io/repos/openc/turbot-runner/badge.png)](https://coveralls.io/r/openc/turbot-runner)
7
8
  [![Code Climate](https://codeclimate.com/github/openc/turbot-runner.png)](https://codeclimate.com/github/openc/turbot-runner)
data/appveyor.yml ADDED
@@ -0,0 +1,36 @@
1
+ # @see https://mattbrictson.com/how-to-test-ruby-windows
2
+ # @see https://github.com/apiaryio/apiary-client/blob/master/appveyor.yml
3
+ version: '{build}'
4
+ skip_tags: true
5
+ install:
6
+ - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
7
+ - ruby --version
8
+ - gem --version
9
+ - gem install bundler --no-ri --no-rdoc
10
+ - bundler --version
11
+ - git submodule update --init --recursive
12
+ build_script:
13
+ - bundle install --jobs=3 --retry=3
14
+ test_script:
15
+ - bundle exec rspec -b < Nul
16
+ artifacts:
17
+ - path: pkg\*.gem
18
+ environment:
19
+ matrix:
20
+ - ruby_version: "193"
21
+ - ruby_version: "200"
22
+ - ruby_version: "200-x64"
23
+ - ruby_version: "21"
24
+ - ruby_version: "21-x64"
25
+ - ruby_version: "22"
26
+ - ruby_version: "22-x64"
27
+ # @see https://www.appveyor.com/docs/build-cache
28
+ cache:
29
+ - C:\Ruby193\bin -> appveyor.yml
30
+ - C:\Ruby193\lib\ruby\gems\1.9.1 -> appveyor.yml
31
+ - C:\Ruby200\bin -> appveyor.yml
32
+ - C:\Ruby200\lib\ruby\gems\2.0.0 -> appveyor.yml
33
+ - C:\Ruby21\bin -> appveyor.yml
34
+ - C:\Ruby21\lib\ruby\gems\2.1.0 -> appveyor.yml
35
+ - C:\Ruby22\bin -> appveyor.yml
36
+ - C:\Ruby22\lib\ruby\gems\2.2.0 -> appveyor.yml
@@ -38,10 +38,10 @@ module TurbotRunner
38
38
  # Run the transformers even if the scraper fails
39
39
  transformers_succeeded = true
40
40
  transformers.each do |transformer_config|
41
- config = transformer_config.merge(
41
+ config = transformer_config.merge({
42
42
  :base_directory => @base_directory,
43
- :duplicates_allowed => duplicates_allowed
44
- )
43
+ :duplicates_allowed => duplicates_allowed,
44
+ })
45
45
  transformers_succeeded = run_script(config, input_file=scraper_output_file) && transformers_succeeded
46
46
  end
47
47
 
@@ -166,7 +166,7 @@ module TurbotRunner
166
166
  :file => scraper_script,
167
167
  :data_type => scraper_data_type,
168
168
  :identifying_fields => scraper_identifying_fields,
169
- :duplicates_allowed => duplicates_allowed
169
+ :duplicates_allowed => duplicates_allowed,
170
170
  }
171
171
  end
172
172
 
@@ -12,7 +12,7 @@ module TurbotRunner
12
12
  @script_config = script_config
13
13
  record_handler = options[:record_handler] || BaseHandler.new # A BaseHandler does nothing
14
14
  @processor = Processor.new(self, script_config, record_handler)
15
- @timeout = options[:timeout] || 60 * 60 * 24
15
+ @timeout = options[:timeout] || 86_400
16
16
  end
17
17
 
18
18
  def run
@@ -32,7 +32,7 @@ module TurbotRunner
32
32
  end
33
33
  end
34
34
 
35
- return nil
35
+ nil
36
36
  end
37
37
 
38
38
  def identifying_hash(record, identifying_fields)
@@ -1,3 +1,3 @@
1
1
  module TurbotRunner
2
- VERSION = '0.2.16'
2
+ VERSION = '0.2.17'
3
3
  end
@@ -31,6 +31,13 @@
31
31
  "$ref": "includes/entity.json"
32
32
  }
33
33
  },
34
+ "related_entities": {
35
+ "description": "Other entities that the notice is about",
36
+ "type": "array",
37
+ "items": {
38
+ "$ref": "includes/entity.json"
39
+ }
40
+ },
34
41
  "about": {
35
42
  "description": "The content of the notice",
36
43
  "type": "object",
@@ -18,8 +18,17 @@
18
18
  }
19
19
  },
20
20
  "additionalProperties": false,
21
- "required": [
22
- "code",
23
- "code_scheme_id"
21
+ "anyOf": [
22
+ {
23
+ "required": [
24
+ "name"
25
+ ]
26
+ },
27
+ {
28
+ "required": [
29
+ "code",
30
+ "code_scheme_id"
31
+ ]
32
+ }
24
33
  ]
25
34
  }
@@ -2,6 +2,11 @@ require 'json'
2
2
  require 'turbot_runner'
3
3
 
4
4
  describe TurbotRunner::Runner do
5
+ after(:all) do
6
+ puts
7
+ puts 'If all specs passed, you should now run `ruby spec/manual.rb`'
8
+ end
9
+
5
10
  describe '#run' do
6
11
  context 'with a bot written in ruby' do
7
12
  before do
@@ -74,7 +79,7 @@ describe TurbotRunner::Runner do
74
79
 
75
80
  context 'when logging to file not enabled' do
76
81
  xit 'logs to stderr' do
77
- # This is tested in manual_spec.rb
82
+ # This is tested in manual.rb
78
83
  end
79
84
  end
80
85
  end
@@ -161,7 +166,7 @@ describe TurbotRunner::Runner do
161
166
 
162
167
  context 'with a bot that is interrupted in scraper' do
163
168
  xit 'produces truncated output' do
164
- # This is tested in manual_spec.rb
169
+ # This is tested in manual.rb
165
170
  end
166
171
  end
167
172
 
@@ -357,49 +362,3 @@ describe TurbotRunner::Runner do
357
362
  end
358
363
  end
359
364
  end
360
-
361
-
362
- RSpec::Matchers.define(:have_output) do |script, expected|
363
- match do |runner|
364
- expected_path = File.join('spec', 'outputs', expected)
365
- expected_output = File.readlines(expected_path).map {|line| JSON.parse(line)}
366
- actual_path = File.join(runner.base_directory, 'output', "#{script}.out")
367
- actual_output = File.readlines(actual_path).map {|line| JSON.parse(line)}
368
- expect(expected_output).to eq(actual_output)
369
- end
370
- end
371
-
372
-
373
- RSpec::Matchers.define(:have_error_output_matching) do |script, expected|
374
- match do |runner|
375
- actual_path = File.join(runner.base_directory, 'output', "#{script}.err")
376
- actual_output = File.read(actual_path)
377
- expect(actual_output).to match(expected)
378
- end
379
- end
380
-
381
-
382
- RSpec::Matchers.define(:succeed) do
383
- match do |runner|
384
- expect(runner.run).to eq(TurbotRunner::Runner::RC_OK)
385
- end
386
- end
387
-
388
-
389
- RSpec::Matchers.define(:fail_in_scraper) do
390
- match do |runner|
391
- expect(runner.run).to eq(TurbotRunner::Runner::RC_SCRAPER_FAILED)
392
- end
393
- end
394
-
395
-
396
- RSpec::Matchers.define(:fail_in_transformer) do
397
- match do |runner|
398
- expect(runner.run).to eq(TurbotRunner::Runner::RC_TRANSFORMER_FAILED)
399
- end
400
- end
401
-
402
- def test_runner(name, opts={})
403
- test_bot_location = File.join(File.dirname(__FILE__), '../bots', name)
404
- TurbotRunner::Runner.new(test_bot_location, opts)
405
- end
File without changes
data/spec/spec_helper.rb CHANGED
@@ -1,31 +1,19 @@
1
1
  require 'rubygems'
2
2
 
3
- require 'simplecov'
4
- require 'coveralls'
5
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
- SimpleCov.start do
7
- add_filter 'spec'
3
+ unless RUBY_PLATFORM =~ /mswin32|mingw32/
4
+ require 'simplecov'
5
+ require 'coveralls'
6
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
7
+ SimpleCov.start do
8
+ add_filter 'spec'
9
+ end
8
10
  end
9
11
 
10
12
  require 'rspec'
11
13
 
14
+ Dir['./spec/support/**/*.rb'].sort.each { |f| require f}
12
15
  require File.dirname(__FILE__) + '/../lib/turbot_runner'
13
16
 
14
- RSpec::Matchers.define(:fail_validation_with) do |expected_error|
15
- match do |record|
16
- identifying_fields = ['number']
17
- @error = TurbotRunner::Validator.validate('primary-data', record, identifying_fields, Set.new)
18
- expect(@error).to eq(expected_error)
19
- end
20
-
21
- failure_message do |actual|
22
- "Expected error to be #{expected_error}, but was #{@error}"
23
- end
24
- end
25
-
26
- RSpec::Matchers.define(:be_valid) do
27
- match do |record|
28
- identifying_fields = ['number']
29
- expect(TurbotRunner::Validator.validate('primary-data', record, identifying_fields, Set.new)).to eq(nil)
30
- end
17
+ RSpec.configure do |c|
18
+ c.include(Helpers)
31
19
  end
@@ -0,0 +1,73 @@
1
+ RSpec::Matchers.define(:fail_validation_with) do |expected_error|
2
+ match do |record|
3
+ identifying_fields = ['number']
4
+ @error = TurbotRunner::Validator.validate('primary-data', record, identifying_fields, Set.new)
5
+ expect(@error).to eq(expected_error)
6
+ end
7
+
8
+ failure_message do |actual|
9
+ "Expected error to be #{expected_error}, but was #{@error}"
10
+ end
11
+ end
12
+
13
+ RSpec::Matchers.define(:be_valid) do
14
+ match do |record|
15
+ identifying_fields = ['number']
16
+ expect(TurbotRunner::Validator.validate('primary-data', record, identifying_fields, Set.new)).to eq(nil)
17
+ end
18
+ end
19
+
20
+ RSpec::Matchers.define(:have_output) do |script, expected|
21
+ match do |runner|
22
+ expected_path = File.join('spec', 'outputs', expected)
23
+ @expected_output = File.readlines(expected_path).map {|line| JSON.parse(line)}
24
+ actual_path = File.join(runner.base_directory, 'output', "#{script}.out")
25
+ @actual_output = File.readlines(actual_path).map {|line| JSON.parse(line)}
26
+ expect(@expected_output).to eq(@actual_output)
27
+ end
28
+
29
+ failure_message do |actual|
30
+ "Expected output to be #{@expected_output}, but was #{@actual_output}"
31
+ end
32
+ end
33
+
34
+ RSpec::Matchers.define(:have_error_output_matching) do |script, expected|
35
+ match do |runner|
36
+ actual_path = File.join(runner.base_directory, 'output', "#{script}.err")
37
+ actual_output = File.read(actual_path)
38
+ expect(actual_output).to match(expected)
39
+ end
40
+ end
41
+
42
+ RSpec::Matchers.define(:succeed) do
43
+ match do |runner|
44
+ @actual_run = runner.run
45
+ expect(@actual_run).to eq(TurbotRunner::Runner::RC_OK)
46
+ end
47
+
48
+ failure_message do |actual|
49
+ "Expected output to be TurbotRunner::Runner::RC_OK, but was #{@actual_run}"
50
+ end
51
+ end
52
+
53
+ RSpec::Matchers.define(:fail_in_scraper) do
54
+ match do |runner|
55
+ @actual_run = runner.run
56
+ expect(@actual_run).to eq(TurbotRunner::Runner::RC_SCRAPER_FAILED)
57
+ end
58
+
59
+ failure_message do |actual|
60
+ "Expected output to be TurbotRunner::Runner::RC_SCRAPER_FAILED, but was #{@actual_run}"
61
+ end
62
+ end
63
+
64
+ RSpec::Matchers.define(:fail_in_transformer) do
65
+ match do |runner|
66
+ @actual_run = runner.run
67
+ expect(@actual_run).to eq(TurbotRunner::Runner::RC_TRANSFORMER_FAILED)
68
+ end
69
+
70
+ failure_message do |actual|
71
+ "Expected output to be TurbotRunner::Runner::RC_TRANSFORMER_FAILED, but was #{@actual_run}"
72
+ end
73
+ end
@@ -0,0 +1,6 @@
1
+ module Helpers
2
+ def test_runner(name, opts={})
3
+ test_bot_location = File.join(File.dirname(__FILE__), '../bots', name)
4
+ TurbotRunner::Runner.new(test_bot_location, opts)
5
+ end
6
+ end
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.2.16
4
+ version: 0.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenCorporates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-12 00:00:00.000000000 Z
11
+ date: 2016-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -93,6 +93,7 @@ files:
93
93
  - Gemfile
94
94
  - README.md
95
95
  - Rakefile
96
+ - appveyor.yml
96
97
  - lib/turbot_runner.rb
97
98
  - lib/turbot_runner/base_handler.rb
98
99
  - lib/turbot_runner/exceptions.rb
@@ -190,11 +191,13 @@ files:
190
191
  - spec/lib/runner_spec.rb
191
192
  - spec/lib/utils_spec.rb
192
193
  - spec/lib/validator_spec.rb
193
- - spec/manual_spec.rb
194
+ - spec/manual.rb
194
195
  - spec/outputs/full-scraper.out
195
196
  - spec/outputs/full-transformer.out
196
197
  - spec/outputs/truncated-scraper.out
197
198
  - spec/spec_helper.rb
199
+ - spec/support/custom_matchers.rb
200
+ - spec/support/helpers.rb
198
201
  - turbot-runner.gemspec
199
202
  homepage: http://turbot.opencorporates.com/
200
203
  licenses:
@@ -271,9 +274,11 @@ test_files:
271
274
  - spec/lib/runner_spec.rb
272
275
  - spec/lib/utils_spec.rb
273
276
  - spec/lib/validator_spec.rb
274
- - spec/manual_spec.rb
277
+ - spec/manual.rb
275
278
  - spec/outputs/full-scraper.out
276
279
  - spec/outputs/full-transformer.out
277
280
  - spec/outputs/truncated-scraper.out
278
281
  - spec/spec_helper.rb
282
+ - spec/support/custom_matchers.rb
283
+ - spec/support/helpers.rb
279
284
  has_rdoc: