celsius-primo 0.1.3 → 0.1.4

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.
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: