resizing 1.1.0.pre → 1.2.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.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +17 -2
- data/Gemfile +6 -2
- data/README.md +59 -32
- data/lib/resizing/active_storage/service/resizing_service.rb +6 -2
- data/lib/resizing/active_storage/service.rb +9 -0
- data/lib/resizing/active_storage.rb +7 -0
- data/lib/resizing/carrier_wave/storage/file.rb +35 -16
- data/lib/resizing/carrier_wave/storage/remote.rb +7 -3
- data/lib/resizing/carrier_wave.rb +10 -11
- data/lib/resizing/client.rb +40 -24
- data/lib/resizing/configurable.rb +1 -1
- data/lib/resizing/configuration.rb +6 -16
- data/lib/resizing/http_clientable.rb +3 -3
- data/lib/resizing/mock_client.rb +6 -5
- data/lib/resizing/public_id.rb +5 -4
- data/lib/resizing/version.rb +1 -1
- data/lib/resizing.rb +15 -12
- data/resizing.gemspec +5 -8
- data/test/resizing/active_storage_service_test.rb +98 -0
- data/test/resizing/carrier_wave/storage/file_test.rb +149 -8
- data/test/resizing/carrier_wave/storage/remote_test.rb +75 -0
- data/test/resizing/carrier_wave_test.rb +99 -37
- data/test/resizing/client_test.rb +96 -11
- data/test/resizing/configurable_test.rb +82 -0
- data/test/resizing/configuration_test.rb +118 -2
- data/test/resizing/constants_test.rb +25 -0
- data/test/resizing/error_test.rb +73 -0
- data/test/resizing/http_clientable_test.rb +84 -0
- data/test/resizing/mock_client_test.rb +75 -0
- data/test/resizing/public_id_test.rb +1 -1
- data/test/resizing_module_test.rb +206 -0
- data/test/test_helper.rb +89 -9
- metadata +33 -47
- data/lib/resizing/video/client.rb +0 -116
- data/lib/resizing/video.rb +0 -8
- data/test/resizing/video/client_test.rb +0 -158
- data/test/vcr/video/metadata/success.yml +0 -47
- data/test/vcr/video/prepare/success.yml +0 -47
- data/test/vcr/video/upload_completed/success.yml +0 -47
- /data/{exe → bin}/console +0 -0
- /data/{exe → bin}/generate-changelog +0 -0
- /data/{exe → bin}/setup +0 -0
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: resizing
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Junichiro Kasuya
|
|
8
|
-
autorequire:
|
|
9
|
-
bindir:
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -38,20 +38,6 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rails
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '6.0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '6.0'
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
42
|
name: carrierwave
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -84,16 +70,16 @@ dependencies:
|
|
|
84
70
|
name: minitest
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
86
72
|
requirements:
|
|
87
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
88
74
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
75
|
+
version: '5.16'
|
|
90
76
|
type: :development
|
|
91
77
|
prerelease: false
|
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
79
|
requirements:
|
|
94
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
82
|
+
version: '5.16'
|
|
97
83
|
- !ruby/object:Gem::Dependency
|
|
98
84
|
name: minitest-ci
|
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,7 +95,7 @@ dependencies:
|
|
|
109
95
|
- !ruby/object:Gem::Version
|
|
110
96
|
version: '0'
|
|
111
97
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
98
|
+
name: mysql2
|
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
|
114
100
|
requirements:
|
|
115
101
|
- - ">="
|
|
@@ -123,7 +109,7 @@ dependencies:
|
|
|
123
109
|
- !ruby/object:Gem::Version
|
|
124
110
|
version: '0'
|
|
125
111
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
112
|
+
name: rubocop
|
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
|
128
114
|
requirements:
|
|
129
115
|
- - ">="
|
|
@@ -137,7 +123,7 @@ dependencies:
|
|
|
137
123
|
- !ruby/object:Gem::Version
|
|
138
124
|
version: '0'
|
|
139
125
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
126
|
+
name: simplecov
|
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
|
142
128
|
requirements:
|
|
143
129
|
- - ">="
|
|
@@ -151,7 +137,7 @@ dependencies:
|
|
|
151
137
|
- !ruby/object:Gem::Version
|
|
152
138
|
version: '0'
|
|
153
139
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
140
|
+
name: simplecov-cobertura
|
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
|
156
142
|
requirements:
|
|
157
143
|
- - ">="
|
|
@@ -165,7 +151,7 @@ dependencies:
|
|
|
165
151
|
- !ruby/object:Gem::Version
|
|
166
152
|
version: '0'
|
|
167
153
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
154
|
+
name: timecop
|
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
|
170
156
|
requirements:
|
|
171
157
|
- - ">="
|
|
@@ -179,7 +165,7 @@ dependencies:
|
|
|
179
165
|
- !ruby/object:Gem::Version
|
|
180
166
|
version: '0'
|
|
181
167
|
- !ruby/object:Gem::Dependency
|
|
182
|
-
name:
|
|
168
|
+
name: vcr
|
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
|
184
170
|
requirements:
|
|
185
171
|
- - ">="
|
|
@@ -195,10 +181,7 @@ dependencies:
|
|
|
195
181
|
description: 'Client and utilities for Resizing '
|
|
196
182
|
email:
|
|
197
183
|
- junichiro.kasuya@gmail.com
|
|
198
|
-
executables:
|
|
199
|
-
- console
|
|
200
|
-
- generate-changelog
|
|
201
|
-
- setup
|
|
184
|
+
executables: []
|
|
202
185
|
extensions: []
|
|
203
186
|
extra_rdoc_files: []
|
|
204
187
|
files:
|
|
@@ -210,11 +193,13 @@ files:
|
|
|
210
193
|
- LICENSE.txt
|
|
211
194
|
- README.md
|
|
212
195
|
- Rakefile
|
|
196
|
+
- bin/console
|
|
197
|
+
- bin/generate-changelog
|
|
198
|
+
- bin/setup
|
|
213
199
|
- docker-compose.yml
|
|
214
|
-
- exe/console
|
|
215
|
-
- exe/generate-changelog
|
|
216
|
-
- exe/setup
|
|
217
200
|
- lib/resizing.rb
|
|
201
|
+
- lib/resizing/active_storage.rb
|
|
202
|
+
- lib/resizing/active_storage/service.rb
|
|
218
203
|
- lib/resizing/active_storage/service/resizing_service.rb
|
|
219
204
|
- lib/resizing/carrier_wave.rb
|
|
220
205
|
- lib/resizing/carrier_wave/storage/file.rb
|
|
@@ -227,18 +212,22 @@ files:
|
|
|
227
212
|
- lib/resizing/mock_client.rb
|
|
228
213
|
- lib/resizing/public_id.rb
|
|
229
214
|
- lib/resizing/version.rb
|
|
230
|
-
- lib/resizing/video.rb
|
|
231
|
-
- lib/resizing/video/client.rb
|
|
232
215
|
- resizing.gemspec
|
|
233
216
|
- test/data/images/empty_file.jpg
|
|
234
217
|
- test/data/images/sample1.jpg
|
|
218
|
+
- test/resizing/active_storage_service_test.rb
|
|
235
219
|
- test/resizing/carrier_wave/storage/file_test.rb
|
|
236
220
|
- test/resizing/carrier_wave/storage/remote_test.rb
|
|
237
221
|
- test/resizing/carrier_wave_test.rb
|
|
238
222
|
- test/resizing/client_test.rb
|
|
223
|
+
- test/resizing/configurable_test.rb
|
|
239
224
|
- test/resizing/configuration_test.rb
|
|
225
|
+
- test/resizing/constants_test.rb
|
|
226
|
+
- test/resizing/error_test.rb
|
|
227
|
+
- test/resizing/http_clientable_test.rb
|
|
228
|
+
- test/resizing/mock_client_test.rb
|
|
240
229
|
- test/resizing/public_id_test.rb
|
|
241
|
-
- test/
|
|
230
|
+
- test/resizing_module_test.rb
|
|
242
231
|
- test/resizing_test.rb
|
|
243
232
|
- test/test_helper.rb
|
|
244
233
|
- test/vcr/carrier_wave_test/remove_resizing_picture.yml
|
|
@@ -248,9 +237,6 @@ files:
|
|
|
248
237
|
- test/vcr/client/metadata.yml
|
|
249
238
|
- test/vcr/client/post.yml
|
|
250
239
|
- test/vcr/client/put.yml
|
|
251
|
-
- test/vcr/video/metadata/success.yml
|
|
252
|
-
- test/vcr/video/prepare/success.yml
|
|
253
|
-
- test/vcr/video/upload_completed/success.yml
|
|
254
240
|
homepage: https://github.com/jksy/resizing-gem
|
|
255
241
|
licenses:
|
|
256
242
|
- MIT
|
|
@@ -258,7 +244,7 @@ metadata:
|
|
|
258
244
|
allowed_push_host: https://rubygems.org
|
|
259
245
|
homepage_uri: https://github.com/jksy/resizing-gem
|
|
260
246
|
source_code_uri: https://github.com/jksy/resizing-gem.
|
|
261
|
-
post_install_message:
|
|
247
|
+
post_install_message:
|
|
262
248
|
rdoc_options: []
|
|
263
249
|
require_paths:
|
|
264
250
|
- lib
|
|
@@ -266,15 +252,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
266
252
|
requirements:
|
|
267
253
|
- - ">="
|
|
268
254
|
- !ruby/object:Gem::Version
|
|
269
|
-
version:
|
|
255
|
+
version: 3.0.0
|
|
270
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
257
|
requirements:
|
|
272
|
-
- - "
|
|
258
|
+
- - ">="
|
|
273
259
|
- !ruby/object:Gem::Version
|
|
274
|
-
version:
|
|
260
|
+
version: '0'
|
|
275
261
|
requirements: []
|
|
276
|
-
rubygems_version: 3.
|
|
277
|
-
signing_key:
|
|
262
|
+
rubygems_version: 3.4.19
|
|
263
|
+
signing_key:
|
|
278
264
|
specification_version: 4
|
|
279
265
|
summary: Client and utilities for Resizing
|
|
280
266
|
test_files: []
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Resizing
|
|
4
|
-
module Video
|
|
5
|
-
class Client
|
|
6
|
-
include Resizing::Constants
|
|
7
|
-
include Resizing::Configurable
|
|
8
|
-
include Resizing::HttpClientable
|
|
9
|
-
|
|
10
|
-
def initialize(*attrs)
|
|
11
|
-
initialize_config(*attrs)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def prepare
|
|
15
|
-
url = build_prepare_url
|
|
16
|
-
|
|
17
|
-
response = handle_faraday_error do
|
|
18
|
-
http_client.post(url) do |request|
|
|
19
|
-
request.headers['X-ResizingToken'] = config.generate_auth_header
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
handle_prepare_response response
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def upload_completed response_or_url
|
|
26
|
-
url = url_from response_or_url, 'upload_completed_url'
|
|
27
|
-
|
|
28
|
-
response = handle_faraday_error do
|
|
29
|
-
http_client.put(url) do |request|
|
|
30
|
-
request.headers['X-ResizingToken'] = config.generate_auth_header
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
handle_upload_completed_response response
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def delete response_or_url
|
|
37
|
-
url = url_from response_or_url, 'destroy_url'
|
|
38
|
-
|
|
39
|
-
response = handle_faraday_error do
|
|
40
|
-
http_client.put(url) do |request|
|
|
41
|
-
request.headers['X-ResizingToken'] = config.generate_auth_header
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
handle_upload_completed_response response
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def metadata response_or_url
|
|
48
|
-
url = url_from response_or_url, 'self_url'
|
|
49
|
-
|
|
50
|
-
response = handle_faraday_error do
|
|
51
|
-
http_client.get(url) do |request|
|
|
52
|
-
request.headers['X-ResizingToken'] = config.generate_auth_header
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
handle_metadata_response response
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def build_prepare_url
|
|
59
|
-
"#{config.video_host}/projects/#{config.project_id}/upload/videos/prepare"
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
private
|
|
63
|
-
|
|
64
|
-
def url_from response_or_url, name
|
|
65
|
-
if response_or_url.kind_of? String
|
|
66
|
-
response_or_url
|
|
67
|
-
elsif response_or_url.kind_of? Hash
|
|
68
|
-
response_or_url[name.to_s] || response_or_url[name.intern]
|
|
69
|
-
else
|
|
70
|
-
raise ArgumentError, "upload_completed is require Hash or String"
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
def handle_prepare_response response
|
|
76
|
-
raise APIError, "no response is returned" if response.nil?
|
|
77
|
-
|
|
78
|
-
case response.status
|
|
79
|
-
when HTTP_STATUS_OK, HTTP_STATUS_CREATED
|
|
80
|
-
JSON.parse(response.body)
|
|
81
|
-
else
|
|
82
|
-
handle_error_response response
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def handle_upload_completed_response response
|
|
87
|
-
raise APIError, "no response is returned" if response.nil?
|
|
88
|
-
|
|
89
|
-
case response.status
|
|
90
|
-
when HTTP_STATUS_OK
|
|
91
|
-
JSON.parse(response.body)
|
|
92
|
-
else
|
|
93
|
-
handle_error_response response
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def handle_metadata_response response
|
|
98
|
-
raise APIError, "no response is returned" if response.nil?
|
|
99
|
-
|
|
100
|
-
case response.status
|
|
101
|
-
when HTTP_STATUS_OK
|
|
102
|
-
JSON.parse(response.body)
|
|
103
|
-
else
|
|
104
|
-
handle_error_response response
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
def handle_error_response response
|
|
109
|
-
result = JSON.parse(response.body) rescue {}
|
|
110
|
-
err = APIError.new("invalid http status code #{response.status}")
|
|
111
|
-
err.decoded_body = result
|
|
112
|
-
raise err
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
end
|
data/lib/resizing/video.rb
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'test_helper'
|
|
4
|
-
|
|
5
|
-
module Resizing
|
|
6
|
-
module Video
|
|
7
|
-
class ClientTest < Minitest::Test
|
|
8
|
-
def setup
|
|
9
|
-
# TODO
|
|
10
|
-
# refactoring
|
|
11
|
-
@configuration_template = {
|
|
12
|
-
image_host: 'http://192.168.56.101:5000',
|
|
13
|
-
video_host: 'http://192.168.56.101:5000',
|
|
14
|
-
project_id: 'f11dfad4-2247-4220-b3b2-efeb82864a97',
|
|
15
|
-
secret_token: 'xn2fkkrrp2uiragliaigkx3mwnmjis6dg35sa3kya12sq133t3xjp36s7iwamp64',
|
|
16
|
-
open_timeout: 10,
|
|
17
|
-
response_timeout: 20
|
|
18
|
-
}
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def teardown
|
|
22
|
-
# NOP
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def test_is_initialized
|
|
26
|
-
Resizing.configure = @configuration_template
|
|
27
|
-
|
|
28
|
-
client = Resizing::Video::Client.new
|
|
29
|
-
assert(!client.config.nil?)
|
|
30
|
-
assert_equal(client.config, Resizing.configure)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_is_initialized_with_configuration
|
|
34
|
-
config = Resizing::Configuration.new(@configuration_template)
|
|
35
|
-
client = Resizing::Video::Client.new(config)
|
|
36
|
-
assert(!client.config.nil?)
|
|
37
|
-
assert_equal(client.config, config)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def test_is_callable_build_prepare_url
|
|
41
|
-
Resizing.configure = @configuration_template
|
|
42
|
-
|
|
43
|
-
client = Resizing::Video::Client.new
|
|
44
|
-
url = client.build_prepare_url
|
|
45
|
-
assert_equal(url, 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/prepare')
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def test_is_callable_prepare
|
|
49
|
-
Resizing.configure = @configuration_template
|
|
50
|
-
|
|
51
|
-
client = Resizing::Video::Client.new
|
|
52
|
-
VCR.use_cassette 'video/prepare/success', record: :once do
|
|
53
|
-
base_url = 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d'
|
|
54
|
-
r = client.prepare
|
|
55
|
-
assert_equal(r['id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
|
|
56
|
-
assert_equal(r['project_id'], Resizing.configure.project_id)
|
|
57
|
-
assert_equal(r['state'], 'initialized')
|
|
58
|
-
assert_nil(r['deleted_at'])
|
|
59
|
-
# assert_nil(r['source_uri']) # TODO: remove
|
|
60
|
-
assert(r['s3_presigned_url'] != nil)
|
|
61
|
-
assert_nil(r['converted_uri']) # TODO:remove
|
|
62
|
-
assert(r['created_at'] != nil)
|
|
63
|
-
assert(r['updated_at'] != nil)
|
|
64
|
-
assert(r['upload_completed_url'], "#{base_url}/upload_completed")
|
|
65
|
-
assert(r['self_url'], "#{base_url}.json")
|
|
66
|
-
assert_nil(r['m3u8_url'])
|
|
67
|
-
assert_nil(r['avc_url'])
|
|
68
|
-
assert_nil(r['hevc_url'])
|
|
69
|
-
assert_includes(r['thumbnail_url'], 'now-converting')
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def test_is_timeout_with_prepare_method
|
|
74
|
-
Resizing.configure = @configuration_template.merge(project_id: 'timeout_project_id')
|
|
75
|
-
|
|
76
|
-
client = Resizing::Video::Client.new
|
|
77
|
-
assert_raises Resizing::APIError do
|
|
78
|
-
client.prepare
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
def test_is_callable_upload_complete_with_response
|
|
83
|
-
Resizing.configure = @configuration_template
|
|
84
|
-
|
|
85
|
-
client = Resizing::Video::Client.new
|
|
86
|
-
r = nil
|
|
87
|
-
VCR.use_cassette 'video/prepare/success', record: :once do
|
|
88
|
-
r = client.prepare
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
VCR.use_cassette 'video/upload_completed/success', record: :once do
|
|
92
|
-
r = client.upload_completed r
|
|
93
|
-
assert_upload_completed_response r
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def test_is_callable_upload_complete_with_string
|
|
98
|
-
Resizing.configure = @configuration_template
|
|
99
|
-
|
|
100
|
-
client = Resizing::Video::Client.new
|
|
101
|
-
r = nil
|
|
102
|
-
VCR.use_cassette 'video/prepare/success', record: :once do
|
|
103
|
-
r = client.prepare
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
VCR.use_cassette 'video/upload_completed/success', record: :once do
|
|
107
|
-
r = client.upload_completed r['upload_completed_url']
|
|
108
|
-
assert_upload_completed_response r
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
def test_is_callable_metadata_with_response
|
|
113
|
-
Resizing.configure = @configuration_template
|
|
114
|
-
|
|
115
|
-
client = Resizing::Video::Client.new
|
|
116
|
-
r = nil
|
|
117
|
-
VCR.use_cassette 'video/prepare/success', record: :once do
|
|
118
|
-
r = client.prepare
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
completed_response = nil
|
|
122
|
-
VCR.use_cassette 'video/upload_completed/success', record: :once do
|
|
123
|
-
completed_response = client.upload_completed r['upload_completed_url']
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
VCR.use_cassette 'video/metadata/success', record: :once do
|
|
127
|
-
r = client.metadata r
|
|
128
|
-
assert_equal(completed_response, r)
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def assert_upload_completed_response r
|
|
133
|
-
base_url = 'http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d'
|
|
134
|
-
assert_equal(r['id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
|
|
135
|
-
assert_equal(r['project_id'], Resizing.configure.project_id)
|
|
136
|
-
assert_equal(r['state'], 'uploaded')
|
|
137
|
-
assert_nil(r['deleted_at'])
|
|
138
|
-
# assert(r['source_uri'] != nil) # TODO: remove
|
|
139
|
-
assert(r['s3_presigned_url'] != nil)
|
|
140
|
-
# assert_equal(r['converted_uri'], "#{base_url}/") # TODO:remove
|
|
141
|
-
assert(r['created_at'] != nil)
|
|
142
|
-
assert(r['updated_at'] != nil)
|
|
143
|
-
assert(r['upload_completed_url'], "#{base_url}/upload_completed")
|
|
144
|
-
assert(r['self_url'], "#{base_url}.json")
|
|
145
|
-
assert_nil(r['m3u8_url'])
|
|
146
|
-
assert_nil(r['avc_url'])
|
|
147
|
-
assert_nil(r['hevc_url'])
|
|
148
|
-
assert_includes(r['thumbnail_url'], 'now-converting')
|
|
149
|
-
assert_equal(r['job_state']['id'], 'a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5')
|
|
150
|
-
assert_equal(r['job_state']['upload_video_id'], '3a101d25-e03f-4fac-a4ee-dbe882c6139d')
|
|
151
|
-
assert_equal(r['job_state']['state'], 'initialized')
|
|
152
|
-
assert_equal(r['job_state']['job_percent_complete'], 0)
|
|
153
|
-
assert(r['job_state']['created_at'] != nil)
|
|
154
|
-
assert(r['job_state']['updated_at'] != nil)
|
|
155
|
-
end
|
|
156
|
-
end
|
|
157
|
-
end
|
|
158
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
http_interactions:
|
|
3
|
-
- request:
|
|
4
|
-
method: get
|
|
5
|
-
uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json
|
|
6
|
-
body:
|
|
7
|
-
encoding: US-ASCII
|
|
8
|
-
string: ''
|
|
9
|
-
headers:
|
|
10
|
-
User-Agent:
|
|
11
|
-
- Faraday v1.0.1
|
|
12
|
-
X-ResizingToken:
|
|
13
|
-
- v1,1611308558,a02cf32edef894208f6d1bc17cc6182783728e2b2edfdca1bf6b3109fe37a58d
|
|
14
|
-
response:
|
|
15
|
-
status:
|
|
16
|
-
code: 200
|
|
17
|
-
message: OK
|
|
18
|
-
headers:
|
|
19
|
-
x-frame-options:
|
|
20
|
-
- SAMEORIGIN
|
|
21
|
-
x-xss-protection:
|
|
22
|
-
- 1; mode=block
|
|
23
|
-
x-content-type-options:
|
|
24
|
-
- nosniff
|
|
25
|
-
x-download-options:
|
|
26
|
-
- noopen
|
|
27
|
-
x-permitted-cross-domain-policies:
|
|
28
|
-
- none
|
|
29
|
-
referrer-policy:
|
|
30
|
-
- strict-origin-when-cross-origin
|
|
31
|
-
content-type:
|
|
32
|
-
- application/json; charset=utf-8
|
|
33
|
-
etag:
|
|
34
|
-
- W/"f2386fd24b9a80cecab7721608aa8902"
|
|
35
|
-
cache-control:
|
|
36
|
-
- max-age=0, private, must-revalidate
|
|
37
|
-
x-request-id:
|
|
38
|
-
- 84895278-9508-45c0-a7dc-d1087dc68813
|
|
39
|
-
x-runtime:
|
|
40
|
-
- '0.023674'
|
|
41
|
-
transfer-encoding:
|
|
42
|
-
- chunked
|
|
43
|
-
body:
|
|
44
|
-
encoding: UTF-8
|
|
45
|
-
string: '{"id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","state":"uploaded","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":"s3://resizing-bucket-development-video/videos/converted/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.878Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":{"id":"a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5","upload_video_id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"initialized","job_percent_complete":0,"created_at":"2021-01-22T09:42:38.501Z","updated_at":"2021-01-22T09:42:38.501Z"}}'
|
|
46
|
-
recorded_at: Fri, 22 Jan 2021 09:42:38 GMT
|
|
47
|
-
recorded_with: VCR 6.0.0
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
http_interactions:
|
|
3
|
-
- request:
|
|
4
|
-
method: post
|
|
5
|
-
uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/prepare
|
|
6
|
-
body:
|
|
7
|
-
encoding: US-ASCII
|
|
8
|
-
string: ''
|
|
9
|
-
headers:
|
|
10
|
-
User-Agent:
|
|
11
|
-
- Faraday v1.0.1
|
|
12
|
-
X-ResizingToken:
|
|
13
|
-
- v1,1611308557,6628235db472f228a7c3c6b309e081b6c32aac01890abbfd2f38230ff4105c1c
|
|
14
|
-
response:
|
|
15
|
-
status:
|
|
16
|
-
code: 200
|
|
17
|
-
message: OK
|
|
18
|
-
headers:
|
|
19
|
-
x-frame-options:
|
|
20
|
-
- SAMEORIGIN
|
|
21
|
-
x-xss-protection:
|
|
22
|
-
- 1; mode=block
|
|
23
|
-
x-content-type-options:
|
|
24
|
-
- nosniff
|
|
25
|
-
x-download-options:
|
|
26
|
-
- noopen
|
|
27
|
-
x-permitted-cross-domain-policies:
|
|
28
|
-
- none
|
|
29
|
-
referrer-policy:
|
|
30
|
-
- strict-origin-when-cross-origin
|
|
31
|
-
content-type:
|
|
32
|
-
- application/json; charset=utf-8
|
|
33
|
-
etag:
|
|
34
|
-
- W/"273d4e663c17e06deb0c69cc90bb79b6"
|
|
35
|
-
cache-control:
|
|
36
|
-
- max-age=0, private, must-revalidate
|
|
37
|
-
x-request-id:
|
|
38
|
-
- e586873a-9cc9-45a0-a216-5e62165cb9f1
|
|
39
|
-
x-runtime:
|
|
40
|
-
- '0.046932'
|
|
41
|
-
transfer-encoding:
|
|
42
|
-
- chunked
|
|
43
|
-
body:
|
|
44
|
-
encoding: UTF-8
|
|
45
|
-
string: '{"id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","state":"initialized","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":null,"created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.670Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":null}'
|
|
46
|
-
recorded_at: Fri, 22 Jan 2021 09:42:37 GMT
|
|
47
|
-
recorded_with: VCR 6.0.0
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
http_interactions:
|
|
3
|
-
- request:
|
|
4
|
-
method: put
|
|
5
|
-
uri: http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed
|
|
6
|
-
body:
|
|
7
|
-
encoding: US-ASCII
|
|
8
|
-
string: ''
|
|
9
|
-
headers:
|
|
10
|
-
User-Agent:
|
|
11
|
-
- Faraday v1.0.1
|
|
12
|
-
X-ResizingToken:
|
|
13
|
-
- v1,1611308557,6628235db472f228a7c3c6b309e081b6c32aac01890abbfd2f38230ff4105c1c
|
|
14
|
-
response:
|
|
15
|
-
status:
|
|
16
|
-
code: 200
|
|
17
|
-
message: OK
|
|
18
|
-
headers:
|
|
19
|
-
x-frame-options:
|
|
20
|
-
- SAMEORIGIN
|
|
21
|
-
x-xss-protection:
|
|
22
|
-
- 1; mode=block
|
|
23
|
-
x-content-type-options:
|
|
24
|
-
- nosniff
|
|
25
|
-
x-download-options:
|
|
26
|
-
- noopen
|
|
27
|
-
x-permitted-cross-domain-policies:
|
|
28
|
-
- none
|
|
29
|
-
referrer-policy:
|
|
30
|
-
- strict-origin-when-cross-origin
|
|
31
|
-
content-type:
|
|
32
|
-
- application/json; charset=utf-8
|
|
33
|
-
etag:
|
|
34
|
-
- W/"f7ce780fcb3afdb5077ccfee0564b182"
|
|
35
|
-
cache-control:
|
|
36
|
-
- max-age=0, private, must-revalidate
|
|
37
|
-
x-request-id:
|
|
38
|
-
- 8a79b573-8db2-474c-a994-9e1ff59bc6c1
|
|
39
|
-
x-runtime:
|
|
40
|
-
- '0.830313'
|
|
41
|
-
transfer-encoding:
|
|
42
|
-
- chunked
|
|
43
|
-
body:
|
|
44
|
-
encoding: UTF-8
|
|
45
|
-
string: '{"project_id":"f11dfad4-2247-4220-b3b2-efeb82864a97","id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"uploaded","source_uri":"s3://resizing-bucket-development-video/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","deleted_at":null,"s3_presigned_url":"https://resizing-bucket-development-video.s3.ap-northeast-1.amazonaws.com/videos/uploading/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIXXXXXXXXXX%2F20210122%2Fap-northeast-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210122T094237Z\u0026X-Amz-Expires=900\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=c847ca1bfc20b7caeefcb999697df3cfd531aa2b7f0aa13f9066f289f693c22d","converted_uri":"s3://resizing-bucket-development-video/videos/converted/f11dfad4-2247-4220-b3b2-efeb82864a97/3a101d25-e03f-4fac-a4ee-dbe882c6139d/1dc40aae-29ab-4369-87da-10b146371fb8","created_at":"2021-01-22T09:42:37.670Z","updated_at":"2021-01-22T09:42:37.878Z","upload_completed_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d/upload_completed","self_url":"http://192.168.56.101:5000/projects/f11dfad4-2247-4220-b3b2-efeb82864a97/upload/videos/3a101d25-e03f-4fac-a4ee-dbe882c6139d.json","m3u8_url":null,"hevc_url":null,"avc_url":null,"thumbnail_url":"/assets/videos/now-converting-8a05d294385c14270a3662e01df5e50578cabcd2787123c18057ac06b101344c.png","job_state":{"id":"a586d38f-bdc3-4af2-9dbc-e0c18d2d54c5","upload_video_id":"3a101d25-e03f-4fac-a4ee-dbe882c6139d","state":"initialized","job_percent_complete":0,"created_at":"2021-01-22T09:42:38.501Z","updated_at":"2021-01-22T09:42:38.501Z"}}'
|
|
46
|
-
recorded_at: Fri, 22 Jan 2021 09:42:38 GMT
|
|
47
|
-
recorded_with: VCR 6.0.0
|
/data/{exe → bin}/console
RENAMED
|
File without changes
|
|
File without changes
|
/data/{exe → bin}/setup
RENAMED
|
File without changes
|