libis-services 1.0.5 → 1.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,7 +10,7 @@ module Libis
10
10
 
11
11
  class UserManager < Libis::Services::Rosetta::Client
12
12
 
13
- def initialize(base_url = 'http://depot.lias.be', options = {})
13
+ def initialize(base_url = 'https://repository.teneo.libis.be', options = {})
14
14
  super 'infra', 'UserManagerWS', {url: base_url}.merge(options)
15
15
  end
16
16
 
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Services
3
- VERSION = '1.0.5'
3
+ VERSION = '1.0.11'
4
4
  end
5
5
  end
@@ -27,13 +27,14 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'simplecov', '~> 0.9'
28
28
  spec.add_development_dependency 'coveralls', '~> 0.7'
29
29
  spec.add_development_dependency 'equivalent-xml', '~> 0.6'
30
+ spec.add_development_dependency 'rexml'
30
31
 
31
32
  spec.add_runtime_dependency 'libis-tools', '~> 1.0'
32
- spec.add_runtime_dependency 'highline', '~> 1.7'
33
+ spec.add_runtime_dependency 'highline', '~> 2.0'
33
34
  spec.add_runtime_dependency 'savon', '~> 2.11'
34
35
  spec.add_runtime_dependency 'rest-client', '~> 2.0'
35
- spec.add_runtime_dependency 'oai', '~> 0.4'
36
- spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.2'
36
+ spec.add_runtime_dependency 'oai', '~> 1.0'
37
+ spec.add_runtime_dependency 'ruby-oci8', '~> 2.2.2' unless RUBY_PLATFORM == 'java'
37
38
  spec.add_runtime_dependency 'virtus', '~> 1.0'
38
39
  spec.add_runtime_dependency 'write_xlsx', '~> 0.83'
39
40
  spec.add_runtime_dependency 'awesome_print', '~> 1.6'
@@ -6,146 +6,17 @@ require 'libis/services/alma/sru_service'
6
6
 
7
7
  describe 'Alma' do
8
8
 
