krikri 0.3.1 → 0.3.2

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,3 @@
1
+ require 'spec_helper'
2
+
3
+ describe Krikri::Harvesters::FileHarvester do
@@ -276,7 +276,7 @@ EOM
276
276
  expect(subject.client).to receive(request_type)
277
277
  .with(:metadata_prefix => args[:oai][:metadata_prefix])
278
278
  .and_return(result)
279
- subject.send(method)
279
+ subject.send(method).first
280
280
  end
281
281
 
282
282
  it 'adds options passed into request' do
@@ -284,7 +284,7 @@ EOM
284
284
  .with(:metadata_prefix => args[:oai][:metadata_prefix],
285
285
  :set => request_opts[:set])
286
286
  .and_return(result)
287
- subject.send(method, request_opts)
287
+ subject.send(method, request_opts).first
288
288
  end
289
289
 
290
290
  context 'with multiple sets' do
@@ -294,7 +294,7 @@ EOM
294
294
  opts.delete(:set)
295
295
  expect(subject.client).to receive(request_type).with(opts)
296
296
  .and_return(result)
297
- subject.send(method, { :skip_set => 'moomin' })
297
+ subject.send(method, { :skip_set => 'moomin' }).first
298
298
  end
299
299
 
300
300
  it 'skips sets from full list when none given' do
@@ -305,7 +305,7 @@ EOM
305
305
  allow(subject).to receive(:sets).and_return(['valid', 'moomin'])
306
306
  expect(subject.client).to receive(request_type).with(opts)
307
307
  .and_return(result)
308
- subject.send(method, { :skip_set => 'moomin' })
308
+ subject.send(method, { :skip_set => 'moomin' }).first
309
309
  end
310
310
  end
311
311
  end
@@ -360,6 +360,24 @@ EOM
360
360
  end
361
361
  end
362
362
 
363
+ describe '#request_with_sets' do
364
+ it 'is lazy' do
365
+ sets = [double('first'), double('second')]
366
+ opts = { :set => sets }
367
+ expect { |b| subject.send(:request_with_sets, opts, &b) }
368
+ .not_to yield_control
369
+ end
370
+
371
+ it 'sends requests' do
372
+ sets = [double('first'), double('second')]
373
+ opts = { :set => sets }
374
+ expect { |b| subject.send(:request_with_sets, opts, &b) }
375
+ .not_to yield_successive_args({ :set => opts[:set][0] },
376
+ { :set => opts[:set][1] })
377
+ end
378
+
379
+ end
380
+
363
381
  describe '#enqueue' do
364
382
  let(:args) do
365
383
  {uri: 'http://example.org/endpoint', oai: {metadata_prefix: 'mods'}}
@@ -400,14 +418,14 @@ EOM
400
418
  describe 'concat_enum' do
401
419
 
402
420
  it 'concatenates enums' do
403
- expect(subject.concat_enum((1..10), (100..110)).to_a)
421
+ expect(subject.concat_enum([(1..10), (100..110)]).to_a)
404
422
  .to eq (1..10).to_a.concat((100..110).to_a)
405
423
  end
406
424
 
407
425
  it 'works with lazy' do
408
426
  enum = double
409
427
  expect(enum).not_to receive :each
410
- subject.concat_enum((1..10), enum).lazy.take(10)
428
+ subject.concat_enum([(1..10), enum]).lazy.take(10)
411
429
  end
412
430
  end
413
431
 
@@ -26,7 +26,7 @@ describe Krikri::Mapper do
26
26
  mapped = Krikri::Mapper.map(:integration, record).first
27
27
 
28
28
  expect(mapped.sourceResource.first.creator.first.providedLabel)
29
- .to eq record.root['dc:creator'].map(&:value)
29
+ .to eq record.root['dc:creator'].to_a.map(&:value)
30
30
 
31
31
  expect(mapped.sourceResource.first.identifier)
32
32
  .to eq Array(record.header.first['xmlns:identifier'].first.value)
@@ -23,9 +23,20 @@ describe Krikri::Parser::ValueArray do
23
23
  end
24
24
 
25
25
  describe '#values' do
