resizing 1.0.2 → 1.1.0.pre
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 +2 -7
- data/Gemfile +2 -6
- data/README.md +32 -59
- data/lib/resizing/active_storage/service/resizing_service.rb +2 -6
- data/lib/resizing/carrier_wave/storage/file.rb +16 -35
- data/lib/resizing/carrier_wave/storage/remote.rb +3 -7
- data/lib/resizing/carrier_wave.rb +11 -10
- data/lib/resizing/client.rb +24 -40
- data/lib/resizing/configurable.rb +1 -1
- data/lib/resizing/configuration.rb +16 -6
- data/lib/resizing/http_clientable.rb +3 -3
- data/lib/resizing/mock_client.rb +5 -6
- data/lib/resizing/public_id.rb +4 -5
- data/lib/resizing/version.rb +1 -1
- data/lib/resizing/video/client.rb +116 -0
- data/lib/resizing/video.rb +8 -0
- data/lib/resizing.rb +12 -15
- data/resizing.gemspec +11 -8
- data/test/resizing/carrier_wave/storage/file_test.rb +8 -149
- data/test/resizing/carrier_wave/storage/remote_test.rb +0 -75
- data/test/resizing/carrier_wave_test.rb +37 -99
- data/test/resizing/client_test.rb +11 -96
- data/test/resizing/configuration_test.rb +2 -118
- data/test/resizing/public_id_test.rb +1 -1
- data/test/resizing/video/client_test.rb +158 -0
- data/test/test_helper.rb +9 -89
- data/test/vcr/video/metadata/success.yml +47 -0
- data/test/vcr/video/prepare/success.yml +47 -0
- data/test/vcr/video/upload_completed/success.yml +47 -0
- metadata +53 -45
- data/lib/resizing/active_storage/service.rb +0 -9
- data/lib/resizing/active_storage.rb +0 -7
- data/test/resizing/active_storage_service_test.rb +0 -98
- data/test/resizing/configurable_test.rb +0 -82
- data/test/resizing/constants_test.rb +0 -25
- data/test/resizing/error_test.rb +0 -73
- data/test/resizing/http_clientable_test.rb +0 -84
- data/test/resizing/mock_client_test.rb +0 -75
- data/test/resizing_module_test.rb +0 -206
- /data/{bin → exe}/console +0 -0
- /data/{bin → exe}/generate-changelog +0 -0
- /data/{bin → exe}/setup +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
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
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
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.0.
|
|
4
|
+
version: 1.1.0.pre
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Junichiro Kasuya
|
|
8
|
-
autorequire:
|
|
9
|
-
bindir:
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-08-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -16,48 +16,56 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '2.3'
|
|
20
20
|
type: :runtime
|
|
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: '
|
|
26
|
+
version: '2.3'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: faraday-multipart
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
34
|
-
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: '7.1'
|
|
37
|
-
type: :development
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
38
35
|
prerelease: false
|
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
37
|
requirements:
|
|
41
38
|
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rails
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
42
46
|
- !ruby/object:Gem::Version
|
|
43
47
|
version: '6.0'
|
|
44
|
-
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
45
53
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '
|
|
54
|
+
version: '6.0'
|
|
47
55
|
- !ruby/object:Gem::Dependency
|
|
48
56
|
name: carrierwave
|
|
49
57
|
requirement: !ruby/object:Gem::Requirement
|
|
50
58
|
requirements:
|
|
51
59
|
- - "~>"
|
|
52
60
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
61
|
+
version: 2.2.5
|
|
54
62
|
type: :development
|
|
55
63
|
prerelease: false
|
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
65
|
requirements:
|
|
58
66
|
- - "~>"
|
|
59
67
|
- !ruby/object:Gem::Version
|
|
60
|
-
version:
|
|
68
|
+
version: 2.2.5
|
|
61
69
|
- !ruby/object:Gem::Dependency
|
|
62
70
|
name: fog-aws
|
|
63
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -76,16 +84,16 @@ dependencies:
|
|
|
76
84
|
name: minitest
|
|
77
85
|
requirement: !ruby/object:Gem::Requirement
|
|
78
86
|
requirements:
|
|
79
|
-
- - "
|
|
87
|
+
- - ">="
|
|
80
88
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
89
|
+
version: '0'
|
|
82
90
|
type: :development
|
|
83
91
|
prerelease: false
|
|
84
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
93
|
requirements:
|
|
86
|
-
- - "
|
|
94
|
+
- - ">="
|
|
87
95
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '
|
|
96
|
+
version: '0'
|
|
89
97
|
- !ruby/object:Gem::Dependency
|
|
90
98
|
name: minitest-ci
|
|
91
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -101,7 +109,7 @@ dependencies:
|
|
|
101
109
|
- !ruby/object:Gem::Version
|
|
102
110
|
version: '0'
|
|
103
111
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
112
|
+
name: rubocop
|
|
105
113
|
requirement: !ruby/object:Gem::Requirement
|
|
106
114
|
requirements:
|
|
107
115
|
- - ">="
|
|
@@ -115,7 +123,7 @@ dependencies:
|
|
|
115
123
|
- !ruby/object:Gem::Version
|
|
116
124
|
version: '0'
|
|
117
125
|
- !ruby/object:Gem::Dependency
|
|
118
|
-
name:
|
|
126
|
+
name: timecop
|
|
119
127
|
requirement: !ruby/object:Gem::Requirement
|
|
120
128
|
requirements:
|
|
121
129
|
- - ">="
|
|
@@ -129,7 +137,7 @@ dependencies:
|
|
|
129
137
|
- !ruby/object:Gem::Version
|
|
130
138
|
version: '0'
|
|
131
139
|
- !ruby/object:Gem::Dependency
|
|
132
|
-
name:
|
|
140
|
+
name: vcr
|
|
133
141
|
requirement: !ruby/object:Gem::Requirement
|
|
134
142
|
requirements:
|
|
135
143
|
- - ">="
|
|
@@ -143,7 +151,7 @@ dependencies:
|
|
|
143
151
|
- !ruby/object:Gem::Version
|
|
144
152
|
version: '0'
|
|
145
153
|
- !ruby/object:Gem::Dependency
|
|
146
|
-
name:
|
|
154
|
+
name: mysql2
|
|
147
155
|
requirement: !ruby/object:Gem::Requirement
|
|
148
156
|
requirements:
|
|
149
157
|
- - ">="
|
|
@@ -157,7 +165,7 @@ dependencies:
|
|
|
157
165
|
- !ruby/object:Gem::Version
|
|
158
166
|
version: '0'
|
|
159
167
|
- !ruby/object:Gem::Dependency
|
|
160
|
-
name:
|
|
168
|
+
name: simplecov
|
|
161
169
|
requirement: !ruby/object:Gem::Requirement
|
|
162
170
|
requirements:
|
|
163
171
|
- - ">="
|
|
@@ -171,7 +179,7 @@ dependencies:
|
|
|
171
179
|
- !ruby/object:Gem::Version
|
|
172
180
|
version: '0'
|
|
173
181
|
- !ruby/object:Gem::Dependency
|
|
174
|
-
name:
|
|
182
|
+
name: simplecov-cobertura
|
|
175
183
|
requirement: !ruby/object:Gem::Requirement
|
|
176
184
|
requirements:
|
|
177
185
|
- - ">="
|
|
@@ -187,7 +195,10 @@ dependencies:
|
|
|
187
195
|
description: 'Client and utilities for Resizing '
|
|
188
196
|
email:
|
|
189
197
|
- junichiro.kasuya@gmail.com
|
|
190
|
-
executables:
|
|
198
|
+
executables:
|
|
199
|
+
- console
|
|
200
|
+
- generate-changelog
|
|
201
|
+
- setup
|
|
191
202
|
extensions: []
|
|
192
203
|
extra_rdoc_files: []
|
|
193
204
|
files:
|
|
@@ -199,13 +210,11 @@ files:
|
|
|
199
210
|
- LICENSE.txt
|
|
200
211
|
- README.md
|
|
201
212
|
- Rakefile
|
|
202
|
-
- bin/console
|
|
203
|
-
- bin/generate-changelog
|
|
204
|
-
- bin/setup
|
|
205
213
|
- docker-compose.yml
|
|
214
|
+
- exe/console
|
|
215
|
+
- exe/generate-changelog
|
|
216
|
+
- exe/setup
|
|
206
217
|
- lib/resizing.rb
|
|
207
|
-
- lib/resizing/active_storage.rb
|
|
208
|
-
- lib/resizing/active_storage/service.rb
|
|
209
218
|
- lib/resizing/active_storage/service/resizing_service.rb
|
|
210
219
|
- lib/resizing/carrier_wave.rb
|
|
211
220
|
- lib/resizing/carrier_wave/storage/file.rb
|
|
@@ -218,22 +227,18 @@ files:
|
|
|
218
227
|
- lib/resizing/mock_client.rb
|
|
219
228
|
- lib/resizing/public_id.rb
|
|
220
229
|
- lib/resizing/version.rb
|
|
230
|
+
- lib/resizing/video.rb
|
|
231
|
+
- lib/resizing/video/client.rb
|
|
221
232
|
- resizing.gemspec
|
|
222
233
|
- test/data/images/empty_file.jpg
|
|
223
234
|
- test/data/images/sample1.jpg
|
|
224
|
-
- test/resizing/active_storage_service_test.rb
|
|
225
235
|
- test/resizing/carrier_wave/storage/file_test.rb
|
|
226
236
|
- test/resizing/carrier_wave/storage/remote_test.rb
|
|
227
237
|
- test/resizing/carrier_wave_test.rb
|
|
228
238
|
- test/resizing/client_test.rb
|
|
229
|
-
- test/resizing/configurable_test.rb
|
|
230
239
|
- test/resizing/configuration_test.rb
|
|
231
|
-
- test/resizing/constants_test.rb
|
|
232
|
-
- test/resizing/error_test.rb
|
|
233
|
-
- test/resizing/http_clientable_test.rb
|
|
234
|
-
- test/resizing/mock_client_test.rb
|
|
235
240
|
- test/resizing/public_id_test.rb
|
|
236
|
-
- test/
|
|
241
|
+
- test/resizing/video/client_test.rb
|
|
237
242
|
- test/resizing_test.rb
|
|
238
243
|
- test/test_helper.rb
|
|
239
244
|
- test/vcr/carrier_wave_test/remove_resizing_picture.yml
|
|
@@ -243,6 +248,9 @@ files:
|
|
|
243
248
|
- test/vcr/client/metadata.yml
|
|
244
249
|
- test/vcr/client/post.yml
|
|
245
250
|
- 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
|
|
246
254
|
homepage: https://github.com/jksy/resizing-gem
|
|
247
255
|
licenses:
|
|
248
256
|
- MIT
|
|
@@ -250,7 +258,7 @@ metadata:
|
|
|
250
258
|
allowed_push_host: https://rubygems.org
|
|
251
259
|
homepage_uri: https://github.com/jksy/resizing-gem
|
|
252
260
|
source_code_uri: https://github.com/jksy/resizing-gem.
|
|
253
|
-
post_install_message:
|
|
261
|
+
post_install_message:
|
|
254
262
|
rdoc_options: []
|
|
255
263
|
require_paths:
|
|
256
264
|
- lib
|
|
@@ -258,15 +266,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
258
266
|
requirements:
|
|
259
267
|
- - ">="
|
|
260
268
|
- !ruby/object:Gem::Version
|
|
261
|
-
version: 3.0
|
|
269
|
+
version: 2.3.0
|
|
262
270
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
271
|
requirements:
|
|
264
|
-
- - "
|
|
272
|
+
- - ">"
|
|
265
273
|
- !ruby/object:Gem::Version
|
|
266
|
-
version:
|
|
274
|
+
version: 1.3.1
|
|
267
275
|
requirements: []
|
|
268
|
-
rubygems_version: 3.
|
|
269
|
-
signing_key:
|
|
276
|
+
rubygems_version: 3.1.6
|
|
277
|
+
signing_key:
|
|
270
278
|
specification_version: 4
|
|
271
279
|
summary: Client and utilities for Resizing
|
|
272
280
|
test_files: []
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'test_helper'
|
|
4
|
-
|
|
5
|
-
module Resizing
|
|
6
|
-
module ActiveStorage
|
|
7
|
-
module Service
|
|
8
|
-
class ResizingServiceTest < Minitest::Test
|
|
9
|
-
def setup
|
|
10
|
-
@service = Resizing::ActiveStorage::Service::ResizingService.new
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def teardown
|
|
14
|
-
# NOP
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def test_service_initialization
|
|
18
|
-
assert_instance_of Resizing::ActiveStorage::Service::ResizingService, @service
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def test_upload_raises_not_implemented_error
|
|
22
|
-
assert_raises NotImplementedError do
|
|
23
|
-
@service.upload('test_key', StringIO.new('test data'))
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test_download_raises_not_implemented_error
|
|
28
|
-
assert_raises NotImplementedError do
|
|
29
|
-
@service.download('test_key')
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_download_chunk_raises_not_implemented_error
|
|
34
|
-
assert_raises NotImplementedError do
|
|
35
|
-
@service.download_chunk('test_key', 0..99)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def test_delete_raises_not_implemented_error
|
|
40
|
-
assert_raises NotImplementedError do
|
|
41
|
-
@service.delete('test_key')
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def test_exist_raises_not_implemented_error
|
|
46
|
-
assert_raises NotImplementedError do
|
|
47
|
-
@service.exist?('test_key')
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def test_url_for_direct_upload_raises_not_implemented_error
|
|
52
|
-
assert_raises NotImplementedError do
|
|
53
|
-
@service.url_for_direct_upload(
|
|
54
|
-
'test_key',
|
|
55
|
-
expires_in: 3600,
|
|
56
|
-
content_type: 'image/png',
|
|
57
|
-
conteont_length: 1024,
|
|
58
|
-
checksum: 'test_checksum'
|
|
59
|
-
)
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def test_headers_for_direct_upload_raises_not_implemented_error
|
|
64
|
-
assert_raises NotImplementedError do
|
|
65
|
-
@service.headers_for_direct_upload(
|
|
66
|
-
'test_key',
|
|
67
|
-
content_type: 'image/png',
|
|
68
|
-
checksum: 'test_checksum'
|
|
69
|
-
)
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def test_private_url_raises_not_implemented_error
|
|
74
|
-
assert_raises NotImplementedError do
|
|
75
|
-
@service.send(
|
|
76
|
-
:private_url,
|
|
77
|
-
'test_key',
|
|
78
|
-
expires_in: 3600,
|
|
79
|
-
filename: 'test.png',
|
|
80
|
-
content_type: 'image/png',
|
|
81
|
-
disposition: :attachment
|
|
82
|
-
)
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
def test_public_url_raises_not_implemented_error
|
|
87
|
-
assert_raises NotImplementedError do
|
|
88
|
-
@service.send(
|
|
89
|
-
:public_url,
|
|
90
|
-
'test_key',
|
|
91
|
-
filename: 'test.png'
|
|
92
|
-
)
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
end
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'test_helper'
|
|
4
|
-
|
|
5
|
-
module Resizing
|
|
6
|
-
class ConfigurableTest < Minitest::Test
|
|
7
|
-
class TestConfigurable
|
|
8
|
-
include Configurable
|
|
9
|
-
|
|
10
|
-
def initialize(config = nil)
|
|
11
|
-
initialize_config(config)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def setup
|
|
16
|
-
# NOP
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def teardown
|
|
20
|
-
# NOP
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_initialize_config_with_configuration_object
|
|
24
|
-
config = Configuration.new(
|
|
25
|
-
image_host: 'https://test.example.com',
|
|
26
|
-
project_id: 'test_id',
|
|
27
|
-
secret_token: 'test_token'
|
|
28
|
-
)
|
|
29
|
-
obj = TestConfigurable.new(config)
|
|
30
|
-
|
|
31
|
-
assert_equal config, obj.config
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def test_initialize_config_with_nil_uses_global_configure
|
|
35
|
-
Resizing.configure = Configuration.new(
|
|
36
|
-
image_host: 'https://global.example.com',
|
|
37
|
-
project_id: 'global_id',
|
|
38
|
-
secret_token: 'global_token'
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
obj = TestConfigurable.new(nil)
|
|
42
|
-
|
|
43
|
-
assert_equal Resizing.configure.image_host, obj.config.image_host
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def test_initialize_config_with_hash
|
|
47
|
-
config_hash = {
|
|
48
|
-
image_host: 'https://hash.example.com',
|
|
49
|
-
project_id: 'hash_id',
|
|
50
|
-
secret_token: 'hash_token'
|
|
51
|
-
}
|
|
52
|
-
obj = TestConfigurable.new(config_hash)
|
|
53
|
-
|
|
54
|
-
assert_equal 'https://hash.example.com', obj.config.image_host
|
|
55
|
-
assert_equal 'hash_id', obj.config.project_id
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def test_config_is_accessible
|
|
59
|
-
config = Configuration.new(
|
|
60
|
-
image_host: 'https://test.example.com',
|
|
61
|
-
project_id: 'test_id',
|
|
62
|
-
secret_token: 'test_token'
|
|
63
|
-
)
|
|
64
|
-
obj = TestConfigurable.new(config)
|
|
65
|
-
|
|
66
|
-
assert_instance_of Configuration, obj.config
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def test_attr_reader_config_is_defined
|
|
70
|
-
config = Configuration.new(
|
|
71
|
-
image_host: 'https://test.example.com',
|
|
72
|
-
project_id: 'test_id',
|
|
73
|
-
secret_token: 'test_token'
|
|
74
|
-
)
|
|
75
|
-
obj = TestConfigurable.new(config)
|
|
76
|
-
|
|
77
|
-
# Verify that config is accessible as a reader
|
|
78
|
-
assert obj.respond_to?(:config)
|
|
79
|
-
assert !obj.respond_to?(:config=)
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'test_helper'
|
|
4
|
-
|
|
5
|
-
module Resizing
|
|
6
|
-
class ConstantsTest < Minitest::Test
|
|
7
|
-
def test_http_status_ok_is_defined
|
|
8
|
-
assert_equal 200, Resizing::Constants::HTTP_STATUS_OK
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def test_http_status_created_is_defined
|
|
12
|
-
assert_equal 201, Resizing::Constants::HTTP_STATUS_CREATED
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_http_status_not_found_is_defined
|
|
16
|
-
assert_equal 404, Resizing::Constants::HTTP_STATUS_NOT_FOUND
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_constants_are_integers
|
|
20
|
-
assert_instance_of Integer, Resizing::Constants::HTTP_STATUS_OK
|
|
21
|
-
assert_instance_of Integer, Resizing::Constants::HTTP_STATUS_CREATED
|
|
22
|
-
assert_instance_of Integer, Resizing::Constants::HTTP_STATUS_NOT_FOUND
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
data/test/resizing/error_test.rb
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'test_helper'
|
|
4
|
-
|
|
5
|
-
module Resizing
|
|
6
|
-
class ErrorTest < Minitest::Test
|
|
7
|
-
def test_error_is_standard_error_subclass
|
|
8
|
-
assert Resizing::Error < StandardError
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def test_configuration_error_is_error_subclass
|
|
12
|
-
assert Resizing::ConfigurationError < Resizing::Error
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_api_error_is_error_subclass
|
|
16
|
-
assert Resizing::APIError < Resizing::Error
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_api_error_has_decoded_body_accessor
|
|
20
|
-
error = Resizing::APIError.new('test error')
|
|
21
|
-
|
|
22
|
-
assert_respond_to error, :decoded_body
|
|
23
|
-
assert_respond_to error, :decoded_body=
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def test_api_error_decoded_body_defaults_to_empty_hash
|
|
27
|
-
error = Resizing::APIError.new('test error')
|
|
28
|
-
|
|
29
|
-
assert_equal({}, error.decoded_body)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def test_api_error_decoded_body_can_be_set_with_hash
|
|
33
|
-
error = Resizing::APIError.new('test error')
|
|
34
|
-
body = { 'error' => 'test', 'code' => 400 }
|
|
35
|
-
|
|
36
|
-
error.decoded_body = body
|
|
37
|
-
|
|
38
|
-
assert_equal body, error.decoded_body
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def test_api_error_decoded_body_raises_argument_error_for_non_hash
|
|
42
|
-
error = Resizing::APIError.new('test error')
|
|
43
|
-
|
|
44
|
-
assert_raises ArgumentError do
|
|
45
|
-
error.decoded_body = 'not a hash'
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def test_api_error_decoded_body_raises_argument_error_for_array
|
|
50
|
-
error = Resizing::APIError.new('test error')
|
|
51
|
-
|
|
52
|
-
assert_raises ArgumentError do
|
|
53
|
-
error.decoded_body = %w[not a hash]
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def test_configuration_error_can_be_raised_with_message
|
|
58
|
-
error = assert_raises Resizing::ConfigurationError do
|
|
59
|
-
raise Resizing::ConfigurationError, 'test configuration error'
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
assert_equal 'test configuration error', error.message
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def test_api_error_can_be_raised_with_message
|
|
66
|
-
error = assert_raises Resizing::APIError do
|
|
67
|
-
raise Resizing::APIError, 'test api error'
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
assert_equal 'test api error', error.message
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|