hydra-derivatives 3.4.1 → 3.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +59 -0
- data/.solr_wrapper +2 -0
- data/CODE_OF_CONDUCT.md +36 -0
- data/CONTRIBUTING.md +23 -21
- data/Gemfile +3 -1
- data/README.md +79 -6
- data/Rakefile +13 -1
- data/SUPPORT.md +5 -0
- data/VERSION +1 -1
- data/config/fcrepo_wrapper_test.yml +2 -2
- data/config/solr_wrapper_test.yml +2 -0
- data/hydra-derivatives.gemspec +12 -8
- data/lib/hydra/derivatives/config.rb +1 -1
- data/lib/hydra/derivatives/logger.rb +2 -2
- data/lib/hydra/derivatives/processors/document.rb +4 -1
- data/lib/hydra/derivatives/processors/full_text.rb +16 -7
- data/lib/hydra/derivatives/processors/image.rb +4 -2
- data/lib/hydra/derivatives/processors/jpeg2k_image.rb +2 -8
- data/lib/hydra/derivatives/processors/processor.rb +0 -7
- data/lib/hydra/derivatives/processors/shell_based_processor.rb +5 -3
- data/lib/hydra/derivatives/services/persist_output_file_service.rb +1 -1
- data/solr/config/schema.xml +0 -2
- data/solr/config/xslt/example.xsl +1 -1
- data/solr/config/xslt/luke.xsl +1 -1
- metadata +155 -93
- data/.travis.yml +0 -38
- data/spec/fixtures/FlashPix.ppt +0 -0
- data/spec/fixtures/adobe1998.tif +0 -0
- data/spec/fixtures/countdown.avi +0 -0
- data/spec/fixtures/jpeg2k_config.yml +0 -20
- data/spec/fixtures/piano_note.wav +0 -0
- data/spec/fixtures/sample.rtf +0 -68
- data/spec/fixtures/test.dng +0 -0
- data/spec/fixtures/test.doc +0 -0
- data/spec/fixtures/test.docx +0 -0
- data/spec/fixtures/test.pdf +0 -0
- data/spec/fixtures/test.pptx +0 -0
- data/spec/fixtures/test.tif +0 -0
- data/spec/fixtures/test.xls +0 -0
- data/spec/fixtures/test.xlsx +0 -0
- data/spec/fixtures/world.png +0 -0
- data/spec/processors/active_encode_spec.rb +0 -132
- data/spec/processors/document_spec.rb +0 -41
- data/spec/processors/full_text_spec.rb +0 -90
- data/spec/processors/image_spec.rb +0 -124
- data/spec/processors/jpeg2k_spec.rb +0 -82
- data/spec/processors/processor_spec.rb +0 -35
- data/spec/processors/shell_based_processor_spec.rb +0 -19
- data/spec/processors/video_spec.rb +0 -42
- data/spec/runners/active_encode_derivatives_spec.rb +0 -38
- data/spec/services/audio_derivatives_spec.rb +0 -78
- data/spec/services/persist_basic_contained_output_file_service_spec.rb +0 -42
- data/spec/services/persist_external_file_output_file_service_spec.rb +0 -26
- data/spec/services/remote_source_file_spec.rb +0 -33
- data/spec/services/retrieve_source_file_service_spec.rb +0 -60
- data/spec/services/tempfile_service_spec.rb +0 -31
- data/spec/spec_helper.rb +0 -33
- data/spec/units/audio_encoder_spec.rb +0 -23
- data/spec/units/config_spec.rb +0 -50
- data/spec/units/derivatives_spec.rb +0 -64
- data/spec/units/io_decorator_spec.rb +0 -45
- data/spec/units/logger_spec.rb +0 -22
- data/spec/units/transcoding_spec.rb +0 -354
data/solr/config/xslt/luke.xsl
CHANGED
@@ -326,7 +326,7 @@
|
|
326
326
|
<style type="text/css">
|
327
327
|
<![CDATA[
|
328
328
|
td.name {font-style: italic; font-size:80%; }
|
329
|
-
.doc { margin: 0.5em; border: solid
|
329
|
+
.doc { margin: 0.5em; border: solid gray 1px; }
|
330
330
|
.exp { display: none; font-family: monospace; white-space: pre; }
|
331
331
|
div.histogram { background: none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;}
|
332
332
|
table.histogram { width: auto; vertical-align: bottom; }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-derivatives
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fcrepo_wrapper
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,40 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry-byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.1'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '7.0'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '5.1'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '7.0'
|
41
75
|
- !ruby/object:Gem::Dependency
|
42
76
|
name: rake
|
43
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,34 +106,118 @@ dependencies:
|
|
72
106
|
requirements:
|
73
107
|
- - "~>"
|
74
108
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
109
|
+
version: '2.0'
|
76
110
|
type: :development
|
77
111
|
prerelease: false
|
78
112
|
version_requirements: !ruby/object:Gem::Requirement
|
79
113
|
requirements:
|
80
114
|
- - "~>"
|
81
115
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0
|
116
|
+
version: '2.0'
|
83
117
|
- !ruby/object:Gem::Dependency
|
84
118
|
name: active-fedora
|
85
119
|
requirement: !ruby/object:Gem::Requirement
|
86
120
|
requirements:
|
87
121
|
- - ">="
|
88
122
|
- !ruby/object:Gem::Version
|
89
|
-
version: 11.
|
90
|
-
- - "
|
123
|
+
version: 11.5.6
|
124
|
+
- - "!="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 12.0.0
|
127
|
+
- - "!="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 12.0.1
|
130
|
+
- - "!="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 12.0.2
|
133
|
+
- - "!="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 12.0.3
|
136
|
+
- - "!="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 12.1.0
|
139
|
+
- - "!="
|
91
140
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
141
|
+
version: 12.1.1
|
142
|
+
- - "!="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 12.2.0
|
145
|
+
- - "!="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 12.2.1
|
148
|
+
- - "!="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 13.0.0
|
151
|
+
- - "!="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 13.1.0
|
154
|
+
- - "!="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: 13.1.1
|
157
|
+
- - "!="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 13.1.2
|
160
|
+
- - "!="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 13.1.3
|
163
|
+
- - "!="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 13.2.0
|
166
|
+
- - "!="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 13.2.1
|
93
169
|
type: :runtime
|
94
170
|
prerelease: false
|
95
171
|
version_requirements: !ruby/object:Gem::Requirement
|
96
172
|
requirements:
|
97
173
|
- - ">="
|
98
174
|
- !ruby/object:Gem::Version
|
99
|
-
version: 11.
|
100
|
-
- - "
|
175
|
+
version: 11.5.6
|
176
|
+
- - "!="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: 12.0.0
|
179
|
+
- - "!="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: 12.0.1
|
182
|
+
- - "!="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: 12.0.2
|
185
|
+
- - "!="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 12.0.3
|
188
|
+
- - "!="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 12.1.0
|
191
|
+
- - "!="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 12.1.1
|
194
|
+
- - "!="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: 12.2.0
|
197
|
+
- - "!="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: 12.2.1
|
200
|
+
- - "!="
|
101
201
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
202
|
+
version: 13.0.0
|
203
|
+
- - "!="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: 13.1.0
|
206
|
+
- - "!="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 13.1.1
|
209
|
+
- - "!="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: 13.1.2
|
212
|
+
- - "!="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 13.1.3
|
215
|
+
- - "!="
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: 13.2.0
|
218
|
+
- - "!="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 13.2.1
|
103
221
|
- !ruby/object:Gem::Dependency
|
104
222
|
name: active_encode
|
105
223
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +232,20 @@ dependencies:
|
|
114
232
|
- - "~>"
|
115
233
|
- !ruby/object:Gem::Version
|
116
234
|
version: '0.1'
|
235
|
+
- !ruby/object:Gem::Dependency
|
236
|
+
name: activemodel
|
237
|
+
requirement: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - "<"
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '6.1'
|
242
|
+
type: :runtime
|
243
|
+
prerelease: false
|
244
|
+
version_requirements: !ruby/object:Gem::Requirement
|
245
|
+
requirements:
|
246
|
+
- - "<"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '6.1'
|
117
249
|
- !ruby/object:Gem::Dependency
|
118
250
|
name: activesupport
|
119
251
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +255,7 @@ dependencies:
|
|
123
255
|
version: '4.0'
|
124
256
|
- - "<"
|
125
257
|
- !ruby/object:Gem::Version
|
126
|
-
version: '
|
258
|
+
version: '7'
|
127
259
|
type: :runtime
|
128
260
|
prerelease: false
|
129
261
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -133,7 +265,7 @@ dependencies:
|
|
133
265
|
version: '4.0'
|
134
266
|
- - "<"
|
135
267
|
- !ruby/object:Gem::Version
|
136
|
-
version: '
|
268
|
+
version: '7'
|
137
269
|
- !ruby/object:Gem::Dependency
|
138
270
|
name: addressable
|
139
271
|
requirement: !ruby/object:Gem::Requirement
|
@@ -204,26 +336,31 @@ dependencies:
|
|
204
336
|
version: '5'
|
205
337
|
description: Derivative generation plugin for hydra
|
206
338
|
email:
|
207
|
-
-
|
339
|
+
- jenlindner@gmail.com
|
340
|
+
- jcoyne85@stanford.edu
|
208
341
|
executables: []
|
209
342
|
extensions: []
|
210
343
|
extra_rdoc_files: []
|
211
344
|
files:
|
345
|
+
- ".circleci/config.yml"
|
212
346
|
- ".gitignore"
|
213
347
|
- ".rspec"
|
214
348
|
- ".rubocop.yml"
|
215
349
|
- ".rubocop_todo.yml"
|
216
|
-
- ".
|
350
|
+
- ".solr_wrapper"
|
351
|
+
- CODE_OF_CONDUCT.md
|
217
352
|
- CONTRIBUTING.md
|
218
353
|
- Gemfile
|
219
354
|
- History.md
|
220
355
|
- LICENSE.txt
|
221
356
|
- README.md
|
222
357
|
- Rakefile
|
358
|
+
- SUPPORT.md
|
223
359
|
- TODO
|
224
360
|
- VERSION
|
225
361
|
- config/fcrepo_wrapper_test.yml
|
226
362
|
- config/jetty.yml
|
363
|
+
- config/solr_wrapper_test.yml
|
227
364
|
- doc/amazon_elastic_transcoder.md
|
228
365
|
- hydra-derivatives.gemspec
|
229
366
|
- lib/color_profiles/license.txt
|
@@ -280,43 +417,6 @@ files:
|
|
280
417
|
- solr/config/xslt/example_atom.xsl
|
281
418
|
- solr/config/xslt/example_rss.xsl
|
282
419
|
- solr/config/xslt/luke.xsl
|
283
|
-
- spec/fixtures/FlashPix.ppt
|
284
|
-
- spec/fixtures/adobe1998.tif
|
285
|
-
- spec/fixtures/countdown.avi
|
286
|
-
- spec/fixtures/jpeg2k_config.yml
|
287
|
-
- spec/fixtures/piano_note.wav
|
288
|
-
- spec/fixtures/sample.rtf
|
289
|
-
- spec/fixtures/test.dng
|
290
|
-
- spec/fixtures/test.doc
|
291
|
-
- spec/fixtures/test.docx
|
292
|
-
- spec/fixtures/test.pdf
|
293
|
-
- spec/fixtures/test.pptx
|
294
|
-
- spec/fixtures/test.tif
|
295
|
-
- spec/fixtures/test.xls
|
296
|
-
- spec/fixtures/test.xlsx
|
297
|
-
- spec/fixtures/world.png
|
298
|
-
- spec/processors/active_encode_spec.rb
|
299
|
-
- spec/processors/document_spec.rb
|
300
|
-
- spec/processors/full_text_spec.rb
|
301
|
-
- spec/processors/image_spec.rb
|
302
|
-
- spec/processors/jpeg2k_spec.rb
|
303
|
-
- spec/processors/processor_spec.rb
|
304
|
-
- spec/processors/shell_based_processor_spec.rb
|
305
|
-
- spec/processors/video_spec.rb
|
306
|
-
- spec/runners/active_encode_derivatives_spec.rb
|
307
|
-
- spec/services/audio_derivatives_spec.rb
|
308
|
-
- spec/services/persist_basic_contained_output_file_service_spec.rb
|
309
|
-
- spec/services/persist_external_file_output_file_service_spec.rb
|
310
|
-
- spec/services/remote_source_file_spec.rb
|
311
|
-
- spec/services/retrieve_source_file_service_spec.rb
|
312
|
-
- spec/services/tempfile_service_spec.rb
|
313
|
-
- spec/spec_helper.rb
|
314
|
-
- spec/units/audio_encoder_spec.rb
|
315
|
-
- spec/units/config_spec.rb
|
316
|
-
- spec/units/derivatives_spec.rb
|
317
|
-
- spec/units/io_decorator_spec.rb
|
318
|
-
- spec/units/logger_spec.rb
|
319
|
-
- spec/units/transcoding_spec.rb
|
320
420
|
homepage: https://github.com/projecthydra/hydra-derivatives
|
321
421
|
licenses:
|
322
422
|
- APACHE2
|
@@ -336,46 +436,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
336
436
|
- !ruby/object:Gem::Version
|
337
437
|
version: '0'
|
338
438
|
requirements: []
|
339
|
-
|
340
|
-
rubygems_version: 2.5.2
|
439
|
+
rubygems_version: 3.1.6
|
341
440
|
signing_key:
|
342
441
|
specification_version: 4
|
343
442
|
summary: Derivative generation plugin for hydra
|
344
|
-
test_files:
|
345
|
-
- spec/fixtures/FlashPix.ppt
|
346
|
-
- spec/fixtures/adobe1998.tif
|
347
|
-
- spec/fixtures/countdown.avi
|
348
|
-
- spec/fixtures/jpeg2k_config.yml
|
349
|
-
- spec/fixtures/piano_note.wav
|
350
|
-
- spec/fixtures/sample.rtf
|
351
|
-
- spec/fixtures/test.dng
|
352
|
-
- spec/fixtures/test.doc
|
353
|
-
- spec/fixtures/test.docx
|
354
|
-
- spec/fixtures/test.pdf
|
355
|
-
- spec/fixtures/test.pptx
|
356
|
-
- spec/fixtures/test.tif
|
357
|
-
- spec/fixtures/test.xls
|
358
|
-
- spec/fixtures/test.xlsx
|
359
|
-
- spec/fixtures/world.png
|
360
|
-
- spec/processors/active_encode_spec.rb
|
361
|
-
- spec/processors/document_spec.rb
|
362
|
-
- spec/processors/full_text_spec.rb
|
363
|
-
- spec/processors/image_spec.rb
|
364
|
-
- spec/processors/jpeg2k_spec.rb
|
365
|
-
- spec/processors/processor_spec.rb
|
366
|
-
- spec/processors/shell_based_processor_spec.rb
|
367
|
-
- spec/processors/video_spec.rb
|
368
|
-
- spec/runners/active_encode_derivatives_spec.rb
|
369
|
-
- spec/services/audio_derivatives_spec.rb
|
370
|
-
- spec/services/persist_basic_contained_output_file_service_spec.rb
|
371
|
-
- spec/services/persist_external_file_output_file_service_spec.rb
|
372
|
-
- spec/services/remote_source_file_spec.rb
|
373
|
-
- spec/services/retrieve_source_file_service_spec.rb
|
374
|
-
- spec/services/tempfile_service_spec.rb
|
375
|
-
- spec/spec_helper.rb
|
376
|
-
- spec/units/audio_encoder_spec.rb
|
377
|
-
- spec/units/config_spec.rb
|
378
|
-
- spec/units/derivatives_spec.rb
|
379
|
-
- spec/units/io_decorator_spec.rb
|
380
|
-
- spec/units/logger_spec.rb
|
381
|
-
- spec/units/transcoding_spec.rb
|
443
|
+
test_files: []
|
data/.travis.yml
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
sudo: false
|
4
|
-
before_install:
|
5
|
-
- gem update --system
|
6
|
-
- gem install bundler
|
7
|
-
rvm:
|
8
|
-
- 2.2.5
|
9
|
-
- 2.3.4
|
10
|
-
- 2.4.1
|
11
|
-
env:
|
12
|
-
global:
|
13
|
-
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
14
|
-
jdk:
|
15
|
-
- oraclejdk8
|
16
|
-
notifications:
|
17
|
-
email:
|
18
|
-
recipients:
|
19
|
-
- "ul-dlt-applications@lists.psu.edu"
|
20
|
-
on_success: "change"
|
21
|
-
on_failure: "always"
|
22
|
-
irc:
|
23
|
-
channels:
|
24
|
-
- "irc.freenode.org#scholarsphere"
|
25
|
-
template:
|
26
|
-
- "%{repository}//%{branch}@%{commit} by %{author}: %{message} - %{build_url}"
|
27
|
-
addons:
|
28
|
-
apt:
|
29
|
-
sources:
|
30
|
-
- "trusty-media"
|
31
|
-
- sourceline: ppa:jonathonf/ffmpeg-3
|
32
|
-
packages:
|
33
|
-
- ghostscript
|
34
|
-
- ufraw-batch
|
35
|
-
- libpng-dev
|
36
|
-
- imagemagick
|
37
|
-
- ffmpeg
|
38
|
-
- libreoffice
|
data/spec/fixtures/FlashPix.ppt
DELETED
Binary file
|
data/spec/fixtures/adobe1998.tif
DELETED
Binary file
|
data/spec/fixtures/countdown.avi
DELETED
Binary file
|
@@ -1,20 +0,0 @@
|
|
1
|
-
defaults: &defaults
|
2
|
-
jp2_recipes:
|
3
|
-
# note that these aren't real recipes, just enough to test configuration options
|
4
|
-
:myrecipe_color: >
|
5
|
-
-rate 2.4
|
6
|
-
-jp2_space sRGB
|
7
|
-
Stiles=\{1024,1024\}
|
8
|
-
:myrecipe_grey: >
|
9
|
-
-rate 2.4
|
10
|
-
-jp2_space sLUM
|
11
|
-
Stiles=\{1024,1024\}
|
12
|
-
|
13
|
-
development:
|
14
|
-
<<: *defaults
|
15
|
-
|
16
|
-
test:
|
17
|
-
<<: *defaults
|
18
|
-
|
19
|
-
production:
|
20
|
-
<<: *defaults
|
Binary file
|
data/spec/fixtures/sample.rtf
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
|
2
|
-
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
|
3
|
-
{\f121\froman\fcharset238\fprq2 Times New Roman CE;}{\f122\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f124\froman\fcharset161\fprq2 Times New Roman Greek;}{\f125\froman\fcharset162\fprq2 Times New Roman Tur;}
|
4
|
-
{\f126\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f127\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f128\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f129\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
|
5
|
-
{\f131\fswiss\fcharset238\fprq2 Arial CE;}{\f132\fswiss\fcharset204\fprq2 Arial Cyr;}{\f134\fswiss\fcharset161\fprq2 Arial Greek;}{\f135\fswiss\fcharset162\fprq2 Arial Tur;}{\f136\fswiss\fcharset177\fprq2 Arial (Hebrew);}
|
6
|
-
{\f137\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f138\fswiss\fcharset186\fprq2 Arial Baltic;}{\f139\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f141\fmodern\fcharset238\fprq1 Courier New CE;}{\f142\fmodern\fcharset204\fprq1 Courier New Cyr;}
|
7
|
-
{\f144\fmodern\fcharset161\fprq1 Courier New Greek;}{\f145\fmodern\fcharset162\fprq1 Courier New Tur;}{\f146\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f147\fmodern\fcharset178\fprq1 Courier New (Arabic);}
|
8
|
-
{\f148\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f149\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
|
9
|
-
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
|
10
|
-
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0
|
11
|
-
\b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid2294299 heading 1;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
|
12
|
-
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
|
13
|
-
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\*\ts15\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10
|
14
|
-
\trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
|
15
|
-
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \sbasedon11 \snext15 \styrsid2294299 Table Grid;}{
|
16
|
-
\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 \ssemihidden \styrsid1792631 footnote text;}{\*\cs17 \additive \super
|
17
|
-
\sbasedon10 \ssemihidden \styrsid1792631 footnote reference;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-767292450\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
|
18
|
-
\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
|
19
|
-
\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693
|
20
|
-
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers
|
21
|
-
;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600
|
22
|
-
\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }
|
23
|
-
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23
|
24
|
-
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
|
25
|
-
\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid687222349}}{\*\listoverridetable{\listoverride\listid687222349
|
26
|
-
\listoverridecount0\ls1}}{\*\rsidtbl \rsid1792631\rsid2294299}{\*\generator Microsoft Word 11.0.6113;}{\info{\title This is a test RTF}{\author Nate}{\operator Nate}{\version2}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440
|
27
|
-
\dghshow1\dgvshow1\jexpand\viewkind1\viewscale80\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
|
28
|
-
\asianbrkrule\rsidroot2294299\newtblstyruls\nogrowautofit \fet0{\*\ftnsep \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid1792631 \chftnsep
|
29
|
-
\par }}{\*\ftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid1792631 \chftnsepc
|
30
|
-
\par }}{\*\aftnsep \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid1792631 \chftnsep
|
31
|
-
\par }}{\*\aftnsepc \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid1792631 \chftnsepc
|
32
|
-
\par }}\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}
|
33
|
-
{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang
|
34
|
-
{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain
|
35
|
-
\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid2294299 \b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 {\insrsid2294299 This is a test RTF
|
36
|
-
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2294299 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2294299 Hi! I\rquote m a test file. This is some }{\b\insrsid2294299 bold}{
|
37
|
-
\insrsid2294299 text, and some }{\i\insrsid2294299 italic}{\insrsid2294299 text, as well as some }{\ul\insrsid2294299 underline}{\insrsid2294299 text. And a bit of }{\v\insrsid2294299\charrsid2294299 hidden}{\insrsid2294299 text. So we\rquote
|
38
|
-
re going to end this paragraph here and go on to a nice little list:
|
39
|
-
\par
|
40
|
-
\par {\listtext\pard\plain\f3\insrsid2294299 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid2294299 {\insrsid2294299 Item 1
|
41
|
-
\par {\listtext\pard\plain\f3\insrsid2294299 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Item 2
|
42
|
-
\par {\listtext\pard\plain\f3\insrsid2294299 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Item 3
|
43
|
-
\par {\listtext\pard\plain\f3\insrsid2294299 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Item 4
|
44
|
-
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2294299 {\insrsid2294299
|
45
|
-
\par And now comes a fun table:
|
46
|
-
\par
|
47
|
-
\par }\trowd \irow0\irowband0\ts15\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
|
48
|
-
\trftsWidth1\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
|
49
|
-
\cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx2844\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx5796\clvertalt\clbrdrt\brdrs\brdrw10
|
50
|
-
\clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx8748\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid2294299\yts15
|
51
|
-
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2294299 Cell 1\cell Cell 2
|
52
|
-
\par More in cell 2\cell Cell 3\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2294299 \trowd \irow0\irowband0\ts15\trgaph108\trleft-108\trbrdrt
|
53
|
-
\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
|
54
|
-
\trftsWidth1\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10
|
55
|
-
\cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx2844\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx5796\clvertalt\clbrdrt\brdrs\brdrw10
|
56
|
-
\clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx8748\row }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0\pararsid2294299\yts15
|
57
|
-
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2294299 Next row\cell Next row \cell Next row\cell }\pard\plain \ql \li0\ri0\widctlpar\intbl\aspalpha\aspnum\faauto\adjustright\rin0\lin0
|
58
|
-
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2294299 \trowd \irow1\irowband1\lastrow \ts15\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
|
59
|
-
\brdrs\brdrw10 \trftsWidth1\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
|
60
|
-
\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx2844\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx5796\clvertalt\clbrdrt
|
61
|
-
\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2952\clshdrawnil \cellx8748\row }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2294299 {
|
62
|
-
\insrsid2294299
|
63
|
-
\par A page break:
|
64
|
-
\par \page And here we\rquote re on the next page.}{\insrsid1792631 }{\insrsid2294299
|
65
|
-
\par }{\insrsid1792631 This para has a }{\cs17\super\insrsid1792631 \chftn {\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super\insrsid1792631
|
66
|
-
\chftn }{\insrsid1792631 This is the actual content of the footnote.}}}{\insrsid1792631 footnote.
|
67
|
-
\par And here\rquote s yet another paragraph. }{\insrsid1792631\charrsid2294299
|
68
|
-
\par }}
|
data/spec/fixtures/test.dng
DELETED
Binary file
|
data/spec/fixtures/test.doc
DELETED
Binary file
|
data/spec/fixtures/test.docx
DELETED
Binary file
|
data/spec/fixtures/test.pdf
DELETED
Binary file
|
data/spec/fixtures/test.pptx
DELETED
Binary file
|
data/spec/fixtures/test.tif
DELETED
Binary file
|
data/spec/fixtures/test.xls
DELETED
Binary file
|
data/spec/fixtures/test.xlsx
DELETED
Binary file
|
data/spec/fixtures/world.png
DELETED
Binary file
|
@@ -1,132 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Hydra::Derivatives::Processors::ActiveEncode do
|
4
|
-
let(:file_path) { File.join(fixture_path, 'videoshort.mp4') }
|
5
|
-
let(:directives) { { url: '12345/derivative' } }
|
6
|
-
let(:output_file_service) { Hydra::Derivatives::PersistExternalFileOutputFileService }
|
7
|
-
let(:options) { { output_file_service: output_file_service } }
|
8
|
-
let(:processor) { described_class.new(file_path, directives, options) }
|
9
|
-
|
10
|
-
describe '#process' do
|
11
|
-
subject { processor.process }
|
12
|
-
|
13
|
-
# Mock out the actual encoding, just pretend that the
|
14
|
-
# encode finished and returned a certain status.
|
15
|
-
let(:failed_status) { false }
|
16
|
-
let(:cancelled_status) { false }
|
17
|
-
let(:completed_status) { false }
|
18
|
-
let(:state) { :completed }
|
19
|
-
let(:errors) { [] }
|
20
|
-
let(:external_url) { 'http://www.example.com/external/content' }
|
21
|
-
let(:output) { [{ url: external_url }] }
|
22
|
-
let(:encode_job_double) do
|
23
|
-
enc = instance_double('encode_job',
|
24
|
-
state: state,
|
25
|
-
errors: errors,
|
26
|
-
output: output,
|
27
|
-
running?: false,
|
28
|
-
completed?: completed_status,
|
29
|
-
failed?: failed_status,
|
30
|
-
cancelled?: cancelled_status)
|
31
|
-
allow(enc).to receive(:reload).and_return(enc)
|
32
|
-
enc
|
33
|
-
end
|
34
|
-
|
35
|
-
context 'with a custom encode class' do
|
36
|
-
before do
|
37
|
-
class TestEncode < ::ActiveEncode::Base; end
|
38
|
-
|
39
|
-
# For this spec we don't care what happens with output,
|
40
|
-
# so stub it out to speed up the spec.
|
41
|
-
allow(output_file_service).to receive(:call)
|
42
|
-
end
|
43
|
-
|
44
|
-
after { Object.send(:remove_const, :TestEncode) }
|
45
|
-
|
46
|
-
let(:completed_status) { true }
|
47
|
-
let(:state) { :completed }
|
48
|
-
let(:options) do
|
49
|
-
{
|
50
|
-
encode_class: TestEncode,
|
51
|
-
output_file_service: output_file_service
|
52
|
-
}
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'uses the configured encode class' do
|
56
|
-
expect(TestEncode).to receive(:create).and_return(encode_job_double)
|
57
|
-
subject
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
context 'when the encoding failed' do
|
62
|
-
let(:state) { :failed }
|
63
|
-
let(:failed_status) { true }
|
64
|
-
let(:errors) { ['error 1', 'error 2'] }
|
65
|
-
|
66
|
-
before do
|
67
|
-
# Don't really encode the file during specs
|
68
|
-
allow(::ActiveEncode::Base).to receive(:create).and_return(encode_job_double)
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'raises an exception' do
|
72
|
-
expect { subject }.to raise_error(Hydra::Derivatives::Processors::ActiveEncodeError, "ActiveEncode status was \"failed\" for #{file_path}: error 1 ; error 2")
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
context 'when the encoding was cancelled' do
|
77
|
-
let(:state) { :cancelled }
|
78
|
-
let(:cancelled_status) { true }
|
79
|
-
|
80
|
-
before do
|
81
|
-
# Don't really encode the file during specs
|
82
|
-
allow(::ActiveEncode::Base).to receive(:create).and_return(encode_job_double)
|
83
|
-
end
|
84
|
-
|
85
|
-
it 'raises an exception' do
|
86
|
-
expect { subject }.to raise_error(Hydra::Derivatives::Processors::ActiveEncodeError, "ActiveEncode status was \"cancelled\" for #{file_path}")
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
context 'when the timeout is set' do
|
91
|
-
before do
|
92
|
-
processor.timeout = 0.01
|
93
|
-
allow(processor).to receive(:wait_for_encode_job) { sleep 0.1 }
|
94
|
-
end
|
95
|
-
|
96
|
-
it 'raises a timeout exception' do
|
97
|
-
msg = "Unable to process ActiveEncode derivative: The command took longer than 0.01 seconds to execute. Encoding will be cancelled."
|
98
|
-
expect { processor.process }.to raise_error Hydra::Derivatives::TimeoutError, msg
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'when the timeout is not set' do
|
103
|
-
before do
|
104
|
-
processor.timeout = nil
|
105
|
-
# Don't really encode the file during specs
|
106
|
-
allow(::ActiveEncode::Base).to receive(:create).and_return(encode_job_double)
|
107
|
-
end
|
108
|
-
|
109
|
-
it 'processes the encoding without a timeout' do
|
110
|
-
expect(processor).not_to receive(:wait_for_encode_job_with_timeout)
|
111
|
-
expect(processor).to receive(:wait_for_encode_job).once
|
112
|
-
processor.process
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
context 'when error occurs during timeout cleanup' do
|
117
|
-
let(:error) { StandardError.new('some error message') }
|
118
|
-
|
119
|
-
before do
|
120
|
-
processor.timeout = 0.01
|
121
|
-
allow(processor).to receive(:wait_for_encode_job) { sleep 0.1 }
|
122
|
-
allow(::ActiveEncode::Base).to receive(:create).and_return(encode_job_double)
|
123
|
-
allow(encode_job_double).to receive(:cancel!).and_raise(error)
|
124
|
-
end
|
125
|
-
|
126
|
-
it 'doesnt lose the timeout error, but adds the new error message' do
|
127
|
-
msg = "Unable to process ActiveEncode derivative: The command took longer than 0.01 seconds to execute. Encoding will be cancelled. An error occurred while trying to cancel encoding: some error message"
|
128
|
-
expect { processor.process }.to raise_error Hydra::Derivatives::TimeoutError, msg
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|