active_encode 0.7.0 → 0.8.0
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/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +1 -0
- data/Gemfile +2 -1
- data/README.md +69 -0
- data/active_encode.gemspec +5 -2
- data/lib/active_encode/engine_adapters.rb +1 -0
- data/lib/active_encode/engine_adapters/elastic_transcoder_adapter.rb +1 -1
- data/lib/active_encode/engine_adapters/ffmpeg_adapter.rb +12 -2
- data/lib/active_encode/engine_adapters/media_convert_adapter.rb +372 -0
- data/lib/active_encode/engine_adapters/media_convert_output.rb +104 -0
- data/lib/active_encode/polling.rb +1 -1
- data/lib/active_encode/spec/shared_specs.rb +2 -0
- data/{spec/shared_specs/engine_adapter_specs.rb → lib/active_encode/spec/shared_specs/engine_adapter.rb} +36 -36
- data/lib/active_encode/version.rb +1 -1
- data/lib/file_locator.rb +1 -1
- data/spec/fixtures/media_convert/endpoints.json +1 -0
- data/spec/fixtures/media_convert/job_canceled.json +412 -0
- data/spec/fixtures/media_convert/job_canceling.json +1 -0
- data/spec/fixtures/media_convert/job_completed.json +359 -0
- data/spec/fixtures/media_convert/job_completed_detail.json +1 -0
- data/spec/fixtures/media_convert/job_completed_detail_query.json +1 -0
- data/spec/fixtures/media_convert/job_created.json +408 -0
- data/spec/fixtures/media_convert/job_failed.json +406 -0
- data/spec/fixtures/media_convert/job_progressing.json +414 -0
- data/spec/integration/elastic_transcoder_adapter_spec.rb +4 -4
- data/spec/integration/ffmpeg_adapter_spec.rb +2 -2
- data/spec/integration/matterhorn_adapter_spec.rb +39 -39
- data/spec/integration/media_convert_adapter_spec.rb +126 -0
- data/spec/integration/pass_through_adapter_spec.rb +2 -2
- data/spec/integration/zencoder_adapter_spec.rb +198 -198
- data/spec/spec_helper.rb +0 -1
- data/spec/units/core_spec.rb +17 -17
- data/spec/units/file_locator_spec.rb +1 -1
- data/spec/units/global_id_spec.rb +8 -8
- data/spec/units/persistence_spec.rb +9 -9
- metadata +87 -23
data/spec/spec_helper.rb
CHANGED
data/spec/units/core_spec.rb
CHANGED
@@ -29,7 +29,7 @@ describe ActiveEncode::Core do
|
|
29
29
|
let(:id) { encode_class.create(nil).id }
|
30
30
|
|
31
31
|
it { is_expected.to be_a encode_class }
|
32
|
-
|
32
|
+
it { expect(subject.id).to eq id }
|
33
33
|
|
34
34
|
context 'with no id' do
|
35
35
|
let(:id) { nil }
|
@@ -43,13 +43,13 @@ describe ActiveEncode::Core do
|
|
43
43
|
let(:encode_class) { CustomEncode }
|
44
44
|
|
45
45
|
it { is_expected.to be_a encode_class }
|
46
|
-
|
46
|
+
it { expect(subject.id).to eq id }
|
47
47
|
|
48
48
|
context 'casting' do
|
49
49
|
let(:id) { ActiveEncode::Base.create(nil).id }
|
50
50
|
|
51
51
|
it { is_expected.to be_a encode_class }
|
52
|
-
|
52
|
+
it { expect(subject.id).to eq id }
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -58,15 +58,15 @@ describe ActiveEncode::Core do
|
|
58
58
|
subject { encode_class.create(nil) }
|
59
59
|
|
60
60
|
it { is_expected.to be_a encode_class }
|
61
|
-
|
62
|
-
|
61
|
+
it { expect(subject.id).not_to be nil }
|
62
|
+
it { expect(subject.state).not_to be nil }
|
63
63
|
|
64
64
|
context 'with an ActiveEncode::Base subclass' do
|
65
65
|
let(:encode_class) { CustomEncode }
|
66
66
|
|
67
67
|
it { is_expected.to be_a encode_class }
|
68
|
-
|
69
|
-
|
68
|
+
it { expect(subject.id).not_to be nil }
|
69
|
+
it { expect(subject.state).not_to be nil }
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
@@ -76,16 +76,16 @@ describe ActiveEncode::Core do
|
|
76
76
|
|
77
77
|
it { is_expected.to equal encode }
|
78
78
|
it { is_expected.to be_a encode_class }
|
79
|
-
|
80
|
-
|
79
|
+
it { expect(subject.id).not_to be nil }
|
80
|
+
it { expect(subject.state).not_to be nil }
|
81
81
|
|
82
82
|
context 'with an ActiveEncode::Base subclass' do
|
83
83
|
let(:encode_class) { CustomEncode }
|
84
84
|
|
85
85
|
it { is_expected.to equal encode }
|
86
86
|
it { is_expected.to be_a encode_class }
|
87
|
-
|
88
|
-
|
87
|
+
it { expect(subject.id).not_to be nil }
|
88
|
+
it { expect(subject.state).not_to be nil }
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
@@ -95,7 +95,7 @@ describe ActiveEncode::Core do
|
|
95
95
|
|
96
96
|
it { is_expected.to equal encode }
|
97
97
|
it { is_expected.to be_a encode_class }
|
98
|
-
|
98
|
+
it { expect(subject.id).not_to be nil }
|
99
99
|
it { is_expected.to be_cancelled }
|
100
100
|
|
101
101
|
context 'with an ActiveEncode::Base subclass' do
|
@@ -103,7 +103,7 @@ describe ActiveEncode::Core do
|
|
103
103
|
|
104
104
|
it { is_expected.to equal encode }
|
105
105
|
it { is_expected.to be_a encode_class }
|
106
|
-
|
106
|
+
it { expect(subject.id).not_to be nil }
|
107
107
|
it { is_expected.to be_cancelled }
|
108
108
|
end
|
109
109
|
end
|
@@ -114,16 +114,16 @@ describe ActiveEncode::Core do
|
|
114
114
|
|
115
115
|
it { is_expected.to equal encode }
|
116
116
|
it { is_expected.to be_a encode_class }
|
117
|
-
|
118
|
-
|
117
|
+
it { expect(subject.id).not_to be nil }
|
118
|
+
it { expect(subject.state).not_to be nil }
|
119
119
|
|
120
120
|
context 'with an ActiveEncode::Base subclass' do
|
121
121
|
let(:encode_class) { CustomEncode }
|
122
122
|
|
123
123
|
it { is_expected.to equal encode }
|
124
124
|
it { is_expected.to be_a encode_class }
|
125
|
-
|
126
|
-
|
125
|
+
it { expect(subject.id).not_to be nil }
|
126
|
+
it { expect(subject.state).not_to be nil }
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
# CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
13
13
|
# specific language governing permissions and limitations under the License.
|
14
14
|
# --- END LICENSE_HEADER BLOCK ---
|
15
|
-
require 'aws-sdk'
|
15
|
+
require 'aws-sdk-s3'
|
16
16
|
require 'rails_helper'
|
17
17
|
|
18
18
|
describe FileLocator, type: :service do
|
@@ -17,17 +17,17 @@ describe ActiveEncode::GlobalID do
|
|
17
17
|
let(:encode) { encode_class.create(nil) }
|
18
18
|
|
19
19
|
it { is_expected.to be_a GlobalID }
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
it { expect(subject.model_class).to eq encode_class }
|
21
|
+
it { expect(subject.model_id).to eq encode.id }
|
22
|
+
it { expect(subject.app).to eq 'ActiveEncode' }
|
23
23
|
|
24
24
|
context 'with an ActiveEncode::Base subclass' do
|
25
25
|
let(:encode_class) { CustomEncode }
|
26
26
|
|
27
27
|
it { is_expected.to be_a GlobalID }
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
it { expect(subject.model_class).to eq encode_class }
|
29
|
+
it { expect(subject.model_id).to eq encode.id }
|
30
|
+
it { expect(subject.app).to eq 'ActiveEncode' }
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -38,13 +38,13 @@ describe ActiveEncode::GlobalID do
|
|
38
38
|
let(:global_id) { encode.to_global_id }
|
39
39
|
|
40
40
|
it { is_expected.to be_a encode_class }
|
41
|
-
|
41
|
+
it { expect(subject.id).to eq encode.id }
|
42
42
|
|
43
43
|
context 'with an ActiveEncode::Base subclass' do
|
44
44
|
let(:encode_class) { CustomEncode }
|
45
45
|
|
46
46
|
it { is_expected.to be_a encode_class }
|
47
|
-
|
47
|
+
it { expect(subject.id).to eq encode.id }
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -30,15 +30,15 @@ describe ActiveEncode::Persistence, db_clean: true do
|
|
30
30
|
expect { encode }.to change { ActiveEncode::EncodeRecord.count }.by(1)
|
31
31
|
end
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
33
|
+
it { expect(subject.global_id).to eq encode.to_global_id.to_s }
|
34
|
+
it { expect(subject.state).to eq encode.state.to_s }
|
35
|
+
it { expect(subject.adapter).to eq encode.class.engine_adapter.class.name }
|
36
|
+
it { expect(subject.title).to eq encode.input.url.to_s }
|
37
|
+
it { expect(subject.raw_object).to eq encode.to_json }
|
38
|
+
it { expect(subject.created_at).to be_within(1.second).of encode.created_at }
|
39
|
+
it { expect(subject.updated_at).to be_within(1.second).of encode.updated_at }
|
40
|
+
it { expect(subject.create_options).to eq create_options.to_json }
|
41
|
+
it { expect(subject.progress).to eq encode.percent_complete }
|
42
42
|
end
|
43
43
|
|
44
44
|
describe 'cancel' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_encode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klein, Chris Colvard, Phuong Dinh
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: aws-sdk
|
28
|
+
name: aws-sdk-cloudwatchevents
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,21 +39,21 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: aws-sdk-cloudwatchlogs
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: aws-sdk-elastictranscoder
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: aws-sdk-mediaconvert
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: aws-sdk-s3
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,21 +95,21 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: bixby
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 1.0.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 1.0.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: bundler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: coveralls
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -137,7 +137,49 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: database_cleaner
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: engine_cart
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '2.2'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '2.2'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rake
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rspec
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
142
184
|
requirements:
|
143
185
|
- - ">="
|
@@ -230,6 +272,8 @@ files:
|
|
230
272
|
- lib/active_encode/engine_adapters/elastic_transcoder_adapter.rb
|
231
273
|
- lib/active_encode/engine_adapters/ffmpeg_adapter.rb
|
232
274
|
- lib/active_encode/engine_adapters/matterhorn_adapter.rb
|
275
|
+
- lib/active_encode/engine_adapters/media_convert_adapter.rb
|
276
|
+
- lib/active_encode/engine_adapters/media_convert_output.rb
|
233
277
|
- lib/active_encode/engine_adapters/pass_through_adapter.rb
|
234
278
|
- lib/active_encode/engine_adapters/test_adapter.rb
|
235
279
|
- lib/active_encode/engine_adapters/zencoder_adapter.rb
|
@@ -239,6 +283,8 @@ files:
|
|
239
283
|
- lib/active_encode/output.rb
|
240
284
|
- lib/active_encode/persistence.rb
|
241
285
|
- lib/active_encode/polling.rb
|
286
|
+
- lib/active_encode/spec/shared_specs.rb
|
287
|
+
- lib/active_encode/spec/shared_specs/engine_adapter.rb
|
242
288
|
- lib/active_encode/status.rb
|
243
289
|
- lib/active_encode/technical_metadata.rb
|
244
290
|
- lib/active_encode/version.rb
|
@@ -292,6 +338,15 @@ files:
|
|
292
338
|
- spec/fixtures/matterhorn/running_response.xml
|
293
339
|
- spec/fixtures/matterhorn/stop_completed_response.xml
|
294
340
|
- spec/fixtures/matterhorn/stop_running_response.xml
|
341
|
+
- spec/fixtures/media_convert/endpoints.json
|
342
|
+
- spec/fixtures/media_convert/job_canceled.json
|
343
|
+
- spec/fixtures/media_convert/job_canceling.json
|
344
|
+
- spec/fixtures/media_convert/job_completed.json
|
345
|
+
- spec/fixtures/media_convert/job_completed_detail.json
|
346
|
+
- spec/fixtures/media_convert/job_completed_detail_query.json
|
347
|
+
- spec/fixtures/media_convert/job_created.json
|
348
|
+
- spec/fixtures/media_convert/job_failed.json
|
349
|
+
- spec/fixtures/media_convert/job_progressing.json
|
295
350
|
- spec/fixtures/pass_through/cancelled-id/cancelled
|
296
351
|
- spec/fixtures/pass_through/cancelled-id/input_metadata
|
297
352
|
- spec/fixtures/pass_through/completed-id/completed
|
@@ -317,11 +372,11 @@ files:
|
|
317
372
|
- spec/integration/elastic_transcoder_adapter_spec.rb
|
318
373
|
- spec/integration/ffmpeg_adapter_spec.rb
|
319
374
|
- spec/integration/matterhorn_adapter_spec.rb
|
375
|
+
- spec/integration/media_convert_adapter_spec.rb
|
320
376
|
- spec/integration/pass_through_adapter_spec.rb
|
321
377
|
- spec/integration/zencoder_adapter_spec.rb
|
322
378
|
- spec/rails_helper.rb
|
323
379
|
- spec/routing/encode_record_controller_routing_spec.rb
|
324
|
-
- spec/shared_specs/engine_adapter_specs.rb
|
325
380
|
- spec/spec_helper.rb
|
326
381
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
327
382
|
- spec/units/callbacks_spec.rb
|
@@ -339,7 +394,7 @@ homepage: https://github.com/samvera-labs/active_encode
|
|
339
394
|
licenses:
|
340
395
|
- Apache-2.0
|
341
396
|
metadata: {}
|
342
|
-
post_install_message:
|
397
|
+
post_install_message:
|
343
398
|
rdoc_options: []
|
344
399
|
require_paths:
|
345
400
|
- lib
|
@@ -354,8 +409,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
409
|
- !ruby/object:Gem::Version
|
355
410
|
version: '0'
|
356
411
|
requirements: []
|
357
|
-
rubygems_version: 3.
|
358
|
-
signing_key:
|
412
|
+
rubygems_version: 3.1.2
|
413
|
+
signing_key:
|
359
414
|
specification_version: 4
|
360
415
|
summary: Declare encode job classes that can be run by a variety of encoding services
|
361
416
|
test_files:
|
@@ -408,6 +463,15 @@ test_files:
|
|
408
463
|
- spec/fixtures/matterhorn/running_response.xml
|
409
464
|
- spec/fixtures/matterhorn/stop_completed_response.xml
|
410
465
|
- spec/fixtures/matterhorn/stop_running_response.xml
|
466
|
+
- spec/fixtures/media_convert/endpoints.json
|
467
|
+
- spec/fixtures/media_convert/job_canceled.json
|
468
|
+
- spec/fixtures/media_convert/job_canceling.json
|
469
|
+
- spec/fixtures/media_convert/job_completed.json
|
470
|
+
- spec/fixtures/media_convert/job_completed_detail.json
|
471
|
+
- spec/fixtures/media_convert/job_completed_detail_query.json
|
472
|
+
- spec/fixtures/media_convert/job_created.json
|
473
|
+
- spec/fixtures/media_convert/job_failed.json
|
474
|
+
- spec/fixtures/media_convert/job_progressing.json
|
411
475
|
- spec/fixtures/pass_through/cancelled-id/cancelled
|
412
476
|
- spec/fixtures/pass_through/cancelled-id/input_metadata
|
413
477
|
- spec/fixtures/pass_through/completed-id/completed
|
@@ -433,11 +497,11 @@ test_files:
|
|
433
497
|
- spec/integration/elastic_transcoder_adapter_spec.rb
|
434
498
|
- spec/integration/ffmpeg_adapter_spec.rb
|
435
499
|
- spec/integration/matterhorn_adapter_spec.rb
|
500
|
+
- spec/integration/media_convert_adapter_spec.rb
|
436
501
|
- spec/integration/pass_through_adapter_spec.rb
|
437
502
|
- spec/integration/zencoder_adapter_spec.rb
|
438
503
|
- spec/rails_helper.rb
|
439
504
|
- spec/routing/encode_record_controller_routing_spec.rb
|
440
|
-
- spec/shared_specs/engine_adapter_specs.rb
|
441
505
|
- spec/spec_helper.rb
|
442
506
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
443
507
|
- spec/units/callbacks_spec.rb
|