9
- # noinspection RubyLiteralArrayInspection
10
- let(:record) {
11
- {
12
- leader: '01960nas a2200553u 4500',
13
- controlfield: ['9930800070101471', '20170602113306.0', '881205c19679999be r|p|| 0|||a|dut c'],
14
- datafield: [
15
- {
16
- subfield: '(BeLVLBS)003080007LBS01-Aleph',
17
- :@tag => '035', :@ind1 => ' ', :@ind2 => ' '
18
- }, {
19
- subfield: 'Kerk en leven. Bisdom Antwerpen (0991)',
20
- :@tag => '245', :@ind1 => '0', :@ind2 => '0'
21
- }, {
22
- subfield: 'K & L',
23
- :@tag => '246', :@ind1 => '3', :@ind2 => '3'
24
- }, {
25
- subfield: ['Antwerpen', 'Kerk en leven,', '1967-.'],
26
- :@tag => '260', :@ind1 => ' ', :@ind2 => ' '
27
- }, {
28
- subfield: 'Weekly',
29
- :@tag => '310', :@ind1 => ' ', :@ind2 => ' '
30
- }, {
31
- subfield: %w(text rdacontent),
32
- :@tag => '336', :@ind1 => ' ', :@ind2 => ' '
33
- }, {
34
- subfield: %w(computer rdamedia),
35
- :@tag => '337', :@ind1 => ' ', :@ind2 => ' '
36
- }, {
37
- subfield: ['online resource', 'rdacarrier'],
38
- :@tag => '338', :@ind1 => ' ', :@ind2 => ' '
39
- }, {
40
- subfield: 'Online',
41
- :@tag => '340', :@ind1 => ' ', :@ind2 => ' '
42
- }, {
43
- subfield: 'Digitale kopie van de gedrukte uitgave',
44
- :@tag => '500', :@ind1 => ' ', :@ind2 => ' '
45
- }, {
46
- subfield: ['KADOC', 'C1', 'Kerken en religie', '(ODIS-HT)'],
47
- :@tag => '650', :@ind1 => ' ', :@ind2 => '7'
48
- }, {
49
- subfield: ['KADOC', 'Antwerpen [deelgemeente in gemeente Antwerpen - BE]', '(ODIS-GEO)10560000006504'],
50
- :@tag => '650', :@ind1 => ' ', :@ind2 => '7'
51
- }, {
52
- subfield: ['KADOC', 'Bisdom Antwerpen (1961-heden)', '(ODIS-ORG)9284'],
53
- :@tag => '650', :@ind1 => ' ', :@ind2 => '7'
54
- }, {
55
- subfield: ['KADOC', 'Studiecentrum voor Zielzorg en Predicatie', '(ODIS-ORG)24894'],
56
- :@tag => '650', :@ind1 => ' ', :@ind2 => '7'
57
- }, {
58
- subfield: 'E-journals',
59
- :@tag => '653', :@ind1 => ' ', :@ind2 => '6'
60
- }, {
61
- subfield: 'Collectie Kerk en Leven',
62
- :@tag => '699', :@ind1 => ' ', :@ind2 => ' '
63
- }, {
64
- subfield: 'KYE000486',
65
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
66
- }, {
67
- subfield: ['EKAD', '(1967)7-35, 37-52'],
68
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
69
- }, {
70
- subfield: ['EKAD', '(1968)1-14, 17-49'],
71
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
72
- }, {
73
- subfield: ['EKAD', '(1969)1-10, 12-37, 39-49'],
74
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
75
- }, {
76
- subfield: ['EKAD', '(1970)1-50 volledig'],
77
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
78
- }, {
79
- subfield: ['EKAD', '(1971)1-28, 30-31, 33-37, 41-49'],
80
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
81
- }, {
82
- subfield: ['EKAD', '(1972)22, 30-32, 34-36, 38-50'],
83
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
84
- }, {
85
- subfield: ['EKAD', '(1973)1-50 volledig'],
86
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
87
- }, {
88
- subfield: ['EKAD', '(1974)1-25, 27-50'],
89
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
90
- }, {
91
- subfield: ['EKAD', '(1975)-(1992)volledig'],
92
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
93
- }, {
94
- subfield: ['EKAD', '(1993)1-10, 12-50'],
95
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
96
- }, {
97
- subfield: ['EKAD', '(1994)-(1996)volledig'],
98
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
99
- }, {
100
- subfield: ['EKAD', '(1997)volledig'],
101
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
102
- }, {
103
- subfield: ['EKAD', '(1998)1-53'],
104
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
105
- }, {
106
- subfield: ['EKAD', '(2000)1-16, 18-52'],
107
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
108
- }, {
109
- subfield: ['EKAD', '(2001)-(2003)volledig'],
110
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
111
- }, {
112
- subfield: ['EKAD', '(2004)1-53'],
113
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
114
- }, {
115
- subfield: ['EKAD', '(2005)1-8, 10-52'],
116
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
117
- }, {
118
- subfield: ['EKAD', '(2006)1-26, 29, 32-52'],
119
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
120
- }, {
121
- subfield: ['EKAD', '(2007)39-42, 44, 46-49, 51-52'],
122
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
123
- }, {
124
- subfield: ['EKAD', '(2008)1-28, 32-53'],
125
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
126
- }, {
127
- subfield: ['EKAD', '(2009)1-34, 36-38'],
128
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
129
- }, {
130
- subfield: ['EKAD', '(2011)1-13, 15-36, 45-52'],
131
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
132
- }, {
133
- subfield: ['EKAD', 'KADOC elektronische tijdschriften'],
134
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
135
- }, {
136
- subfield: ['EKAD', 'KADOC lopende periodiek'],
137
- :@tag => '983', :@ind1 => ' ', :@ind2 => ' '
138
- }
139
- ],
140
- }
141
- }
142
-
143
9
  context 'API service' do
144
10
  let(:subject) { Libis::Services::Alma::WebService.new }
11
+ let(:record) { Hash.new }
145
12
 
146
13
  context 'marc' do
147
14
 
