celsius-primo 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/celsius-primo.gemspec +2 -1
  4. data/lib/celsius/primo/soap_api/searcher/search_brief/search_request_transformation/add_sort_by_list.rb +24 -19
  5. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/add_missing_facets.rb +23 -31
  6. data/lib/celsius/primo/soap_api/searcher/search_brief/search_result_transformation/process_records.rb +9 -10
  7. data/lib/celsius/primo/version.rb +1 -1
  8. data/spec/assets/adapter/search/{complex_search_request.yml → scenarios/complex_request/search_request.yml} +0 -0
  9. data/spec/assets/adapter/search/{search_result_for_complex_request.yml → scenarios/complex_request/search_result.yml} +0 -0
  10. data/spec/assets/adapter/search/{search_request_with_empty_result.yml → scenarios/empty_result/search_request.yml} +0 -0
  11. data/spec/assets/adapter/search/{empty_search_result.yml → scenarios/empty_result/search_result.yml} +0 -0
  12. data/spec/assets/adapter/search/scenarios/missing_facets/search_request.yml +66 -0
  13. data/spec/assets/adapter/search/scenarios/missing_facets/search_result.yml +158 -0
  14. data/spec/assets/adapter/search/{search_request_for_multiple_publishers.yml → scenarios/result_with_multiple_publishers/search_request.yml} +0 -0
  15. data/spec/assets/adapter/search/{search_result_with_multiple_publishers.yml → scenarios/result_with_multiple_publishers/search_result.yml} +17 -15
  16. data/spec/assets/adapter/search/{search_request.yml → scenarios/simple_request/search_request.yml} +0 -0
  17. data/spec/assets/adapter/search/{search_result.yml → scenarios/simple_request/search_result.yml} +45 -20
  18. data/spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_complex_request_.yml +191 -0
  19. data/spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_empty_result_.yml +88 -0
  20. data/spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_missing_facets_.yml +162 -0
  21. data/spec/cassettes/Celsius_Primo_Adapter/_search/{returns_a_normalized_search_result.yml → passes_the_scenario_result_with_multiple_publishers_.yml} +46 -1484
  22. data/spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_simple_request_.yml +1169 -0
  23. data/spec/celsius-primo/adapter_spec.rb +15 -12
  24. metadata +50 -23
@@ -27,7 +27,7 @@ describe Celsius::Primo::Adapter do
27
27
  mget_request = YAML.load(read_asset("adapter/mget/mget_request.yml"))
28
28
  expected_mget_result = YAML.load(read_asset("adapter/mget/mget_result.yml"))
29
29
 
30
- expect(mget_result = adapter.mget(mget_request)).to eq(expected_mget_result)
30
+ expect(adapter.mget(mget_request)).to eq(expected_mget_result)
31
31
  end
32
32
  end
33
33
 
@@ -71,16 +71,19 @@ describe Celsius::Primo::Adapter do
71
71
  end
72
72
  end
73
73
 
74
- it "returns a normalized search result", :vcr do
75
- [
76
- ["#{asset_dir}/search_request.yml", "#{asset_dir}/search_result.yml"],
77
- ["#{asset_dir}/search_request_with_empty_result.yml", "#{asset_dir}/empty_search_result.yml"],
78
- ["#{asset_dir}/search_request_for_multiple_publishers.yml", "#{asset_dir}/search_result_with_multiple_publishers.yml"],
79
- ["#{asset_dir}/complex_search_request.yml", "#{asset_dir}/search_result_for_complex_request.yml"],
80
- ]
81
- .each do |search_request_yaml_filename, search_response_yaml_filename|
82
- search_request = YAML.load(read_asset(search_request_yaml_filename))
83
- expected_search_result = YAML.load(read_asset(search_response_yaml_filename))
74
+ #
75
+ # Create specs dynamically from the given scenarios
76
+ #
77
+ [
78
+ "#{asset_dir}/scenarios/complex_request",
79
+ "#{asset_dir}/scenarios/empty_result",
80
+ "#{asset_dir}/scenarios/missing_facets",
81
+ "#{asset_dir}/scenarios/result_with_multiple_publishers",
82
+ "#{asset_dir}/scenarios/simple_request"
83
+ ].each do |directory|
84
+ it "passes the scenario \"#{directory.split("/").last}\"", :vcr do
85
+ search_request = YAML.load(read_asset("#{directory}/search_request.yml"))
86
+ expected_search_result = YAML.load(read_asset("#{directory}/search_result.yml"))
84
87
 
85
88
  expect(search_result = adapter.search(search_request)).to eq(expected_search_result)
86
89
  end
@@ -93,7 +96,7 @@ describe Celsius::Primo::Adapter do
93
96
  it "raises an Timeout::Error" do
94
97
  require "timeout"
95
98
  allow(HTTPI).to receive(:post) { sleep(timeout * 2) }
96
- search_request = YAML.load(read_asset("adapter/search/search_request.yml"))
99
+ search_request = YAML.load(read_asset("adapter/search/scenarios/simple_request/search_request.yml"))
97
100
 
98
101
  expect { adapter.search(search_request, timeout: timeout) }.to raise_error(Timeout::Error)
99
102
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celsius-primo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Sievers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: celsius
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 3.0.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: hashie
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: ox
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +109,7 @@ dependencies:
95
109
  version: 3.0.0
96
110
  - - "<"
97
111
  - !ruby/object:Gem::Version
