fogged 0.0.5 → 0.0.6

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.
@@ -77,9 +77,8 @@ module Fogged
77
77
  OpenStruct.new(:body => create_output)
78
78
  )
79
79
 
80
- assert_difference("Delayed::Job.count") do
81
- @resource.process!
82
- end
80
+ @resource.process!
81
+
83
82
  assert @resource.encoding?
84
83
  assert_equal "1234567890", @resource.encoding_job_id
85
84
  end
@@ -40,15 +40,12 @@ module Fogged
40
40
  in_a_fork do
41
41
  require "zencoder"
42
42
  require "delayed_job_active_record"
43
- Rails.application.config.active_job.queue_adapter = :delayed_job
44
43
  Fogged.configure
45
44
 
46
45
  Zencoder::Job.expects(:create).returns(
47
46
  OpenStruct.new(:body => create_output)
48
47
  )
49
- assert_difference("Delayed::Job.count") do
50
- encoder.encode!
51
- end
48
+ encoder.encode!
52
49
 
53
50
  assert resource.encoding?
54
51
  assert_equal 0, resource.encoding_progress
@@ -110,7 +107,6 @@ module Fogged
110
107
  in_a_fork do
111
108
  require "zencoder"
112
109
  require "delayed_job_active_record"
113
- Rails.application.config.active_job.queue_adapter = :delayed_job
114
110
  Fogged.configure do |config|
115
111
  config.zencoder_additional_outputs do |bucket, res|
116
112
  [
@@ -124,12 +120,32 @@ module Fogged
124
120
  end
125
121
  end
126
122
 
127
- Zencoder::Job.expects(:create).with { |options| assert_equal 4, options[:output].size }.returns(
123
+ Zencoder::Job.expects(:create).with() { |options| assert_equal 4, options[:output].size }.returns(
128
124
  OpenStruct.new(:body => create_output)
129
125
  )
130
- assert_difference("Delayed::Job.count") do
131
- encoder.encode!
132
- end
126
+ encoder.encode!
127
+
128
+ assert resource.encoding?
129
+ assert_equal 0, resource.encoding_progress
130
+ assert_equal "1234567890", resource.encoding_job_id
131
+ end
132
+ end
133
+
134
+ test "should encode video with zencoder notification url" do
135
+ resource = fogged_resources(:resource_mov_3)
136
+ encoder = AWSEncoder.new(resource)
137
+
138
+ in_a_fork do
139
+ require "zencoder"
140
+ require "delayed_job_active_record"
141
+ Fogged.configure
142
+ Fogged.stubs(:zencoder_notification_url).returns("http://test")
143
+
144
+ Zencoder::Job.expects(:create).with() { |options| assert options[:notifications] }.returns(
145
+ OpenStruct.new(:body => create_output)
146
+ )
147
+
148
+ encoder.encode!
133
149
 
134
150
  assert resource.encoding?
135
151
  assert_equal 0, resource.encoding_progress
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fogged
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Fernandez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-24 00:00:00.000000000 Z
11
+ date: 2015-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -189,7 +189,6 @@ files:
189
189
  - Rakefile
190
190
  - app/controllers/fogged/resources_controller.rb
191
191
  - app/jobs/fogged/resources/aws_thumbnail_job.rb
192
- - app/jobs/fogged/resources/zencoder_poll_job.rb
193
192
  - app/models/fogged/resource.rb
194
193
  - app/models/fogged/resources/aws_encoder.rb
195
194
  - app/models/fogged/resources/encoder.rb
@@ -214,6 +213,7 @@ files:
214
213
  - test/controllers/fogged/resources_controller/destroy_test.rb
215
214
  - test/controllers/fogged/resources_controller/show_test.rb
216
215
  - test/controllers/fogged/resources_controller/update_test.rb
216
+ - test/controllers/fogged/resources_controller/zencoder_notification_test.rb
217
217
  - test/dummy/Rakefile
218
218
  - test/dummy/app/assets/javascripts/application.js
219
219
  - test/dummy/app/assets/stylesheets/application.css
@@ -270,7 +270,6 @@ files:
270
270
  - test/fixtures/movies.yml
271
271
  - test/fogged_test.rb
272
272
  - test/jobs/fogged/resources/aws_thumbnail_job_test.rb
273
- - test/jobs/fogged/resources/zencoder_poll_job_test.rb
274
273
  - test/models/fogged/resource_test.rb
275
274
  - test/models/fogged/resources/aws_encoder_test.rb
276
275
  - test/models/fogged/resources/encoder_test.rb
@@ -307,6 +306,7 @@ test_files:
307
306
  - test/controllers/fogged/resources_controller/destroy_test.rb
308
307
  - test/controllers/fogged/resources_controller/show_test.rb
309
308
  - test/controllers/fogged/resources_controller/update_test.rb
309
+ - test/controllers/fogged/resources_controller/zencoder_notification_test.rb
310
310
  - test/dummy/app/assets/javascripts/application.js
311
311
  - test/dummy/app/assets/stylesheets/application.css
312
312
  - test/dummy/app/controllers/application_controller.rb
@@ -363,7 +363,6 @@ test_files:
363
363
  - test/fixtures/movies.yml
364
364
  - test/fogged_test.rb
365
365
  - test/jobs/fogged/resources/aws_thumbnail_job_test.rb
366
- - test/jobs/fogged/resources/zencoder_poll_job_test.rb
367
366
  - test/models/fogged/resource_test.rb
368
367
  - test/models/fogged/resources/aws_encoder_test.rb
369
368
  - test/models/fogged/resources/encoder_test.rb
@@ -1,37 +0,0 @@
1
- module Fogged
2
- module Resources
3
- class ZencoderPollJob < ActiveJob::Base
4
- def perform(resource)
5
- return unless Fogged.zencoder_enabled
6
- update_encoding_progress(resource)
7
-
8
- return if resource.encoding_progress == 100
9
-
10
- frequency = Fogged.zencoder_polling_frequency
11
- retry_job(:wait => frequency.seconds)
12
- end
13
-
14
- private
15
-
16
- def update_encoding_progress(resource)
17
- job = Zencoder::Job.progress(resource.encoding_job_id)
18
-
19
- case job.body["state"]
20
- when "finished"
21
- job = Zencoder::Job.details(resource.encoding_job_id)
22
- f = job.body["job"]["output_media_files"][0]
23
- resource.update!(
24
- :encoding_progress => 100,
25
- :width => f["width"],
26
- :height => f["height"],
27
- :duration => f["duration_in_ms"].to_f / 1000.0
28
- )
29
- when "processing", "waiting"
30
- resource.update!(:encoding_progress => job.body["progress"].to_i)
31
- else
32
- fail(ArgumentError, "Unknown Zencoder job state #{job.body["state"]}")
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,96 +0,0 @@
1
- require "test_helper"
2
-
3
- module Fogged
4
- module Resources
5
- class ZencoderPollJobTest < ActiveSupport::TestCase
6
- def setup
7
- super
8
- @resource = fogged_resources(:encoding_resource)
9
- end
10
-
11
- test "should poll job with status success" do
12
- in_a_fork do
13
- require "zencoder"
14
- require "delayed_job_active_record"
15
- Rails.application.config.active_job.queue_adapter = :delayed_job
16
- Fogged.configure
17
-
18
- Zencoder::Job.expects(:progress).with("1234567890").returns(
19
- OpenStruct.new(:body => progress_output("finished"))
20
- )
21
- Zencoder::Job.expects(:details).with("1234567890").returns(
22
- OpenStruct.new(:body => details_output)
23
- )
24
-
25
- assert_no_difference("Delayed::Job.count") do
26
- ZencoderPollJob.perform_now(@resource)
27
- end
28
- refute @resource.reload.encoding?
29
- assert_equal 800, @resource.width
30
- assert_equal 600, @resource.height
31
- assert_equal 15, @resource.duration
32
- end
33
- end
34
-
35
- %w(processing waiting).each do |status|
36
- test "should poll job with status #{status}" do
37
- in_a_fork do
38
- require "zencoder"
39
- require "delayed_job_active_record"
40
- Rails.application.config.active_job.queue_adapter = :delayed_job
41
- Fogged.configure
42
-
43
- Zencoder::Job.expects(:progress).with("1234567890").returns(
44
- OpenStruct.new(:body => progress_output(status))
45
- )
46
-
47
- assert_difference("Delayed::Job.count") do
48
- ZencoderPollJob.perform_now(@resource)
49
- end
50
- assert @resource.reload.encoding?
51
- assert_equal 55, @resource.encoding_progress
52
- end
53
- end
54
- end
55
-
56
- test "should poll job with status unknown" do
57
- in_a_fork do
58
- require "zencoder"
59
- require "delayed_job_active_record"
60
- Fogged.configure
61
-
62
- Zencoder::Job.expects(:progress).with("1234567890").returns(
63
- OpenStruct.new(:body => progress_output("unknown"))
64
- )
65
-
66
- assert_raise(ArgumentError) do
67
- assert_no_difference("Delayed::Job.count") do
68
- ZencoderPollJob.perform_now(@resource)
69
- end
70
- end
71
- end
72
- end
73
-
74
- private
75
-
76
- def progress_output(state)
77
- {
78
- :state => state,
79
- :progress => "55.5"
80
- }.with_indifferent_access
81
- end
82
-
83
- def details_output
84
- {
85
- :job => {
86
- :output_media_files => [{
87
- :width => 800,
88
- :height => 600,
89
- :duration_in_ms => 15753
90
- }]
91
- }
92
- }.with_indifferent_access
93
- end
94
- end
95
- end
96
- end