148
15
  before {
16
+ data = Libis::Services::Alma::SruService.new.search('alma.local_field_983', 'KYE000486')
17
+ data = data.first.to_hash(:convert_tags_to => lambda { |tag| tag.snakecase.to_sym })
18
+
19
+ record = data[:record]
149
20
  record[:controlfield][0] = '9930800070101480'
150
21
  record[:datafield].insert(1, {
151
22
  subfield: '(EXLNZ-32KUL_LIBIS_NETWORK)9930800070101471',
@@ -170,9 +41,16 @@ describe 'Alma' do
170
41
 
171
42
  context 'SRU service' do
172
43
  let(:subject) { Libis::Services::Alma::SruService.new }
44
+ let(:record) { Hash.new }
173
45
 
174
46
  context 'marc' do
175
47
 
48
+ before {
49
+ data = Libis::Services::Alma::WebService.new.get_marc('9930800070101480', 'l7xx8879c82a7d7b453a887a6e6dca8300fd').
50
+ to_hash(:convert_tags_to => lambda { |tag| tag.snakecase.to_sym })
51
+ record = data[:bib][:record]
52
+ record.cleanup!
53
+ }
176
54
 
177
55
  it 'search' do
178
56
  result = subject.search('alma.local_field_983', 'KYE000486')
data/spec/ie_data.rb CHANGED
@@ -24,7 +24,7 @@ def expected_ies
24
24
  "status" => "ACTIVE",
25
25
  "submissionReason" => "Ingest",
26
26
  "IEEntityType" => "KADOC_PhotoAlbum",
27
- "Version" => "100200300",
27
+ "Version" => "13",
28
28
  "UserDefinedA" => "AAAA",
29
29
  "UserDefinedB" => "BBBB",
30
30
  "UserDefinedC" => "CCCC"
@@ -65,7 +65,6 @@ def expected_ies
65
65
  }
66
66
  },
67
67
  :dmd => {
68
- "text" => "\n ",
69
68
  "title" => "Denemarken 2015"
70
69
  },
71
70
  }
@@ -74,332 +73,6 @@ end
74
73
  def expected_mets
75
74
  # noinspection RubyQuotedStringsInspection
