transloadit 2.0.1 → 3.0.1

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.
Files changed (55) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +23 -0
  3. data/.standard.yml +0 -0
  4. data/CHANGELOG.md +72 -57
  5. data/Gemfile +1 -1
  6. data/README.md +162 -86
  7. data/Rakefile +12 -17
  8. data/examples/README.md +94 -55
  9. data/examples/basic/audio-concat-transcoder.rb +29 -19
  10. data/examples/basic/audio-transcoder.rb +32 -22
  11. data/examples/basic/image-transcoder.rb +22 -17
  12. data/examples/basic/main.rb +31 -37
  13. data/examples/basic/media-transcoder.rb +2 -7
  14. data/lib/transloadit/api_model.rb +13 -13
  15. data/lib/transloadit/assembly.rb +27 -24
  16. data/lib/transloadit/exception.rb +2 -4
  17. data/lib/transloadit/request.rb +63 -52
  18. data/lib/transloadit/response/assembly.rb +14 -13
  19. data/lib/transloadit/response.rb +10 -10
  20. data/lib/transloadit/step.rb +13 -13
  21. data/lib/transloadit/template.rb +5 -5
  22. data/lib/transloadit/version.rb +1 -1
  23. data/lib/transloadit.rb +24 -24
  24. data/test/fixtures/cassettes/cancel_assembly.yml +3 -3
  25. data/test/fixtures/cassettes/create_template.yml +1 -1
  26. data/test/fixtures/cassettes/delete_template.yml +1 -1
  27. data/test/fixtures/cassettes/fetch_assemblies.yml +1 -1
  28. data/test/fixtures/cassettes/fetch_assembly_aborted.yml +3 -3
  29. data/test/fixtures/cassettes/fetch_assembly_errors.yml +3 -3
  30. data/test/fixtures/cassettes/fetch_assembly_executing.yml +3 -3
  31. data/test/fixtures/cassettes/fetch_assembly_notifications.yml +1 -1
  32. data/test/fixtures/cassettes/fetch_assembly_ok.yml +6 -6
  33. data/test/fixtures/cassettes/fetch_assembly_uploading.yml +3 -3
  34. data/test/fixtures/cassettes/fetch_billing.yml +1 -1
  35. data/test/fixtures/cassettes/fetch_root.yml +3 -3
  36. data/test/fixtures/cassettes/fetch_template.yml +1 -1
  37. data/test/fixtures/cassettes/fetch_templates.yml +1 -1
  38. data/test/fixtures/cassettes/post_assembly.yml +2 -2
  39. data/test/fixtures/cassettes/rate_limit_fail.yml +3 -3
  40. data/test/fixtures/cassettes/rate_limit_succeed.yml +4 -4
  41. data/test/fixtures/cassettes/replay_assembly.yml +2 -2
  42. data/test/fixtures/cassettes/replay_assembly_notification.yml +1 -1
  43. data/test/fixtures/cassettes/submit_assembly.yml +3 -3
  44. data/test/fixtures/cassettes/update_template.yml +1 -1
  45. data/test/test_helper.rb +10 -10
  46. data/test/unit/test_transloadit.rb +66 -66
  47. data/test/unit/transloadit/test_api.rb +35 -33
  48. data/test/unit/transloadit/test_assembly.rb +148 -112
  49. data/test/unit/transloadit/test_request.rb +41 -42
  50. data/test/unit/transloadit/test_response.rb +76 -76
  51. data/test/unit/transloadit/test_step.rb +52 -52
  52. data/test/unit/transloadit/test_template.rb +49 -54
  53. data/transloadit.gemspec +25 -26
  54. metadata +25 -41
  55. data/.travis.yml +0 -13
@@ -1,60 +1,60 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  describe Transloadit::Assembly do
4
4
  before do
5
- @transloadit = Transloadit.new(:key => '')
5
+ @transloadit = Transloadit.new(key: "")
6
6
  end
7
7
 