98
- version: 4.0.0
112
+ version: 3.2.0
99
113
  type: :development
100
114
  prerelease: false
101
115
  version_requirements: !ruby/object:Gem::Requirement
@@ -105,7 +119,7 @@ dependencies:
105
119
  version: 3.0.0
106
120
  - - "<"
107
121
  - !ruby/object:Gem::Version
108
- version: 4.0.0
122
+ version: 3.2.0
109
123
  - !ruby/object:Gem::Dependency
110
124
  name: simplecov
111
125
  requirement: !ruby/object:Gem::Requirement
@@ -212,16 +226,22 @@ files:
212
226
  - lib/celsius/primo/version.rb
213
227
  - spec/assets/adapter/mget/mget_request.yml
214
228
  - spec/assets/adapter/mget/mget_result.yml
215
- - spec/assets/adapter/search/complex_search_request.yml
216
- - spec/assets/adapter/search/empty_search_result.yml
217
- - spec/assets/adapter/search/search_request.yml
218
- - spec/assets/adapter/search/search_request_for_multiple_publishers.yml
219
- - spec/assets/adapter/search/search_request_with_empty_result.yml
220
- - spec/assets/adapter/search/search_result.yml
221
- - spec/assets/adapter/search/search_result_for_complex_request.yml
222
- - spec/assets/adapter/search/search_result_with_multiple_publishers.yml
229
+ - spec/assets/adapter/search/scenarios/complex_request/search_request.yml
230
+ - spec/assets/adapter/search/scenarios/complex_request/search_result.yml
231
+ - spec/assets/adapter/search/scenarios/empty_result/search_request.yml
232
+ - spec/assets/adapter/search/scenarios/empty_result/search_result.yml
233
+ - spec/assets/adapter/search/scenarios/missing_facets/search_request.yml
234
+ - spec/assets/adapter/search/scenarios/missing_facets/search_result.yml
235
+ - spec/assets/adapter/search/scenarios/result_with_multiple_publishers/search_request.yml
236
+ - spec/assets/adapter/search/scenarios/result_with_multiple_publishers/search_result.yml
237
+ - spec/assets/adapter/search/scenarios/simple_request/search_request.yml
238
+ - spec/assets/adapter/search/scenarios/simple_request/search_result.yml
223
239
  - spec/cassettes/Celsius_Primo_Adapter/_mget/returns_a_normalzed_mget_result.yml
224
- - spec/cassettes/Celsius_Primo_Adapter/_search/returns_a_normalized_search_result.yml
240
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_complex_request_.yml
241
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_empty_result_.yml
242
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_missing_facets_.yml
243
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_result_with_multiple_publishers_.yml
244
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_simple_request_.yml
225
245
  - spec/celsius-primo/adapter_spec.rb
226
246
  - spec/celsius-primo_spec.rb
227
247
  - spec/spec_helper.rb
@@ -245,23 +265,30 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
265
  version: '0'
246
266
  requirements: []
247
267
  rubyforge_project:
248
- rubygems_version: 2.4.5
268
+ rubygems_version: 2.4.2
249
269
  signing_key:
250
270
  specification_version: 4
251
271
  summary: Generic primo celsius adapter
252
272
  test_files:
253
273
  - spec/assets/adapter/mget/mget_request.yml
254
274
  - spec/assets/adapter/mget/mget_result.yml
255
- - spec/assets/adapter/search/complex_search_request.yml
256
- - spec/assets/adapter/search/empty_search_result.yml
257
- - spec/assets/adapter/search/search_request.yml
258
- - spec/assets/adapter/search/search_request_for_multiple_publishers.yml
259
- - spec/assets/adapter/search/search_request_with_empty_result.yml
260
- - spec/assets/adapter/search/search_result.yml
261
- - spec/assets/adapter/search/search_result_for_complex_request.yml
262
- - spec/assets/adapter/search/search_result_with_multiple_publishers.yml
275
+ - spec/assets/adapter/search/scenarios/complex_request/search_request.yml
276
+ - spec/assets/adapter/search/scenarios/complex_request/search_result.yml
277
+ - spec/assets/adapter/search/scenarios/empty_result/search_request.yml
278
+ - spec/assets/adapter/search/scenarios/empty_result/search_result.yml
279
+ - spec/assets/adapter/search/scenarios/missing_facets/search_request.yml
280
+ - spec/assets/adapter/search/scenarios/missing_facets/search_result.yml
281
+ - spec/assets/adapter/search/scenarios/result_with_multiple_publishers/search_request.yml
282
+ - spec/assets/adapter/search/scenarios/result_with_multiple_publishers/search_result.yml
283
+ - spec/assets/adapter/search/scenarios/simple_request/search_request.yml
284
+ - spec/assets/adapter/search/scenarios/simple_request/search_result.yml
263
285
  - spec/cassettes/Celsius_Primo_Adapter/_mget/returns_a_normalzed_mget_result.yml
264
- - spec/cassettes/Celsius_Primo_Adapter/_search/returns_a_normalized_search_result.yml
286
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_complex_request_.yml
287
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_empty_result_.yml
288
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_missing_facets_.yml
289
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_result_with_multiple_publishers_.yml
290
+ - spec/cassettes/Celsius_Primo_Adapter/_search/passes_the_scenario_simple_request_.yml
265
291
  - spec/celsius-primo/adapter_spec.rb
266
292
  - spec/celsius-primo_spec.rb
267
293
  - spec/spec_helper.rb
294
+ has_rdoc: