libis-services 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/lib/libis/services/alma/web_service.rb +36 -0
- data/lib/libis/services/rosetta/client.rb +7 -6
- data/lib/libis/services/rosetta/collection_handler.rb +1 -1
- data/lib/libis/services/rosetta/collection_info.rb +38 -29
- data/lib/libis/services/rosetta/oai_pmh.rb +48 -0
- data/lib/libis/services/rosetta/oai_set.rb +21 -0
- data/lib/libis/services/rosetta/service.rb +10 -6
- data/lib/libis/services/rosetta/sip_handler.rb +2 -1
- data/lib/libis/services/rosetta.rb +2 -1
- data/lib/libis/services/service_error.rb +16 -0
- data/lib/libis/services/version.rb +1 -1
- data/lib/libis/services.rb +1 -0
- data/libis-services.gemspec +1 -0
- data/spec/alma_service_spec.rb +104 -0
- data/spec/ie_data.rb +726 -0
- data/spec/primo_limo_spec.rb +327 -358
- data/spec/primo_search_spec.rb +1 -1
- data/spec/rosetta_collection_spec.rb +3 -3
- data/spec/rosetta_ie_spec.rb +3 -294
- data/spec/rosetta_oai_spec.rb +52 -0
- data/spec/rosetta_sip_spec.rb +2 -2
- data/spec/spec_helper.rb +16 -0
- metadata +26 -2
data/spec/primo_search_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe 'Primo search service' do
|
|
11
11
|
it 'default return result' do
|
12
12
|
result = subject.query 'foo'
|
13
13
|
expect(result.keys).to eq [:count, :from, :to, :step, :data]
|
14
|
-
expect(result[:data].size).to eq [result[:count], result[:step]].min
|
14
|
+
expect(result[:data].size).to eq [result[:count], result[:step] - 1].min
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -89,8 +89,8 @@ describe 'Rosetta Collection Service' do
|
|
89
89
|
},
|
90
90
|
md_source: [],
|
91
91
|
navigate: true,
|
92
|
-
publish:
|
93
|
-
external_id: '
|
92
|
+
publish: true,
|
93
|
+
external_id: '5555',
|
94
94
|
external_system: 'CollectiveAccess'
|
95
95
|
} }
|
96
96
|
|
@@ -151,7 +151,7 @@ describe 'Rosetta Collection Service' do
|
|
151
151
|
|
152
152
|
|
153
153
|
it 'create new collection' do
|
154
|
-
|
154
|
+
new_collection_id = collection_service.create(collection_data)
|
155
155
|
expect(new_collection_id).not_to be_nil
|
156
156
|
expect(new_collection_id).to be_a String
|
157
157
|
expect(new_collection_id).to eq new_collection.id
|
data/spec/rosetta_ie_spec.rb
CHANGED
@@ -8,6 +8,7 @@ require 'libis/tools/config_file'
|
|
8
8
|
require 'libis/services/rosetta/pds_handler'
|
9
9
|
require 'libis/services/rosetta/ie_handler'
|
10
10
|
|
11
|
+
require_relative 'ie_data'
|
11
12
|
describe 'Rosetta IE Service' do
|
12
13
|
|
13
14
|
let(:credentials) { Libis::Tools::ConfigFile.new File.join(File.dirname(__FILE__), 'credentials-test.yml') }
|
@@ -36,310 +37,18 @@ describe 'Rosetta IE Service' do
|
|
36
37
|
ie_handler.pds_handle = handle
|
37
38
|
end
|
38
39
|
|
39
|
-
let(:expected_mets) {
|
40
|
-
{
|
41
|
-
amd: {
|
42
|
-
tech: {
|
43
|
-
'internalIdentifier' => [
|
44
|
-
{'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'},
|
45
|
-
{'internalIdentifierType' => 'PID', 'internalIdentifierValue' => 'IE403595'},
|
46
|
-
{'internalIdentifierType' => 'DepositSetID', 'internalIdentifierValue' => '55662'}],
|
47
|
-
'objectCharacteristics' => [
|
48
|
-
{'objectType' => 'INTELLECTUAL_ENTITY',
|
49
|
-
'creationDate' => '2015-10-13 14:41:56',
|
50
|
-
'createdBy' => 'testadmin',
|
51
|
-
'modificationDate' => '2015-10-13 14:46:23',
|
52
|
-
'modifiedBy' => 'testadmin',
|
53
|
-
'owner' => 'CRS00.TESTINS.TESTDEP'}],
|
54
|
-
'generalIECharacteristics' => [{'status' => 'ACTIVE'}],
|
55
|
-
'retentionPolicy' => [
|
56
|
-
{'policyId' => 'NO_RETENTION',
|
57
|
-
'policyDescription' => 'No Retention Policy'}]
|
58
|
-
},
|
59
|
-
rights: {
|
60
|
-
'accessRightsPolicy' => [
|
61
|
-
{'policyId' => '50740',
|
62
|
-
'policyParameters' => '',
|
63
|
-
'policyDescription' => 'AR_IP_RANGE_KUL'}]
|
64
|
-
},
|
65
|
-
source: {
|
66
|
-
'metaData' => [
|
67
|
-
{'MID' => 'DNX_IE403595',
|
68
|
-
'UUID' => '23107258',
|
69
|
-
'creationDate' => '2015-10-13 14:41:56',
|
70
|
-
'createdBy' => 'testadmin',
|
71
|
-
'modificationDate' => '2015-10-13 14:46:23',
|
72
|
-
'modifiedBy' => 'testadmin',
|
73
|
-
'metadataType' => '21',
|
74
|
-
'description' => '',
|
75
|
-
'externalSystem' => '',
|
76
|
-
'externalRecordId' => '',
|
77
|
-
'application' => 'Test Metadata Profile'}]
|
78
|
-
},
|
79
|
-
digiprov: {
|
80
|
-
'producer' => [
|
81
|
-
{'userName' => '',
|
82
|
-
'address1' => 'Willem de Croylaan 54',
|
83
|
-
'address2' => '',
|
84
|
-
'address3' => 'Heverlee',
|
85
|
-
'address4' => 'Belgium',
|
86
|
-
'address5' => '',
|
87
|
-
'defaultLanguage' => 'en',
|
88
|
-
'emailAddress' => 'lias.test.user@gmail.com',
|
89
|
-
'firstName' => 'Test',
|
90
|
-
'jobTitle' => '',
|
91
|
-
'lastName' => 'Deposit',
|
92
|
-
'middleName' => '',
|
93
|
-
'telephone1' => '0032 16 32 22 66',
|
94
|
-
'telephone2' => '',
|
95
|
-
'authorativeName' => 'test_producer_group',
|
96
|
-
'producerId' => '23106349',
|
97
|
-
'userIdAppId' => '23106348',
|
98
|
-
'webSiteUrl' => '',
|
99
|
-
'zip' => '3001'}],
|
100
|
-
'producerAgent' => [
|
101
|
-
{'firstName' => 'Test', 'lastName' => 'Administrator', 'middleName' => ''}],
|
102
|
-
'event' => [
|
103
|
-
{'eventDateTime' => '2015-10-13 14:46:23',
|
104
|
-
'eventType' => 'PROCESSING',
|
105
|
-
'eventIdentifierType' => 'DPS',
|
106
|
-
'eventIdentifierValue' => '130',
|
107
|
-
'eventOutcome1' => 'SUCCESS',
|
108
|
-
'eventDescription' => "Object's Metadata Record Modified",
|
109
|
-
'linkingAgentIdentifierType1' => 'USER',
|
110
|
-
'linkingAgentIdentifierValue1' => 'testadmin'}]
|
111
|
-
}
|
112
|
-
},
|
113
|
-
dmd: {
|
114
|
-
'text' => "\n ",
|
115
|
-
'title' => 'Nachtzicht strand Ærøskøbing'
|
116
|
-
},
|
117
|
-
'Preservation Master' => {
|
118
|
-
id: 'REP403596',
|
119
|
-
amd: {
|
120
|
-
tech: {
|
121
|
-
'generalRepCharacteristics' => [
|
122
|
-
{'preservationType' => 'PRESERVATION_MASTER',
|
123
|
-
'usageType' => 'VIEW',
|
124
|
-
'RevisionNumber' => '1',
|
125
|
-
'DigitalOriginal' => 'false'}],
|
126
|
-
'internalIdentifier' => [
|
127
|
-
{'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'},
|
128
|
-
{'internalIdentifierType' => 'PID', 'internalIdentifierValue' => 'REP403596'},
|
129
|
-
{'internalIdentifierType' => 'DepositSetID', 'internalIdentifierValue' => '55662'}],
|
130
|
-
'objectCharacteristics' => [
|
131
|
-
{'objectType' => 'REPRESENTATION',
|
132
|
-
'creationDate' => '2015-10-13 14:41:56',
|
133
|
-
'createdBy' => 'testadmin',
|
134
|
-
'modificationDate' => '2015-10-13 14:41:56',
|
135
|
-
'modifiedBy' => 'testadmin',
|
136
|
-
'owner' => 'CRS00.TESTINS.TESTDEP'}]
|
137
|
-
},
|
138
|
-
rights: {},
|
139
|
-
source: {'metaData' =>
|
140
|
-
[
|
141
|
-
{'MID' => 'DNX_REP403596',
|
142
|
-
'UUID' => '23107254',
|
143
|
-
'creationDate' => '2015-10-13 14:41:56',
|
144
|
-
'createdBy' => 'testadmin',
|
145
|
-
'modificationDate' => '2015-10-13 14:41:56',
|
146
|
-
'modifiedBy' => '',
|
147
|
-
'metadataType' => '21',
|
148
|
-
'description' => '',
|
149
|
-
'externalSystem' => '',
|
150
|
-
'externalRecordId' => ''},
|
151
|
-
{'MID' => 'REP403596-1',
|
152
|
-
'UUID' => '23107257',
|
153
|
-
'creationDate' => '2015-10-13 14:41:56',
|
154
|
-
'createdBy' => 'testadmin',
|
155
|
-
'modificationDate' => '2015-10-13 14:41:56',
|
156
|
-
'modifiedBy' => '',
|
157
|
-
'metadataType' => '32',
|
158
|
-
'description' => '',
|
159
|
-
'externalSystem' => '',
|
160
|
-
'externalRecordId' => ''} ]
|
161
|
-
},
|
162
|
-
digiprov: {}
|
163
|
-
},
|
164
|
-
nil => {},
|
165
|
-
'Table of Contents' =>
|
166
|
-
{nil => {},
|
167
|
-
'Nachtzicht strand Ærøskøbing' => {
|
168
|
-
id: 'FL403597',
|
169
|
-
amd: {
|
170
|
-
tech: {
|
171
|
-
'fileFixity' => [
|
172
|
-
{'fixityType' => 'MD5',
|
173
|
-
'fixityValue' => '22d8897eeb3adfa70794fcfac04e8602'}],
|
174
|
-
'objectCharacteristics' => [
|
175
|
-
{'groupID' => '',
|
176
|
-
'objectType' => 'FILE',
|
177
|
-
'creationDate' => '2015-10-13 14:41:56',
|
178
|
-
'createdBy' => 'testadmin',
|
179
|
-
'modificationDate' => '2015-10-13 14:41:56',
|
180
|
-
'modifiedBy' => 'testadmin',
|
181
|
-
'owner' => 'CRS00.TESTINS.TESTDEP'}],
|
182
|
-
'internalIdentifier' => [
|
183
|
-
{'internalIdentifierType' => 'SIPID',
|
184
|
-
'internalIdentifierValue' => '55010'},
|
185
|
-
{'internalIdentifierType' => 'PID',
|
186
|
-
'internalIdentifierValue' => 'FL403597'},
|
187
|
-
{'internalIdentifierType' => 'DepositSetID',
|
188
|
-
'internalIdentifierValue' => '55662'}],
|
189
|
-
'vsOutcome' => [
|
190
|
-
{'checkDate' => 'Tue Oct 13 14:42:02 CEST 2015',
|
191
|
-
'type' => 'FILE_FORMAT',
|
192
|
-
'vsAgent' =>
|
193
|
-
'REG_SA_DROID , Version 6.01 , Signature version Binary SF v.52/ Container SF v.1',
|
194
|
-
'result' => 'PASSED',
|
195
|
-
'resultDetails' => '',
|
196
|
-
'vsEvaluation' => 'PASSED',
|
197
|
-
'vsEvaluationDetails' => ''}],
|
198
|
-
'fileFormat' => [
|
199
|
-
{'agent' => 'REG_SA_DROID',
|
200
|
-
'formatRegistry' => 'PRONOM',
|
201
|
-
'formatRegistryId' => 'fmt/43',
|
202
|
-
'formatRegistryRole' => '',
|
203
|
-
'formatName' => 'fmt/43',
|
204
|
-
'formatVersion' => '1.01',
|
205
|
-
'formatDescription' => 'JPEG File Interchange Format',
|
206
|
-
'formatNote' => '',
|
207
|
-
'exactFormatIdentification' => 'true',
|
208
|
-
'mimeType' => 'image/jpeg',
|
209
|
-
'agentVersion' => '6.01',
|
210
|
-
'agentSignatureVersion' => 'Binary SF v.52/ Container SF v.1',
|
211
|
-
'formatLibraryVersion' => '3.007'}],
|
212
|
-
'generalFileCharacteristics' => [
|
213
|
-
{'label' => 'Nachtzicht strand Ærøskøbing',
|
214
|
-
'note' => '',
|
215
|
-
'fileCreationDate' => '',
|
216
|
-
'fileModificationDate' => '',
|
217
|
-
'FileEntityType' => '',
|
218
|
-
'compositionLevel' => '',
|
219
|
-
'fileLocationType' => 'FILE',
|
220
|
-
'fileLocation' => '',
|
221
|
-
'fileOriginalName' => 'DSC03176.jpg',
|
222
|
-
'fileOriginalPath' => 'DSC03176.jpg',
|
223
|
-
'fileOriginalID' => '/deposit_storage/55001-56000/dep_55662/deposit/content/streams/DSC03176.jpg',
|
224
|
-
'fileExtension' => 'jpg',
|
225
|
-
'fileMIMEType' => 'image/jpeg',
|
226
|
-
'fileSizeBytes' => '7694075',
|
227
|
-
'formatLibraryId' => 'fmt/43',
|
228
|
-
'riskLibraryIdentifiers' => ''}]
|
229
|
-
},
|
230
|
-
rights: {},
|
231
|
-
source: {
|
232
|
-
'metaData' => [
|
233
|
-
{'MID' => 'DNX_FL403597',
|
234
|
-
'UUID' => '23107256',
|
235
|
-
'creationDate' => '2015-10-13 14:41:56',
|
236
|
-
'createdBy' => 'testadmin',
|
237
|
-
'modificationDate' => '2015-10-13 14:41:56',
|
238
|
-
'modifiedBy' => '',
|
239
|
-
'metadataType' => '21',
|
240
|
-
'description' => '',
|
241
|
-
'externalSystem' => '',
|
242
|
-
'externalRecordId' => ''}]
|
243
|
-
},
|
244
|
-
digiprov: {
|
245
|
-
'event' => [
|
246
|
-
{'eventDateTime' => '2015-10-13 14:42:01',
|
247
|
-
'eventType' => 'VALIDATION',
|
248
|
-
'eventIdentifierType' => 'DPS',
|
249
|
-
'eventIdentifierValue' => '25',
|
250
|
-
'eventOutcome1' => 'SUCCESS',
|
251
|
-
'eventOutcomeDetail1' => 'PROCESS_ID=;PID=FL403597;FILE_EXTENSION=jpg;SIP_ID=55010;DEPOSIT_ACTIVITY_ID=55662;MF_ID=23106594;TASK_ID=48;IDENTIFICATION_METHOD=SIGNATURE;PRODUCER_ID=23106349;FORMAT_ID=fmt/43;',
|
252
|
-
'eventDescription' => 'Format Identification performed on file',
|
253
|
-
'linkingAgentIdentifierType1' => 'SOFTWARE',
|
254
|
-
'linkingAgentIdentifierValue1' => 'REG_SA_DROID , Version 6.01 , Signature version Binary SF v.52/ Container SF v.1'}]
|
255
|
-
}
|
256
|
-
}
|
257
|
-
}
|
258
|
-
}
|
259
|
-
}
|
260
|
-
}
|
261
|
-
}
|
262
|
-
|
263
|
-
let(:expected_ies) {
|
264
|
-
{amd: {
|
265
|
-
tech: {'internalIdentifier' =>
|
266
|
-
[{'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'},
|
267
|
-
{'internalIdentifierType' => 'PID',
|
268
|
-
'internalIdentifierValue' => 'IE403595'},
|
269
|
-
{'internalIdentifierType' => 'DepositSetID',
|
270
|
-
'internalIdentifierValue' => '55662'}],
|
271
|
-
'objectCharacteristics' =>
|
272
|
-
[{'objectType' => 'INTELLECTUAL_ENTITY',
|
273
|
-
'creationDate' => '2015-10-13 14:41:56',
|
274
|
-
'createdBy' => 'testadmin',
|
275
|
-
'modificationDate' => '2015-10-13 14:46:23',
|
276
|
-
'modifiedBy' => 'testadmin',
|
277
|
-
'owner' => 'CRS00.TESTINS.TESTDEP'}],
|
278
|
-
'generalIECharacteristics' => [{'status' => 'ACTIVE'}],
|
279
|
-
'retentionPolicy' =>
|
280
|
-
[{'policyId' => 'NO_RETENTION',
|
281
|
-
'policyDescription' => 'No Retention Policy'}]},
|
282
|
-
rights: {'accessRightsPolicy' =>
|
283
|
-
[{'policyId' => '50740',
|
284
|
-
'policyParameters' => '',
|
285
|
-
'policyDescription' => 'AR_IP_RANGE_KUL'}]},
|
286
|
-
source: {'metaData' =>
|
287
|
-
[{'MID' => 'DNX_IE403595',
|
288
|
-
'UUID' => '23107258',
|
289
|
-
'creationDate' => '2015-10-13 14:41:56',
|
290
|
-
'createdBy' => 'testadmin',
|
291
|
-
'modificationDate' => '2015-10-13 14:46:23',
|
292
|
-
'modifiedBy' => 'testadmin',
|
293
|
-
'metadataType' => '21',
|
294
|
-
'description' => '',
|
295
|
-
'externalSystem' => '',
|
296
|
-
'externalRecordId' => '',
|
297
|
-
'application' => 'Test Metadata Profile'}]},
|
298
|
-
digiprov: {'producer' =>
|
299
|
-
[{'userName' => '',
|
300
|
-
'address1' => 'Willem de Croylaan 54',
|
301
|
-
'address2' => '',
|
302
|
-
'address3' => 'Heverlee',
|
303
|
-
'address4' => 'Belgium',
|
304
|
-
'address5' => '',
|
305
|
-
'defaultLanguage' => 'en',
|
306
|
-
'emailAddress' => 'lias.test.user@gmail.com',
|
307
|
-
'firstName' => 'Test',
|
308
|
-
'jobTitle' => '',
|
309
|
-
'lastName' => 'Deposit',
|
310
|
-
'middleName' => '',
|
311
|
-
'telephone1' => '0032 16 32 22 66',
|
312
|
-
'telephone2' => '',
|
313
|
-
'authorativeName' => 'test_producer_group',
|
314
|
-
'producerId' => '23106349',
|
315
|
-
'userIdAppId' => '23106348',
|
316
|
-
'webSiteUrl' => '',
|
317
|
-
'zip' => '3001'}],
|
318
|
-
'producerAgent' =>
|
319
|
-
[{'firstName' => 'Test', 'lastName' => 'Administrator', 'middleName' => ''}],
|
320
|
-
'event' =>
|
321
|
-
[{'eventDateTime' => '2015-10-13 14:46:23',
|
322
|
-
'eventType' => 'PROCESSING',
|
323
|
-
'eventIdentifierType' => 'DPS',
|
324
|
-
'eventIdentifierValue' => '130',
|
325
|
-
'eventOutcome1' => 'SUCCESS',
|
326
|
-
'eventDescription' => "Object's Metadata Record Modified",
|
327
|
-
'linkingAgentIdentifierType1' => 'USER',
|
328
|
-
'linkingAgentIdentifierValue1' => 'testadmin'}]}},
|
329
|
-
dmd: {'text' => "\n ", 'title' => 'Nachtzicht strand Ærøskøbing'}} }
|
330
|
-
|
331
40
|
it 'should get IE info' do
|
332
41
|
|
333
42
|
mets = ie_handler.get_mets('IE403595')
|
334
43
|
expect(mets).not_to be_nil
|
335
|
-
|
44
|
+
check_container expected_mets, mets
|
336
45
|
end
|
337
46
|
|
338
47
|
it 'should get IE metadata' do
|
339
48
|
|
340
49
|
metadata = ie_handler.get_metadata('IE403595')
|
341
50
|
expect(metadata).not_to be_nil
|
342
|
-
|
51
|
+
check_container(expected_ies, metadata)
|
343
52
|
end
|
344
53
|
|
345
54
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require_relative 'spec_helper'
|
3
|
+
|
4
|
+
require 'libis/tools/config_file'
|
5
|
+
require 'libis/services/rosetta/oai_pmh'
|
6
|
+
|
7
|
+
describe 'Rosetta OAI-PMH Service' do
|
8
|
+
|
9
|
+
let(:credentials) { Libis::Tools::ConfigFile.new File.join(File.dirname(__FILE__), 'credentials-test.yml'), debug: true }
|
10
|
+
|
11
|
+
subject(:oai_handler) do
|
12
|
+
# noinspection RubyResolve
|
13
|
+
Libis::Services::Rosetta::OaiPmh.new credentials.rosetta_url
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:expected_sets) {
|
17
|
+
{name:'TESTINS-collections', spec: 'TESTINS-collections'}
|
18
|
+
}
|
19
|
+
|
20
|
+
let(:expected_collections) {
|
21
|
+
[
|
22
|
+
'My pictures',
|
23
|
+
'Test Collection',
|
24
|
+
]
|
25
|
+
}
|
26
|
+
|
27
|
+
let(:expected_records) {
|
28
|
+
[
|
29
|
+
{
|
30
|
+
id: 'oai:d4I1-pubam:IE403595',
|
31
|
+
}
|
32
|
+
]
|
33
|
+
}
|
34
|
+
|
35
|
+
it 'should get set list' do
|
36
|
+
sets = oai_handler.sets
|
37
|
+
expect(sets).to include(expected_sets)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should get list of collections' do
|
41
|
+
status = {}
|
42
|
+
collections = oai_handler.collections('TESTINS', status)
|
43
|
+
check_container expected_collections, collections
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should get list of records' do
|
47
|
+
status = {}
|
48
|
+
records = oai_handler.records('test_data', status)
|
49
|
+
check_container(expected_records, records)
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
data/spec/rosetta_sip_spec.rb
CHANGED
@@ -20,7 +20,7 @@ describe 'Rosetta SIP Service' do
|
|
20
20
|
{ module: 'PER', stage: 'Finished', status: 'FINISHED' }
|
21
21
|
}
|
22
22
|
|
23
|
-
let(:expected_ies) { ['IE403595'] }
|
23
|
+
let(:expected_ies) { [{pid: 'IE403595'}] }
|
24
24
|
|
25
25
|
it 'should get SIP info' do
|
26
26
|
|
@@ -33,7 +33,7 @@ describe 'Rosetta SIP Service' do
|
|
33
33
|
|
34
34
|
ies = sip_handler.get_ies(55010)
|
35
35
|
expect(ies).not_to be_nil
|
36
|
-
expect(ies).to match_array expected_ies
|
36
|
+
expect(ies.map(&:to_h)).to match_array expected_ies
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -10,3 +10,19 @@ Bundler.setup
|
|
10
10
|
require 'rspec'
|
11
11
|
require 'libis-services'
|
12
12
|
|
13
|
+
def check_container(expected, result)
|
14
|
+
case expected
|
15
|
+
when Array
|
16
|
+
expect(result).to be_a Array
|
17
|
+
expected.each_with_index { |value, i| check_container(value, result[i]) }
|
18
|
+
when Hash
|
19
|
+
expect(result).to be_a Hash
|
20
|
+
expected.each_key do |key|
|
21
|
+
expect(result[key]).not_to be_nil
|
22
|
+
check_container(expected[key], result[key])
|
23
|
+
end
|
24
|
+
else
|
25
|
+
expect(result).to eq expected
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libis-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kris Dekeyser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '1.8'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: oai
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.4'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.4'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: virtus
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,6 +235,7 @@ files:
|
|
221
235
|
- lib/libis-services.rb
|
222
236
|
- lib/libis/services.rb
|
223
237
|
- lib/libis/services/aleph/search.rb
|
238
|
+
- lib/libis/services/alma/web_service.rb
|
224
239
|
- lib/libis/services/collective_access.rb
|
225
240
|
- lib/libis/services/collective_access/cataloguing.rb
|
226
241
|
- lib/libis/services/collective_access/connector.rb
|
@@ -246,6 +261,8 @@ files:
|
|
246
261
|
- lib/libis/services/rosetta/deposit_handler.rb
|
247
262
|
- lib/libis/services/rosetta/ie.rb
|
248
263
|
- lib/libis/services/rosetta/ie_handler.rb
|
264
|
+
- lib/libis/services/rosetta/oai_pmh.rb
|
265
|
+
- lib/libis/services/rosetta/oai_set.rb
|
249
266
|
- lib/libis/services/rosetta/pds_handler.rb
|
250
267
|
- lib/libis/services/rosetta/producer.rb
|
251
268
|
- lib/libis/services/rosetta/producer_handler.rb
|
@@ -256,17 +273,21 @@ files:
|
|
256
273
|
- lib/libis/services/rosetta/user_manager.rb
|
257
274
|
- lib/libis/services/scope/search.rb
|
258
275
|
- lib/libis/services/search_factory.rb
|
276
|
+
- lib/libis/services/service_error.rb
|
259
277
|
- lib/libis/services/sharepoint/connector.rb
|
260
278
|
- lib/libis/services/sharepoint/search.rb
|
261
279
|
- lib/libis/services/soap_client.rb
|
262
280
|
- lib/libis/services/soap_error.rb
|
263
281
|
- lib/libis/services/version.rb
|
264
282
|
- libis-services.gemspec
|
283
|
+
- spec/alma_service_spec.rb
|
284
|
+
- spec/ie_data.rb
|
265
285
|
- spec/primo_limo_spec.rb
|
266
286
|
- spec/primo_search_spec.rb
|
267
287
|
- spec/rosetta_collection_spec.rb
|
268
288
|
- spec/rosetta_deposit_spec.rb
|
269
289
|
- spec/rosetta_ie_spec.rb
|
290
|
+
- spec/rosetta_oai_spec.rb
|
270
291
|
- spec/rosetta_pds_spec.rb
|
271
292
|
- spec/rosetta_producer_spec.rb
|
272
293
|
- spec/rosetta_sip_spec.rb
|
@@ -296,11 +317,14 @@ signing_key:
|
|
296
317
|
specification_version: 4
|
297
318
|
summary: LIBIS Services toolbox.
|
298
319
|
test_files:
|
320
|
+
- spec/alma_service_spec.rb
|
321
|
+
- spec/ie_data.rb
|
299
322
|
- spec/primo_limo_spec.rb
|
300
323
|
- spec/primo_search_spec.rb
|
301
324
|
- spec/rosetta_collection_spec.rb
|
302
325
|
- spec/rosetta_deposit_spec.rb
|
303
326
|
- spec/rosetta_ie_spec.rb
|
327
|
+
- spec/rosetta_oai_spec.rb
|
304
328
|
- spec/rosetta_pds_spec.rb
|
305
329
|
- spec/rosetta_producer_spec.rb
|
306
330
|
- spec/rosetta_sip_spec.rb
|