celsius-primo_ubpb 0.1.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,39 @@
1
+ #
2
+ # In contrast to the paradigm of isolated tests, this spec uses Celsius::Primo
3
+ # indirectly. The idea is, that these two adapter work very closely with each
4
+ # other and always updating the stubbed responses from Celsius::Primo in here
5
+ # does not seem be appropriate.
6
+ #
7
+ describe Celsius::PrimoUbpb::Adapter do
8
+ let(:adapter_options) do
9
+ {
10
+ institution: "PAD",
11
+ languages: [
12
+ "ger",
13
+ "eng"
14
+ ],
15
+ locations:[
16
+ {
17
+ type: "local",
18
+ value: "scope:(PAD_ALEPH)"
19
+ }
20
+ ],
21
+ soap_api_options: {
22
+ searcher_url: "http://primo.kobv.de/primo_library/libweb/webservices/services/searcher"
23
+ }
24
+ }
25
+ end
26
+
27
+ let(:adapter) do
28
+ described_class.new(adapter_options)
29
+ end
30
+
31
+ describe "#search" do
32
+ it "returns a ubpb extended search result", :vcr do
33
+ search_request = YAML.load(read_asset("adapter/search/search_request.yml"))
34
+ expected_search_result = YAML.load(read_asset("adapter/search/search_result.yml"))
35
+
36
+ expect(adapter.search(search_request)).to eq(expected_search_result)
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,6 @@
1
+ describe Celsius::PrimoUbpb do
2
+ it "has a class called Adapter" do
3
+ expect(Celsius::PrimoUbpb.const_defined? :Adapter).to be true
4
+ expect(Celsius::PrimoUbpb::Adapter.class.is_a? Class)
5
+ end
6
+ end
@@ -0,0 +1,55 @@
1
+ if ENV["TRAVIS"]
2
+ require "codeclimate-test-reporter"
3
+ CodeClimate::TestReporter.start
4
+ else
5
+ require "simplecov"
6
+ SimpleCov.start
7
+ end
8
+
9
+ require "celsius/primo_ubpb"
10
+ require "vcr"
11
+ require "yaml"
12
+
13
+ begin
14
+ require "pry"
15
+ rescue LoadError
16
+ end
17
+
18
+ # disable HTTPI loggin (noise)
19
+ HTTPI.log = false
20
+
21
+ RSpec.configure do |config|
22
+ # begin --- rspec 3.1 generator
23
+ config.expect_with :rspec do |expectations|
24
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
25
+ end
26
+
27
+ config.mock_with :rspec do |mocks|
28
+ mocks.verify_partial_doubles = true
29
+ end
30
+ # end --- rspec 3.1 generator
31
+ end
32
+
33
+ VCR.configure do |c|
34
+ c.allow_http_connections_when_no_cassette = true
35
+ c.cassette_library_dir = "spec/cassettes"
36
+ c.default_cassette_options = {
37
+ match_requests_on: [:method, :uri, :query, :body],
38
+ decode_compressed_response: true
39
+ }
40
+ c.hook_into :webmock
41
+
42
+ # https://groups.google.com/forum/#!topic/vcr-ruby/2sKrJa86ktU
43
+ c.before_record do |interaction|
44
+ if interaction.response.body.encoding.name == "ASCII-8BIT"
45
+ interaction.response.body.force_encoding("UTF-8")
46
+ end
47
+ end
48
+
49
+ # https://relishapp.com/vcr/vcr/v/2-9-3/docs/test-frameworks/usage-with-rspec-metadata
50
+ c.configure_rspec_metadata!
51
+ end
52
+
53
+ def read_asset(path_to_file)
54
+ File.read(File.expand_path(File.join(File.dirname(__FILE__), "assets", path_to_file)))
55
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: celsius-primo_ubpb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ platform: ruby
6
+ authors:
7
+ - Michael Sievers
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: celsius
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.4.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.4.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: celsius-primo
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.7'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.0.0
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: 4.0.0
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 3.0.0
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: 4.0.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 0.8.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 0.8.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: vcr
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 2.9.0
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: 3.0.0
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 2.9.0
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: 3.0.0
123
+ - !ruby/object:Gem::Dependency
124
+ name: webmock
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 1.19.0
130
+ - - "<"
131
+ - !ruby/object:Gem::Version
132
+ version: 2.0.0
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: 1.19.0
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: 2.0.0
143
+ description:
144
+ email:
145
+ executables: []
146
+ extensions: []
147
+ extra_rdoc_files: []
148
+ files:
149
+ - ".gitignore"
150
+ - ".rspec"
151
+ - ".travis.yml"
152
+ - Gemfile
153
+ - LICENSE.txt
154
+ - README.md
155
+ - Rakefile
156
+ - celsius-primo_ubpb.gemspec
157
+ - lib/celsius/primo_ubpb.rb
158
+ - lib/celsius/primo_ubpb/adapter.rb
159
+ - lib/celsius/primo_ubpb/adapter/search.rb
160
+ - lib/celsius/primo_ubpb/adapter/search/search_result_transformation.rb
161
+ - lib/celsius/primo_ubpb/adapter/search/search_result_transformation/make_facet_creationdate_histogram_facet.rb
162
+ - lib/celsius/primo_ubpb/adapter/search/search_result_transformation/process_records.rb
163
+ - lib/celsius/primo_ubpb/locales/de.yml
164
+ - lib/celsius/primo_ubpb/locales/en.yml
165
+ - lib/celsius/primo_ubpb/version.rb
166
+ - spec/assets/adapter/search/celsius_primo_search_result.yml
167
+ - spec/assets/adapter/search/search_request.yml
168
+ - spec/assets/adapter/search/search_result.yml
169
+ - spec/cassettes/Celsius_PrimoUbpb_Adapter/_search/returns_a_ubpb_extended_search_result.yml
170
+ - spec/celsius-primo_ubpb/adapter_spec.rb
171
+ - spec/celsius-primo_ubpb_spec.rb
172
+ - spec/spec_helper.rb
173
+ homepage: https://github.com/ubpb/celsius-primo_ubpb
174
+ licenses:
175
+ - MIT
176
+ metadata: {}
177
+ post_install_message:
178
+ rdoc_options: []
179
+ require_paths:
180
+ - lib
181
+ required_ruby_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubyforge_project:
193
+ rubygems_version: 2.4.5
194
+ signing_key:
195
+ specification_version: 4
196
+ summary: Ubpb specific primo celsius adapter
197
+ test_files:
198
+ - spec/assets/adapter/search/celsius_primo_search_result.yml
199
+ - spec/assets/adapter/search/search_request.yml
200
+ - spec/assets/adapter/search/search_result.yml
201
+ - spec/cassettes/Celsius_PrimoUbpb_Adapter/_search/returns_a_ubpb_extended_search_result.yml
202
+ - spec/celsius-primo_ubpb/adapter_spec.rb
203
+ - spec/celsius-primo_ubpb_spec.rb
204
+ - spec/spec_helper.rb