harvestdor-indexer 1.0.4 → 2.0.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.
@@ -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