harvestdor-indexer 1.0.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe Harvestdor::Indexer::Metrics do
4
+ it "should record successes" do
5
+ expect { subject.success! }.to change { subject.success_count }.from(0).to(1)
6
+ end
7
+
8
+ it "should record errors" do
9
+ expect { subject.error! }.to change { subject.error_count }.from(0).to(1)
10
+ end
11
+
12
+ describe "#total" do
13
+ it "should be the sum of the successes and errors" do
14
+ expect do
15
+ subject.error!
16
+ subject.success!
17
+ end.to change { subject.total }.from(0).to(2)
18
+ end
19
+ end
20
+
21
+ describe "#tally" do
22
+ it "should record a success if the block doesn't fail" do
23
+ expect do
24
+ subject.tally do
25
+ #noop
26
+ end
27
+ end.to change { subject.success_count }.from(0).to(1)
28
+ end
29
+
30
+ it "should record an error if the block fails" do
31
+ expect do
32
+ subject.tally do
33
+ raise "Broken"
34
+ end
35
+ end.to change { subject.error_count }.from(0).to(1)
36
+ end
37
+
38
+ it "should allow an error handler to be provided" do
39
+ x = double
40
+ expect(x).to receive(:call).with(kind_of(RuntimeError))
41
+ subject.tally(on_error: x) do
42
+ raise "Broken"
43
+ end
44
+ end
45
+ end
46
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harvestdor-indexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naomi Dushay
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-11-14 00:00:00.000000000 Z
13
+ date: 2015-01-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -82,6 +82,34 @@ dependencies:
82
82
  version: 1.0.5
83
83
  prerelease: false
84
84
  type: :runtime
85
+ - !ruby/object:Gem::Dependency
86
+ name: activesupport
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ prerelease: false
98
+ type: :runtime
99
+ - !ruby/object:Gem::Dependency
100
+ name: parallel
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ prerelease: false
112
+ type: :runtime
85
113
  - !ruby/object:Gem::Dependency
86
114
  name: confstruct
87
115
  version_requirements: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  name: rspec
143
171
  version_requirements: !ruby/object:Gem::Requirement
144
172
  requirements:
145
- - - '>='
173
+ - - ~>
146
174
  - !ruby/object:Gem::Version
147
- version: '0'
175
+ version: '3.0'
148
176
  requirement: !ruby/object:Gem::Requirement
149
177
  requirements:
150
- - - '>='
178
+ - - ~>
151
179
  - !ruby/object:Gem::Version
152
- version: '0'
180
+ version: '3.0'
153
181
  prerelease: false
154
182
  type: :development
155
183
  - !ruby/object:Gem::Dependency
@@ -210,12 +238,14 @@ files:
210
238
  - LICENSE.txt
211
239
  - README.rdoc
212
240
  - Rakefile
213
- - config/dor-fetcher-client.yml
214
241
  - harvestdor-indexer.gemspec
215
242
  - lib/harvestdor-indexer.rb
216
- - lib/harvestdor-indexer/version.rb
243
+ - lib/harvestdor/indexer.rb
244
+ - lib/harvestdor/indexer/metrics.rb
245
+ - lib/harvestdor/indexer/resource.rb
246
+ - lib/harvestdor/indexer/solr.rb
247
+ - lib/harvestdor/indexer/version.rb
217
248
  - spec/config/ap.yml
218
- - spec/config/ap_blacklist.txt
219
249
  - spec/config/ap_whitelist.txt
220
250
  - spec/fixtures/vcr_cassettes/before_all_call.yml
221
251
  - spec/fixtures/vcr_cassettes/cant_find_whitelist_call.yml
@@ -236,7 +266,10 @@ files:
236
266
  - spec/fixtures/vcr_cassettes/rsolr_client_config_call.yml
237
267
  - spec/fixtures/vcr_cassettes/single_rsolr_connection_call.yml
238
268
  - spec/spec_helper.rb
269
+ - spec/unit/harvestdor-indexer-resource_spec.rb
270
+ - spec/unit/harvestdor-indexer-solr_spec.rb
239
271
  - spec/unit/harvestdor-indexer_spec.rb
272
+ - spec/unit/harvestdor/indexer/metrics_spec.rb
240
273
  homepage: https://consul.stanford.edu/display/chimera/Chimera+project
241
274
  licenses: []
242
275
  metadata: {}
@@ -262,7 +295,6 @@ specification_version: 4
262
295
  summary: Harvest DOR object metadata and index it to Solr
263
296
  test_files:
264
297
  - spec/config/ap.yml
265
- - spec/config/ap_blacklist.txt
266
298
  - spec/config/ap_whitelist.txt
267
299
  - spec/fixtures/vcr_cassettes/before_all_call.yml
268
300
  - spec/fixtures/vcr_cassettes/cant_find_whitelist_call.yml
@@ -283,5 +315,8 @@ test_files:
283
315
  - spec/fixtures/vcr_cassettes/rsolr_client_config_call.yml
284
316
  - spec/fixtures/vcr_cassettes/single_rsolr_connection_call.yml
285
317
  - spec/spec_helper.rb
318
+ - spec/unit/harvestdor-indexer-resource_spec.rb
319
+ - spec/unit/harvestdor-indexer-solr_spec.rb
286
320
  - spec/unit/harvestdor-indexer_spec.rb
321
+ - spec/unit/harvestdor/indexer/metrics_spec.rb
287
322
  has_rdoc:
@@ -1,4 +0,0 @@
1
- # ---------- DorFetcher Client parameters -----------
2
-
3
- # dor_fetcher_service_url: URL of the dor-fetcher-service provider
4
- dor_fetcher_service_url: http://127.0.0.1:3000
@@ -1,5 +0,0 @@
1
- # blacklist containing druids that should NOT be processed.
2
- # druids should be in the form aa111bb2222
3
-
4
- druid:jf275fd6276
5
- druid:tc552kq0798