76
75
  expected_ies.merge(
77
- "Large" => {
78
- :id => "REP403621",
79
- :amd => {
80
- :tech => {
81
- "objectCharacteristics" => [
82
- {
83
- "objectType" => "REPRESENTATION",
84
- "creationDate" => "2015-10-31 11:23:13",
85
- "createdBy" => "testadmin",
86
- "owner" => "CRS00.TESTINS.TESTDEP"
87
- }
88
- ],
89
- "generalRepCharacteristics" => [
90
- {
91
- "usageType" => "VIEW",
92
- "preservationType" => "DERIVATIVE_COPY",
93
- "label" => "Large",
94
- "RepresentationCode" => "HIGH"
95
- }
96
- ],
97
- "internalIdentifier" => [
98
- {
99
- "internalIdentifierType" => "PID",
100
- "internalIdentifierValue" => "REP403621"
101
- }
102
- ]
103
- },
104
- :rights => {}
105
- },
106
- "Table of Contents" => {
107
- "Zonsondergang Sinebjerg" => {
108
- :id => "FL403622",
109
- :group => "DSC03102",
110
- :amd => {
111
- :tech => {
112
- "objectCharacteristics" => [
113
- {
114
- "objectType" => "FILE",
115
- "creationDate" => "2015-10-31 11:23:13",
116
- "createdBy" => "testadmin",
117
- "owner" => "CRS00.TESTINS.TESTDEP",
118
- "groupID" => "DSC03102"
119
- }
120
- ],
121
- "internalIdentifier" => [
122
- {
123
- "internalIdentifierType" => "PID",
124
- "internalIdentifierValue" => "FL403622"
125
- }
126
- ],
127
- "generalFileCharacteristics" => [
128
- {
129
- "label" => "Zonsondergang Sinebjerg",
130
- "fileLocationType" => "FILE",
131
- "fileOriginalName" => "DSC03102.jpg",
132
- "fileOriginalID" =>
133
- "/operational_shared/operational_export_directory/IE403595/import/23230104//DSC03102.jpg",
134
- "fileExtension" => "jpg",
135
- "fileMIMEType" => "image/jpeg",
136
- "fileSizeBytes" => "216073",
137
- "formatLibraryId" => "fmt/44",
138
- }
139
- ]
140
- },
141
- }
142
- },
143
- "Strand Ristinge" => {
144
- :id => "FL403623",
145
- :amd => {
146
- :tech => {
147
- "objectCharacteristics" => [
148
- {
149
- "objectType" => "FILE",
150
- "creationDate" => "2015-10-31 11:23:13",
151
- "createdBy" => "testadmin",
152
- "owner" => "CRS00.TESTINS.TESTDEP"
153
- }
154
- ],
155
- "internalIdentifier" => [
156
- {
157
- "internalIdentifierType" => "PID",
158
- "internalIdentifierValue" => "FL403623"
159
- }
160
- ],
161
-
162
- },
163
- }
164
- },
165
- "Nachtzicht strand Ærøskøbing" => {
166
- :id => "FL403624",
167
- :amd => {
168
- :tech => {
169
- "objectCharacteristics" => [
170
- {
171
- "objectType" => "FILE",
172
- "creationDate" => "2015-10-31 11:23:13",
173
- "createdBy" => "testadmin",
174
- "owner" => "CRS00.TESTINS.TESTDEP"
175
- }
176
- ],
177
- "internalIdentifier" => [
178
- {
179
- "internalIdentifierType" => "PID",
180
- "internalIdentifierValue" => "FL403624"
181
- }
182
- ],
183
- }
184
- }
185
- },
186
- "Strandvej schiereiland Ærøskøbing" => {
187
- :id => "FL403625",
188
- :amd => {
189
- :tech => {
190
- "objectCharacteristics" => [
191
- {
192
- "objectType" => "FILE",
193
- "creationDate" => "2015-10-31 11:23:13",
194
- "createdBy" => "testadmin",
195
- "owner" => "CRS00.TESTINS.TESTDEP"
196
- }
197
- ],
198
- "internalIdentifier" => [
199
- {
200
- "internalIdentifierType" => "PID",
201
- "internalIdentifierValue" => "FL403625"
202
- }
203
- ]
204
- },
205
- }
206
- },
207
- "Skjoldnæs Fyr - Søby" =>
208
- {:id => "FL403626",
209
- :amd =>
210
- {:tech =>
211
- {"objectCharacteristics" =>
212
- [{"objectType" => "FILE",
213
- "creationDate" => "2015-10-31 11:23:13",
214
- "createdBy" => "testadmin",
215
- "owner" => "CRS00.TESTINS.TESTDEP"}],
216
- "internalIdentifier" =>
217
- [{"internalIdentifierType" => "PID",
218
- "internalIdentifierValue" => "FL403626"}],
219
- }
220
- }},
221
- "Ingang Legoland Billund" => {
222
- :id => "FL403627",
223
- :amd => {
224
- :tech => {
225
- "objectCharacteristics" => [
226
- {
227
- "objectType" => "FILE",
228
- "creationDate" => "2015-10-31 11:23:13",
229
- "createdBy" => "testadmin",
230
- "owner" => "CRS00.TESTINS.TESTDEP"
231
- }
232
- ],
233
- "internalIdentifier" => [
234
- {
235
- "internalIdentifierType" => "PID",
236
- "internalIdentifierValue" => "FL403627"
237
- }
238
- ]
239
- }
240
- }
241
- }
242
- }
243
- },
244
- "Small" => {
245
- :id => "REP403628",
246
- :amd => {
247
- :tech => {
248
- "objectCharacteristics" => [
249
- {
250
- "objectType" => "REPRESENTATION",
251
- "creationDate" => "2015-10-31 11:24:55",
252
- "createdBy" => "testadmin",
253
- "owner" => "CRS00.TESTINS.TESTDEP"
254
- }
255
- ],
256
- "generalRepCharacteristics" => [
257
- {
258
- "usageType" => "VIEW",
259
- "preservationType" => "DERIVATIVE_COPY",
260
- "label" => "Small"
261
- }
262
- ],
263
- "internalIdentifier" => [
264
- {
265
- "internalIdentifierType" => "PID",
266
- "internalIdentifierValue" => "REP403628"
267
- }
268
- ]
269
- },
270
- :rights => {},
271
- },
272
- "Table of Contents" => {
273
- "Zonsondergang Sinebjerg" => {
274
- :id => "FL403629",
275
- :group => "DSC03102",
276
- :amd => {
277
- :tech => {
278
- "objectCharacteristics" => [
279
- {
280
- "objectType" => "FILE",
281
- "creationDate" => "2015-10-31 11:24:55",
282
- "createdBy" => "testadmin",
283
- "owner" => "CRS00.TESTINS.TESTDEP",
284
- "groupID" => "DSC03102"
285
- }
286
- ],
287
- "internalIdentifier" => [
288
- {
289
- "internalIdentifierType" => "PID",
290
- "internalIdentifierValue" => "FL403629"
291
- }
292
- ],
293
- }
294
- }
295
- },
296
- "Strand Ristinge" => {
297
- :id => "FL403630",
298
- :amd => {
299
- :tech => {
300
- "objectCharacteristics" => [
301
- {
302
- "objectType" => "FILE",
303
- "creationDate" => "2015-10-31 11:24:55",
304
- "createdBy" => "testadmin",
305
- "owner" => "CRS00.TESTINS.TESTDEP"
306
- }
307
- ],
308
- "internalIdentifier" => [
309
- {
310
- "internalIdentifierType" => "PID",
311
- "internalIdentifierValue" => "FL403630"
312
- }
313
- ],
314
- }
315
- }
316
- },
317
- "Nachtzicht strand Ærøskøbing" => {
318
- :id => "FL403631",
319
- :amd => {
320
- :tech => {
321
- "objectCharacteristics" => [
322
- {
323
- "objectType" => "FILE",
324
- "creationDate" => "2015-10-31 11:24:55",
325
- "createdBy" => "testadmin",
326
- "owner" => "CRS00.TESTINS.TESTDEP"
327
- }
328
- ],
329
- "internalIdentifier" => [
330
- {
331
- "internalIdentifierType" => "PID",
332
- "internalIdentifierValue" => "FL403631"
333
- }
334
- ],
335
- }
336
- }
337
- },
338
- "Strandvej schiereiland Ærøskøbing" => {
339
- :id => "FL403632",
340
- :amd => {
341
- :tech => {
342
- "objectCharacteristics" => [
343
- {
344
- "objectType" => "FILE",
345
- "creationDate" => "2015-10-31 11:24:55",
346
- "createdBy" => "testadmin",
347
- "owner" => "CRS00.TESTINS.TESTDEP"
348
- }
349
- ],
350
- "internalIdentifier" => [
351
- {
352
- "internalIdentifierType" => "PID",
353
- "internalIdentifierValue" => "FL403632"
354
- }
355
- ],
356
- }
357
- }
358
- },
359
- "Skjoldnæs Fyr - Søby" => {
360
- :id => "FL403633",
361
- :amd => {
362
- :tech => {
363
- "objectCharacteristics" => [
364
- {
365
- "objectType" => "FILE",
366
- "creationDate" => "2015-10-31 11:24:55",
367
- "createdBy" => "testadmin",
368
- "owner" => "CRS00.TESTINS.TESTDEP"
369
- }
370
- ],
371
- "internalIdentifier" => [
372
- {
373
- "internalIdentifierType" => "PID",
374
- "internalIdentifierValue" => "FL403633"
375
- }
376
- ],
377
- }
378
- }
379
- },
380
- "Ingang Legoland Billund" => {
381
- :id => "FL403634",
382
- :amd => {
383
- :tech => {
384
- "objectCharacteristics" => [
385
- {
386
- "objectType" => "FILE",
387
- "creationDate" => "2015-10-31 11:24:55",
388
- "createdBy" => "testadmin",
389
- "owner" => "CRS00.TESTINS.TESTDEP"
390
- }
391
- ],
392
- "internalIdentifier" => [
393
- {
394
- "internalIdentifierType" => "PID",
395
- "internalIdentifierValue" => "FL403634"
396
- }
397
- ],
398
- }
399
- }
400
- }
401
- }
402
- },
403
76
  "Preservation Master" => {
404
77
  :id => "REP403596",
405
78
  :amd => {
@@ -542,7 +215,6 @@ def expected_mets
542
215
  }
543
216
  },
544
217
  :dmd => {
545
- "text" => "\n ",
546
218
  "spatial" => "Sinebjerg",
547
219
  "coverage" => "Denemarken 2015",
548
220
  "subject" => "Jitse"