8
- it 'must inherit from Transloadit::ApiModel class' do
9
- (Transloadit::Assembly < Transloadit::ApiModel).must_equal true
8
+ it "must inherit from Transloadit::ApiModel class" do
9
+ _(Transloadit::Assembly < Transloadit::ApiModel).must_equal true
10
10
  end
11
11
 
12
- describe 'when initialized' do
12
+ describe "when initialized" do
13
13
  before do
14
- @step = @transloadit.step 'thumbs', '/video/thumbs'
15
- @redirect = 'http://foo.bar/'
14
+ @step = @transloadit.step "thumbs", "/video/thumbs"
15
+ @redirect = "https://foo.bar/"
16
16
 
17
17
  @assembly = Transloadit::Assembly.new @transloadit,
18
- :steps => @step,
19
- :redirect_url => @redirect
18
+ steps: @step,
19
+ redirect_url: @redirect
20
20
  end
21
21
 
22
- it 'must wrap its step in a hash' do
23
- @assembly.steps.must_equal @step.to_hash
22
+ it "must wrap its step in a hash" do
23
+ _(@assembly.steps).must_equal @step.to_hash
24
24
  end
25
25
 
26
- it 'must not wrap a nil step' do
26
+ it "must not wrap a nil step" do
27
27
  @assembly.options[:steps] = nil
28
- @assembly.steps.must_equal nil
28
+ assert_nil @assembly.steps
29
29
  end
30
30
 
31
- it 'must not wrap a hash step' do
32
- @assembly.options[:steps] = { :foo => 1 }
33
- @assembly.steps.must_equal :foo => 1
31
+ it "must not wrap a hash step" do
32
+ @assembly.options[:steps] = {foo: 1}
33
+ _(@assembly.steps).must_equal foo: 1
34
34
  end
35
35
 