26
+ before do
27
+ values.each do |v|
28
+ allow(v).to receive(:respond_to?).with(:value).and_return(true)
29
+ end
30
+ end
31
+
26
32
  it 'gives values for items in array' do
27
33
  expect(subject.values).to eq ['value_0', 'value_1', 'value_2']
28
34
  end
35
+
36
+ it 'gives item when item has no value property' do
37
+ values << double('valueless')
38
+ expect(subject.values).to eq ['value_0', 'value_1', 'value_2', values.last]
39
+ end
29
40
  end
30
41
 
31
42
  shared_context 'with fields' do
@@ -183,6 +194,16 @@ describe Krikri::Parser::ValueArray do
183
194
  end
184
195
  end
185
196
 
197
+ describe '#map' do
198
+ it 'calls block on all' do
199
+ expect { |b| subject.map(&b) }.to yield_successive_args(*subject.to_a)
200
+ end
201
+
202
+ it 'returns an instance of its class' do
203
+ expect(subject.map {}).to be_a described_class
204
+ end
205
+ end
206
+
186
207
  describe '#reject' do
187
208
  it 'creates new array not containing rejected values' do
188
209
  expect(subject.reject { |v| v.value == 'value_1'})
@@ -14,6 +14,14 @@ end
14
14
  describe Krikri::Activity, type: :model do
15
15
  subject { create(:krikri_activity) }
16
16
 
17
+ describe '#save' do
18
+ subject { build(:krikri_activity_with_long_opts) }
19
+
20
+ it 'saves long :opts values successfully' do
21
+ expect { subject.save }.not_to raise_error
22
+ end
23
+ end
24
+
17
25
  describe '#rdf_subject' do
18
26
  it 'is a URI' do
19
27
  expect(subject.rdf_subject).to be_a RDF::URI
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krikri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Audrey Altman
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-03-06 00:00:00.000000000 Z
14
+ date: 2015-03-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -358,6 +358,7 @@ files:
358
358
  - db/migrate/20141113200643_create_krikri_harvest_sources.rb
359
359
  - db/migrate/20141212220924_create_krikri_activities.rb
360
360
  - db/migrate/20150106164218_add_opts_to_krikri_harvest_sources.rb
361
+ - db/migrate/20150309160112_change_opts_in_krikri_activities.rb
361
362
  - lib/aggregation.rb~
362
363
  - lib/blacklight.rb~
363
364
  - lib/generators/krikri/install_generator.rb
@@ -396,6 +397,7 @@ files:
396
397
  - lib/krikri/harvesters/basic_save_behavior.rb
397
398
  - lib/krikri/harvesters/basic_save_behavior.rb~
398
399
  - lib/krikri/harvesters/couchdb_harvester.rb
400
+ - lib/krikri/harvesters/file_harvester.rb~
399
401
  - lib/krikri/harvesters/harvest_behavior.rb
400
402
  - lib/krikri/harvesters/harvest_behavior.rb~
401
403
  - lib/krikri/harvesters/oai_harvester.rb
@@ -699,6 +701,7 @@ files:
699
701
  - spec/lib/krikri/harvesters/basic_save_behavior_spec.rb
700
702
  - spec/lib/krikri/harvesters/basic_save_behavior_spec.rb~
701
703
  - spec/lib/krikri/harvesters/couchdb_harvester_spec.rb
704
+ - spec/lib/krikri/harvesters/file_harvester_spec.rb~
702
705
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb
703
706
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb~
704
707
  - spec/lib/krikri/harvesters/oai_harvester_spec.rb
@@ -820,6 +823,7 @@ test_files:
820
823
  - spec/lib/krikri/harvesters/oai_skip_deleted_behavior_spec.rb~
821
824
  - spec/lib/krikri/harvesters/couchdb_harvester_spec.rb
822
825
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb
826
+ - spec/lib/krikri/harvesters/file_harvester_spec.rb~
823
827
  - spec/lib/krikri/harvesters/harvest_behavior_spec.rb~
824
828
  - spec/lib/krikri/mapping_dsl/property_declaration_spec.rb~
825
829
  - spec/lib/krikri/mapping_dsl/child_declaration_spec.rb