36
- it 'must produce Transloadit-compatible hash output' do
37
- @assembly.to_hash.must_equal(
38
- :auth => @transloadit.to_hash,
39
- :steps => @assembly.steps,
40
- :redirect_url => @redirect
36
+ it "must produce Transloadit-compatible hash output" do
37
+ _(@assembly.to_hash).must_equal(
38
+ auth: @transloadit.to_hash,
39
+ steps: @assembly.steps,
40
+ redirect_url: @redirect
41
41
  )
42
42
  end
43
43
 
44
- it 'must submit files for upload' do
45
- VCR.use_cassette 'submit_assembly' do
46
- response = @assembly.create! open('lib/transloadit/version.rb')
47
- response.code.must_equal 302
48
- response.headers[:location].must_match %r{^http://foo.bar/}
44
+ it "must submit files for upload" do
45
+ VCR.use_cassette "submit_assembly" do
46
+ response = @assembly.create! open("lib/transloadit/version.rb")
47
+ _(response.code).must_equal 302
48
+ _(response.headers[:location]).must_match %r{^https://foo.bar/}
49
49
  end
50
50
  end
51
51
 
52
- describe 'with additional parameters' do
52
+ describe "with a secret" do
53
53
  include WebMock::API
54
54
 
55
55
  before do
56
56
  WebMock.reset!
57
- stub_request(:post, 'api2.transloadit.com/assemblies')
57
+ stub_request(:post, "https://api2.transloadit.com/assemblies")
58
58
  .to_return(body: '{"ok":"ASSEMBLY_COMPLETED"}')
59
59
  end
60
60
 
@@ -62,58 +62,91 @@ describe Transloadit::Assembly do
62
62
  WebMock.reset!
63
63
  end
64
64
 
65
- it 'must allow to send a template id along' do
65
+ it "must send the signature before any file" do
66
+ transloadit = Transloadit.new(key: "", secret: "foo")
67
+ Transloadit::Assembly.new(
68
+ transloadit
69
+ ).create! open("lib/transloadit/version.rb")
70
+
71
+ assert_requested(:post, "https://api2.transloadit.com/assemblies") do |req|
72
+ position_params = req.body.index 'name="params"'
73
+ position_signature = req.body.index 'name="signature"'
74
+ position_file = req.body.index 'name="file_0"'
75
+
76
+ _(position_params).wont_be_nil
77
+ _(position_signature).wont_be_nil
78
+ _(position_file).wont_be_nil
79
+
80
+ _(position_params < position_signature).must_equal true
81
+ _(position_signature < position_file).must_equal true
82
+ end
83
+ end
84
+ end
85
+
86
+ describe "with additional parameters" do
87
+ include WebMock::API
88
+
89
+ before do
90
+ WebMock.reset!
91
+ stub_request(:post, "https://api2.transloadit.com/assemblies")
92
+ .to_return(body: '{"ok":"ASSEMBLY_COMPLETED"}')
93
+ end
94
+
95
+ after do
96
+ WebMock.reset!
97
+ end
98
+
99
+ it "must allow to send a template id along" do
66
100
  Transloadit::Assembly.new(
67
101
  @transloadit,
68
- :template_id => 'TEMPLATE_ID'
102
+ template_id: "TEMPLATE_ID"
69
103
  ).create!
70
104
 
71
- assert_requested(:post, 'api2.transloadit.com/assemblies') do |req|
105
+ assert_requested(:post, "https://api2.transloadit.com/assemblies") do |req|
72
106
  values = values_from_post_body(req.body)
73
- MultiJson.load(values['params'])['template_id'].must_equal 'TEMPLATE_ID'
107
+ _(MultiJson.load(values["params"])["template_id"]).must_equal "TEMPLATE_ID"
74
108
  end
75
109
  end
76
110
 
77
- it 'must allow to send the fields hash' do
111
+ it "must allow to send the fields hash" do
78
112
  Transloadit::Assembly.new(
79
113
  @transloadit,
80
- :fields => {:tag => 'ninja-cat'}
114
+ fields: {tag: "ninja-cat"}
81
115
  ).create!
82
116
 
83
- assert_requested(:post, 'api2.transloadit.com/assemblies') do |req|
117
+ assert_requested(:post, "https://api2.transloadit.com/assemblies") do |req|
84
118
  values = values_from_post_body(req.body)
85
- values['tag'].must_equal 'ninja-cat'
86
- MultiJson.load(values['params'])['fields']['tag'].must_equal 'ninja-cat'
119
+ _(values["tag"]).must_equal "ninja-cat"
120
+ _(MultiJson.load(values["params"])["fields"]["tag"]).must_equal "ninja-cat"
87
121
  end
88
122
  end
89
123
 
90
- it 'must allow steps through the create! method' do
124
+ it "must allow steps through the create! method" do
91
125
  Transloadit::Assembly.new(@transloadit).create!(
92
- { :steps => @transloadit.step('thumbs', '/video/thumbs') }
126
+ steps: @transloadit.step("thumbs", "/video/thumbs")
93
127
  )
94
128
 
95
- assert_requested(:post, 'api2.transloadit.com/assemblies') do |req|
129
+ assert_requested(:post, "https://api2.transloadit.com/assemblies") do |req|
96
130
  values = values_from_post_body(req.body)
97
- MultiJson.load(values['params'])['steps'].must_equal({'thumbs'=>{'robot'=>'/video/thumbs'}})
131
+ _(MultiJson.load(values["params"])["steps"]).must_equal({"thumbs" => {"robot" => "/video/thumbs"}})
98
132
  end
99
133
  end
100
134
 
101
- it 'must allow steps passed through the create! method override steps previously set' do
102
- @assembly.create!({ :steps => @transloadit.step('resize', '/image/resize') })
135
+ it "must allow steps passed through the create! method override steps previously set" do
136
+ @assembly.create!(steps: @transloadit.step("resize", "/image/resize"))
103
137
 
104
- assert_requested(:post, 'api2.transloadit.com/assemblies') do |req|
138
+ assert_requested(:post, "https://api2.transloadit.com/assemblies") do |req|
105
139
  values = values_from_post_body(req.body)
106
- MultiJson.load(values['params'])['steps'].must_equal({"resize"=>{'robot'=>'/image/resize'}})
140
+ _(MultiJson.load(values["params"])["steps"]).must_equal({"resize" => {"robot" => "/image/resize"}})
107
141
  end
108
142
  end
109
143
  end
110
144
 
111
145
  describe 'when using the "submit!" method' do
112
-
113
- it 'must call the create! method with the same parameters' do
114
- VCR.use_cassette 'submit_assembly' do
115
- file = open('lib/transloadit/version.rb')
116
- mocker = MiniTest::Mock.new
146
+ it "must call the create! method with the same parameters" do
147
+ VCR.use_cassette "submit_assembly" do
148
+ file = open("lib/transloadit/version.rb")
149
+ mocker = Minitest::Mock.new
117
150
  mocker.expect :call, nil, [file]
118
151
  @assembly.stub :create!, mocker do
119
152
  @assembly.submit!(file)
@@ -123,54 +156,62 @@ describe Transloadit::Assembly do
123
156
  end
124
157
  end
125
158
 
126
- describe 'when rate limit is reached' do
127
-
128
- it 'must output a warning and retry for a successful request' do
129
- VCR.use_cassette 'rate_limit_succeed' do
130
- _, warning = capture_io do
131
- response = @assembly.create! open('lib/transloadit/version.rb')
132
- response['ok'].must_equal 'ASSEMBLY_COMPLETED'
133
- end
134
- warning.must_equal "Rate limit reached. Waiting for 0 seconds before retrying.\n"
159
+ describe "when rate limit is reached" do
160
+ it "must output a warning and retry for a successful request" do
161
+ VCR.use_cassette "rate_limit_succeed" do
162
+ _, warning = capture_io {
163
+ response = @assembly.create! open("lib/transloadit/version.rb")
164
+ _(response["ok"]).must_equal "ASSEMBLY_COMPLETED"
165
+ }
166
+ _(warning).must_equal "Rate limit reached. Waiting for 0 seconds before retrying.\n"
135
167
  end
136
168
  end
137
169
 
138
- it 'must retry only the number of times specified' do
170
+ it "must retry only the number of times specified" do
139
171
  @assembly.options[:tries] = 1
140
172
 
141
- VCR.use_cassette 'rate_limit_succeed' do
173
+ VCR.use_cassette "rate_limit_succeed" do
142
174
  assert_raises Transloadit::Exception::RateLimitReached do
143
- response = @assembly.create! open('lib/transloadit/version.rb')
175
+ @assembly.create! open("lib/transloadit/version.rb")
144
176
  end
145
177
  end
146
178
  end
147
179
 
148
- it 'must raise RateLimitReached exception after multiple retries request' do
149
- VCR.use_cassette 'rate_limit_fail' do
180
+ it "must raise RateLimitReached exception after multiple retries request" do
181
+ VCR.use_cassette "rate_limit_fail" do
150
182
  assert_raises Transloadit::Exception::RateLimitReached do
151
- response = @assembly.create! open('lib/transloadit/version.rb')
183
+ @assembly.create! open("lib/transloadit/version.rb")
152
184
  end
153
185
  end
154
186
  end
155
187
  end
156
188
  end
157
189
 
158
- describe 'with multiple steps' do
190
+ describe "with multiple steps" do
159
191
  before do
160
- @encode = @transloadit.step 'encode', '/video/encode'
161
- @thumbs = @transloadit.step 'thumbs', '/video/thumbs'
192
+ @encode = @transloadit.step "encode", "/video/encode"
193
+ @thumbs = @transloadit.step "thumbs", "/video/thumbs"
162
194
 
163
195
  @assembly = Transloadit::Assembly.new @transloadit,
164
- :steps => [ @encode, @thumbs ]
196
+ steps: [@encode, @thumbs]
165
197
  end
166
198
 
167
- it 'must wrap its steps into one hash' do
168
- @assembly.to_hash[:steps].keys.must_include @encode.name
169
- @assembly.to_hash[:steps].keys.must_include @thumbs.name
199
+ it "must wrap its steps into one hash" do
200
+ _(@assembly.to_hash[:steps].keys).must_include @encode.name
201
+ _(@assembly.to_hash[:steps].keys).must_include @thumbs.name
202
+ end
203
+
204
+ it "must not allow duplicate steps" do
205
+ thumbs = @transloadit.step("thumbs", "/video/thumbs")
206
+ thumbs_duplicate = @transloadit.step("thumbs", "/video/encode")
207
+ options = {steps: [thumbs, thumbs_duplicate]}
208
+ assert_raises ArgumentError do
209
+ @assembly.create! open("lib/transloadit/version.rb"), **options
210
+ end
170
211
  end
171
212
  end
172
213
 
173
- describe 'using assembly API methods' do
214
+ describe "using assembly API methods" do
174
215
  include WebMock::API
175
216
 
176
217
  before do
@@ -178,84 +219,79 @@ describe Transloadit::Assembly do
178
219
  @assembly = Transloadit::Assembly.new @transloadit
179
220
  end
180
221
 
181
- describe 'when fetching all assemblies' do
182
-
183
- it 'must perform GET request to /assemblies' do
184
- stub = stub_request(:get, 'api2.transloadit.com/assemblies?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D')
222
+ describe "when fetching all assemblies" do
223
+ it "must perform GET request to /assemblies" do
224
+ stub = stub_request(:get, "https://api2.transloadit.com/assemblies?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D")
185
225
  @assembly.list
186
226
 
187
227
  assert_requested(stub)
188
228
  end
189
229
 
190
- it 'must return a list of items' do
191
- VCR.use_cassette 'fetch_assemblies' do
230
+ it "must return a list of items" do
231
+ VCR.use_cassette "fetch_assemblies" do
192
232
  response = @assembly.list
193
233
 
194
- response['items'].must_equal []
195
- response['count'].must_equal 0
234
+ _(response["items"]).must_equal []
235
+ _(response["count"]).must_equal 0
196
236
  end
197
237
  end
198
238
  end
199
239
 
200
- describe 'when fetching single assembly' do
201
-
202
- it 'must perform GET request to /assemblies/[id]' do
203
- stub = stub_request(:get, 'api2.transloadit.com/assemblies/76fe5df1c93a0a530f3e583805cf98b4')
204
- @assembly.get '76fe5df1c93a0a530f3e583805cf98b4'
240
+ describe "when fetching single assembly" do
241
+ it "must perform GET request to /assemblies/[id]" do
242
+ stub = stub_request(:get, "https://api2.transloadit.com/assemblies/76fe5df1c93a0a530f3e583805cf98b4")
243
+ @assembly.get "76fe5df1c93a0a530f3e583805cf98b4"
205
244
 
206
245
  assert_requested(stub)
207
246
  end
208
247
 
209
- it 'must get assembly with specified id' do
210
- VCR.use_cassette 'fetch_assembly_ok' do
211
- response = @assembly.get '76fe5df1c93a0a530f3e583805cf98b4'
212
- response['assembly_id'].must_equal '76fe5df1c93a0a530f3e583805cf98b4'
248
+ it "must get assembly with specified id" do
249
+ VCR.use_cassette "fetch_assembly_ok" do
250
+ response = @assembly.get "76fe5df1c93a0a530f3e583805cf98b4"
251
+ _(response["assembly_id"]).must_equal "76fe5df1c93a0a530f3e583805cf98b4"
213
252
  end
214
253
  end
215
254
  end
216
255
 
217
- describe 'when fetching assembly notifications' do
218
-
219
- it 'must perform GET request to /assembly_notifications' do
256
+ describe "when fetching assembly notifications" do
257
+ it "must perform GET request to /assembly_notifications" do
220
258
  stub = stub_request(
221
259
  :get,
222
- 'api2.transloadit.com/assembly_notifications?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D'
260
+ "https://api2.transloadit.com/assembly_notifications?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D"
223
261
  )
224
262
  @assembly.get_notifications
225
263
 
226
264
  assert_requested(stub)
227
265
  end
228
266
 
229
- it 'must return a list of items' do
230
- VCR.use_cassette 'fetch_assembly_notifications' do
267
+ it "must return a list of items" do
268
+ VCR.use_cassette "fetch_assembly_notifications" do
231
269
  response = @assembly.get_notifications
232
270
 
233
- response['items'].must_equal []
234
- response['count'].must_equal 0
271
+ _(response["items"]).must_equal []
272
+ _(response["count"]).must_equal 0
235
273
  end
236
274
  end
237
275
  end
238
276
 
239
- describe 'when replaying assembly' do
240
-
241
- it 'must perform POST request to assemblies/[id]/replay' do
242
- VCR.use_cassette 'replay_assembly' do
243
- response = @assembly.replay '55c965a063a311e6ba2d379ef10b28f7'
277
+ describe "when replaying assembly" do
278
+ it "must perform POST request to assemblies/[id]/replay" do
279
+ VCR.use_cassette "replay_assembly" do
280
+ response = @assembly.replay "55c965a063a311e6ba2d379ef10b28f7"
244
281
 
245
- response['ok'].must_equal 'ASSEMBLY_REPLAYING'
246
- response['assembly_id'].must_equal 'b8590300650211e6b826d727b2cfd9ce'
282
+ _(response["ok"]).must_equal "ASSEMBLY_REPLAYING"
283
+ _(response["assembly_id"]).must_equal "b8590300650211e6b826d727b2cfd9ce"
247
284
  end
248
285
  end
249
286
  end
250
287
 
251
- describe 'when replaying assembly notification' do
252
-
253
- it 'must replay notification of sepcified assembly' do
254
- VCR.use_cassette 'replay_assembly_notification' do
255
- response = @assembly.replay_notification '2ea5d21063ad11e6bc93e53395ce4e7d'
288
+ describe "when replaying assembly notification" do
289
+ it "must replay notification of sepcified assembly" do
290
+ VCR.use_cassette "replay_assembly_notification" do
291
+ response = @assembly.replay_notification "2ea5d21063ad11e6bc93e53395ce4e7d"
256
292
 
257
- response['ok'].must_equal 'ASSEMBLY_NOTIFICATION_REPLAYED'
258
- response['assembly_id'].must_equal '2ea5d21063ad11e6bc93e53395ce4e7d'
293
+ _(response["ok"]).must_equal "ASSEMBLY_NOTIFICATION_REPLAYED"
294
+ _(response["assembly_id"]).must_equal "2ea5d21063ad11e6bc93e53395ce4e7d"
259
295
  end
260
296
  end
261
297
  end
@@ -1,78 +1,77 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  describe Transloadit::Request do
4
- it 'must allow initialization' do
5
- request = Transloadit::Request.new '/'
6
- request.must_be_kind_of Transloadit::Request
4
+ it "must allow initialization" do
5
+ request = Transloadit::Request.new "/"
6
+ _(request).must_be_kind_of Transloadit::Request
7
7
  end
8
8
 
9
- describe 'when performing a GET' do
9
+ describe "when performing a GET" do
10
10
  before do
11
- @request = Transloadit::Request.new '/'
11
+ @request = Transloadit::Request.new "/"
12
12
  end
13
13
 
14
- it 'must inspect to the API URL' do
15
- @request.inspect.must_equal @request.url.to_s.inspect
14
+ it "must inspect to the API URL" do
15
+ _(@request.inspect).must_equal @request.url.to_s.inspect
16
16
  end
17
17
 
18
- it 'must perform a GET against the resource' do
19
- VCR.use_cassette 'fetch_root' do
20
- @request.get(:params => { :foo => 'bar'})['ok'].
21
- must_equal 'SERVER_ROOT'
18
+ it "must perform a GET against the resource" do
19
+ VCR.use_cassette "fetch_root" do
20
+ _(@request.get(params: {foo: "bar"})["ok"])
21
+ .must_equal "SERVER_ROOT"
22
22
  end
23
23
  end
24
24
 
25
- describe 'with secret' do
25
+ describe "with secret" do
26
26
  before do
27
27
  @request.secret = "tehsupersecrettoken"
28
28
  end
29
29
 
30
- it 'must inspect to the API URL' do
31
- @request.inspect.must_equal @request.url.to_s.inspect
30
+ it "must inspect to the API URL" do
31
+ _(@request.inspect).must_equal @request.url.to_s.inspect
32
32
  end
33
33
 
34
- it 'must perform a GET against the resource' do
35
- VCR.use_cassette 'fetch_root' do
36
- @request.get(:params => { :foo => 'bar'})['ok'].
37
- must_equal 'SERVER_ROOT'
34
+ it "must perform a GET against the resource" do
35
+ VCR.use_cassette "fetch_root" do
36
+ _(@request.get(params: {foo: "bar"})["ok"])
37
+ .must_equal "SERVER_ROOT"
38
38
  end
39
39
  end
40
-
41
40
  end
42
41
  end
43
42
 
44
- describe 'when performing a POST' do
45
- it 'must perform a POST against the resource' do
46
- @request = Transloadit::Request.new('assemblies', 'secret')
43
+ describe "when performing a POST" do
44
+ it "must perform a POST against the resource" do
45
+ @request = Transloadit::Request.new("assemblies", "secret")
47
46
 
48
- VCR.use_cassette 'post_assembly' do
49
- @request.post(:params => {
50
- :auth => { :key => '',
51
- :expires => (Time.now + 10).utc.strftime('%Y/%m/%d %H:%M:%S+00:00') },
52
- :steps => { :encode => { :robot => '/video/encode' } }
53
- })['ok'].must_equal 'ASSEMBLY_COMPLETED'
47
+ VCR.use_cassette "post_assembly" do
48
+ _(@request.post(params: {
49
+ auth: {key: "",
50
+ expires: (Time.now + 10).utc.strftime("%Y/%m/%d %H:%M:%S+00:00")},
51
+ steps: {encode: {robot: "/video/encode"}}
52
+ })["ok"]).must_equal "ASSEMBLY_COMPLETED"
54
53
  end
55
54
  end
56
55
  end
57
56
 
58
- describe 'when performing a PUT' do
59
- it 'must perform a PUT against the resource' do
60
- @request = Transloadit::Request.new('templates/55c965a063a311e6ba2d379ef10b28f7', 'secret')
61
- VCR.use_cassette 'update_template' do
62
- @request.put(:params => {
63
- :name => 'foo',
64
- :template => {:key => 'value'}
65
- })['ok'].must_equal 'TEMPLATE_UPDATED'
57
+ describe "when performing a PUT" do
58
+ it "must perform a PUT against the resource" do
59
+ @request = Transloadit::Request.new("templates/55c965a063a311e6ba2d379ef10b28f7", "secret")
60
+ VCR.use_cassette "update_template" do
61
+ _(@request.put(params: {
62
+ name: "foo",
63
+ template: {key: "value"}
64
+ })["ok"]).must_equal "TEMPLATE_UPDATED"
66
65
  end
67
66
  end
68
67
  end
69
68
 
70
- describe 'when performing a DELETE' do
71
- it 'must perform a DELETE against the resource' do
72
- @request = Transloadit::Request.new('templates/55c965a063a311e6ba2d379ef10b28f7', 'secret')
69
+ describe "when performing a DELETE" do
70
+ it "must perform a DELETE against the resource" do
71
+ @request = Transloadit::Request.new("templates/55c965a063a311e6ba2d379ef10b28f7", "secret")
73
72
 
74
- VCR.use_cassette 'delete_template' do
75
- @request.delete['ok'].must_equal 'TEMPLATE_DELETED'
73
+ VCR.use_cassette "delete_template" do
74
+ _(@request.delete["ok"]).must_equal "TEMPLATE_DELETED"
76
75
  end
77
76
  end
78
77
  end