flickrie 0.6.1 → 0.7.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.
- data/.gitignore +1 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +0 -6
- data/README.md +15 -1
- data/Rakefile +8 -13
- data/api_methods.md +1 -1
- data/flickrie.gemspec +2 -3
- data/lib/flickrie/api_methods.rb +17 -0
- data/lib/flickrie/client.rb +21 -5
- data/lib/flickrie/instance.rb +7 -2
- data/lib/flickrie/license.rb +2 -0
- data/lib/flickrie/location.rb +10 -8
- data/lib/flickrie/media/exif.rb +3 -1
- data/lib/flickrie/media/tag.rb +3 -3
- data/lib/flickrie/media/visibility.rb +6 -4
- data/lib/flickrie/media.rb +69 -84
- data/lib/flickrie/media_count.rb +3 -5
- data/lib/flickrie/photo.rb +55 -54
- data/lib/flickrie/set.rb +31 -25
- data/lib/flickrie/ticket.rb +4 -8
- data/lib/flickrie/upload_client.rb +7 -2
- data/lib/flickrie/user.rb +33 -34
- data/lib/flickrie/version.rb +1 -1
- data/lib/flickrie/video.rb +13 -12
- data/spec/api_methods_spec.rb +43 -0
- data/spec/error_spec.rb +32 -0
- data/{test → spec/files}/photo.jpg +0 -0
- data/{test → spec/files}/video.mov +0 -0
- data/spec/instance_spec.rb +22 -0
- data/spec/license_spec.rb +15 -0
- data/spec/location_spec.rb +11 -0
- data/spec/media_count_spec.rb +18 -0
- data/spec/media_spec.rb +271 -0
- data/spec/oauth_spec.rb +22 -0
- data/spec/photo_spec.rb +137 -0
- data/spec/set_spec.rb +68 -0
- data/spec/spec_helper.rb +68 -0
- data/spec/user_spec.rb +56 -0
- data/spec/video_spec.rb +54 -0
- metadata +47 -132
- data/test/error_test.rb +0 -20
- data/test/instance_test.rb +0 -20
- data/test/license_test.rb +0 -19
- data/test/location_test.rb +0 -29
- data/test/media_count_test.rb +0 -25
- data/test/media_test.rb +0 -432
- data/test/oauth_test.rb +0 -25
- data/test/photo_test.rb +0 -212
- data/test/set_test.rb +0 -92
- data/test/test_helper.rb +0 -14
- data/test/user_test.rb +0 -70
- data/test/vcr_cassettes/error/code.yml +0 -1165
- data/test/vcr_cassettes/instance/calling_api_methods.yml +0 -182
- data/test/vcr_cassettes/license/get_licenses.yml +0 -73
- data/test/vcr_cassettes/location/square_brackets.yml +0 -85
- data/test/vcr_cassettes/media/delete.yml +0 -1380
- data/test/vcr_cassettes/media/from_contacts.yml +0 -155
- data/test/vcr_cassettes/media/from_set.yml +0 -276
- data/test/vcr_cassettes/media/from_user.yml +0 -275
- data/test/vcr_cassettes/media/get_context.yml +0 -73
- data/test/vcr_cassettes/media/get_info.yml +0 -167
- data/test/vcr_cassettes/media/remove_tag.yml +0 -264
- data/test/vcr_cassettes/media/replace.yml +0 -2252
- data/test/vcr_cassettes/media/search.yml +0 -275
- data/test/vcr_cassettes/media/tags.yml +0 -346
- data/test/vcr_cassettes/media_count/get.yml +0 -135
- data/test/vcr_cassettes/media_count/square_brackets.yml +0 -69
- data/test/vcr_cassettes/oauth/tokens.yml +0 -400
- data/test/vcr_cassettes/photo/asynchronous_upload.yml +0 -1693
- data/test/vcr_cassettes/photo/from_set.yml +0 -273
- data/test/vcr_cassettes/photo/from_user.yml +0 -275
- data/test/vcr_cassettes/photo/get_exif.yml +0 -239
- data/test/vcr_cassettes/photo/get_sizes.yml +0 -147
- data/test/vcr_cassettes/photo/other_api_calls.yml +0 -506
- data/test/vcr_cassettes/photo/search.yml +0 -271
- data/test/vcr_cassettes/photo/square_brackets.yml +0 -85
- data/test/vcr_cassettes/photo/upload.yml +0 -1229
- data/test/vcr_cassettes/set/from_user.yml +0 -477
- data/test/vcr_cassettes/set/get_info.yml +0 -951
- data/test/vcr_cassettes/set/square_brackets.yml +0 -73
- data/test/vcr_cassettes/user/find_by_email_or_username.yml +0 -135
- data/test/vcr_cassettes/user/get_info.yml +0 -151
- data/test/vcr_cassettes/user/square_brackets.yml +0 -77
- data/test/vcr_cassettes/video/get_exif.yml +0 -135
- data/test/vcr_cassettes/video/get_info.yml +0 -86
- data/test/vcr_cassettes/video/get_sizes.yml +0 -151
- data/test/vcr_cassettes/video/other_api_calls.yml +0 -643
- data/test/vcr_cassettes/video/square_brackets.yml +0 -86
- data/test/vcr_cassettes/video/upload.yml +0 -308
- data/test/video_test.rb +0 -118
data/test/media_test.rb
DELETED
@@ -1,432 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
Flickrie::Photo.instance_eval do
|
4
|
-
def public_new(*args)
|
5
|
-
new(*args)
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
class MediaTest < Test::Unit::TestCase
|
10
|
-
def setup
|
11
|
-
@media_id = 6946979188
|
12
|
-
@set_id = 72157629851991663
|
13
|
-
@user_nsid = '67131352@N04'
|
14
|
-
|
15
|
-
# license,date_upload,date_taken,owner_name,icon_server,original_format,last_update,geo,tags,machine_tags,o_dims,views,media,path_alias,url_sq,url_q,url_t,url_s,url_n,url_m,url_z,url_c,url_l,url_o
|
16
|
-
@all_extras = %w[license date_upload date_taken owner_name
|
17
|
-
icon_server original_format last_update geo tags machine_tags
|
18
|
-
o_dims views media path_alias
|
19
|
-
url_sq url_q url_t url_s url_n url_m url_z url_c url_l url_o]
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_get_info
|
23
|
-
VCR.use_cassette 'media/get_info' do
|
24
|
-
[Flickrie.get_media_info(@media_id),
|
25
|
-
Flickrie::Photo.public_new('id' => @media_id.to_s).get_info].
|
26
|
-
each do |media|
|
27
|
-
assert_equal '6946979188', media.id
|
28
|
-
assert_equal '25bb44852b', media.secret
|
29
|
-
assert_equal '7049', media.server
|
30
|
-
assert_equal 8, media.farm
|
31
|
-
assert_equal 'IMG_0796', media.title
|
32
|
-
|
33
|
-
assert_equal 'luka', media.tags.join(' ')
|
34
|
-
assert_equal @user_nsid, media.tags.first.author.nsid
|
35
|
-
assert_equal 'luka', media.tags.first.raw
|
36
|
-
assert_equal false, media.tags.first.machine_tag?
|
37
|
-
|
38
|
-
assert_equal 2, media.views_count
|
39
|
-
assert_equal 1, media.comments_count
|
40
|
-
assert_equal '0', media.license.id
|
41
|
-
assert_equal 0, media.safety_level
|
42
|
-
assert_equal 90, media.rotation
|
43
|
-
assert_equal 'Test', media.description
|
44
|
-
assert_not_nil media.url
|
45
|
-
|
46
|
-
# Time
|
47
|
-
assert_instance_of Time, media.uploaded_at
|
48
|
-
assert_instance_of Time, media.updated_at
|
49
|
-
assert_instance_of Time, media.taken_at
|
50
|
-
assert_equal 0, media.taken_at_granularity
|
51
|
-
assert_instance_of Time, media.posted_at
|
52
|
-
|
53
|
-
# Owner
|
54
|
-
assert_equal '67131352@N04', media.owner.nsid
|
55
|
-
assert_equal 'Janko Marohnić', media.owner.username
|
56
|
-
assert_equal 'Janko Marohnić', media.owner.real_name
|
57
|
-
assert_equal 'Zagreb, Croatia', media.owner.location
|
58
|
-
assert_equal '5464', media.owner.icon_server
|
59
|
-
assert_equal 6, media.owner.icon_farm
|
60
|
-
refute media.owner.buddy_icon_url.empty?
|
61
|
-
|
62
|
-
# Predicates
|
63
|
-
assert_equal true, media.visibility.public?
|
64
|
-
assert_equal false, media.visibility.friends?
|
65
|
-
assert_equal false, media.visibility.family?
|
66
|
-
assert_equal nil, media.visibility.contacts?
|
67
|
-
|
68
|
-
assert_equal true, media.can_comment?
|
69
|
-
assert_equal true, media.can_add_meta?
|
70
|
-
assert_equal true, media.can_everyone_comment?
|
71
|
-
assert_equal false, media.can_everyone_add_meta?
|
72
|
-
|
73
|
-
assert_equal true, media.can_download?
|
74
|
-
assert_equal true, media.can_blog?
|
75
|
-
assert_equal true, media.can_print?
|
76
|
-
assert_equal false, media.can_share?
|
77
|
-
|
78
|
-
assert_equal false, media.has_people?
|
79
|
-
|
80
|
-
assert_equal true, media.safe?
|
81
|
-
assert_equal false, media.moderate?
|
82
|
-
assert_equal false, media.restricted?
|
83
|
-
|
84
|
-
assert_equal false, media.favorite?
|
85
|
-
|
86
|
-
assert_equal true, media.geo_permissions.public?
|
87
|
-
assert_equal false, media.geo_permissions.contacts?
|
88
|
-
assert_equal false, media.geo_permissions.friends?
|
89
|
-
assert_equal false, media.geo_permissions.family?
|
90
|
-
|
91
|
-
# Notes
|
92
|
-
note = media.notes.first
|
93
|
-
assert_equal '72157629487842968', note.id
|
94
|
-
assert_equal '67131352@N04', note.author.nsid
|
95
|
-
assert_equal 'Janko Marohnić', note.author.username
|
96
|
-
assert_equal [316, 0], note.coordinates
|
97
|
-
assert_equal [59, 50], [note.width, note.height]
|
98
|
-
assert_equal 'Test', note.content
|
99
|
-
|
100
|
-
# Location
|
101
|
-
location = media.location
|
102
|
-
|
103
|
-
assert_equal 45.807258, location.latitude
|
104
|
-
assert_equal 15.967599, location.longitude
|
105
|
-
assert_equal '11', location.accuracy
|
106
|
-
assert_equal '0', location.context
|
107
|
-
|
108
|
-
assert_equal nil, location.neighbourhood
|
109
|
-
assert_equal 'Zagreb', location.locality.name
|
110
|
-
assert_equal '00j4IylZV7scWik', location.locality.place_id
|
111
|
-
assert_equal '851128', location.locality.woeid
|
112
|
-
assert_equal 'Zagreb', location.county.name
|
113
|
-
assert_equal '306dHrhQV7o6jm.ZUQ', location.county.place_id
|
114
|
-
assert_equal '15022257', location.county.woeid
|
115
|
-
assert_equal 'Grad Zagreb', location.region.name
|
116
|
-
assert_equal 'Js1DU.pTUrpBCIKhVw', location.region.place_id
|
117
|
-
assert_equal '20070170', location.region.woeid
|
118
|
-
assert_equal 'Croatia', location.country.name
|
119
|
-
assert_equal 'FunRCI5TUb6a6soTyw', location.country.place_id
|
120
|
-
assert_equal '23424843', location.country.woeid
|
121
|
-
|
122
|
-
assert_equal '00j4IylZV7scWik', location.place_id
|
123
|
-
assert_equal '851128', location.woeid
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
def test_from_set
|
129
|
-
VCR.use_cassette 'media/from_set' do
|
130
|
-
media = Flickrie.media_from_set(@set_id, :extras => @all_extras).
|
131
|
-
find { |media| media.id.to_i == @media_id }
|
132
|
-
|
133
|
-
assert_equal '6946979188', media.id
|
134
|
-
assert_equal '25bb44852b', media.secret
|
135
|
-
assert_equal '7049', media.server
|
136
|
-
assert_equal 8, media.farm
|
137
|
-
assert_equal 'IMG_0796', media.title
|
138
|
-
assert_equal 'luka', media.tags.join(' ')
|
139
|
-
assert_equal '', media.machine_tags.join(' ')
|
140
|
-
assert_equal 2, media.views_count
|
141
|
-
assert_equal '0', media.license.id
|
142
|
-
assert_equal true, media.primary?
|
143
|
-
assert_not_nil media.url
|
144
|
-
assert_equal 'ready', media.media_status
|
145
|
-
|
146
|
-
# Time
|
147
|
-
assert_instance_of Time, media.uploaded_at
|
148
|
-
assert_instance_of Time, media.updated_at
|
149
|
-
assert_instance_of Time, media.taken_at
|
150
|
-
assert_equal 0, media.taken_at_granularity
|
151
|
-
|
152
|
-
# Location
|
153
|
-
assert_equal 45.807258, media.location.latitude
|
154
|
-
assert_equal 15.967599, media.location.longitude
|
155
|
-
assert_equal '11', media.location.accuracy
|
156
|
-
assert_equal '0', media.location.context.to_s
|
157
|
-
assert_equal '00j4IylZV7scWik', media.location.place_id
|
158
|
-
assert_equal '851128', media.location.woeid
|
159
|
-
assert_equal true, media.geo_permissions.public?
|
160
|
-
assert_equal false, media.geo_permissions.contacts?
|
161
|
-
assert_equal false, media.geo_permissions.friends?
|
162
|
-
assert_equal false, media.geo_permissions.family?
|
163
|
-
|
164
|
-
# Owner
|
165
|
-
assert_equal '67131352@N04', media.owner.nsid
|
166
|
-
assert_equal 'Janko Marohnić', media.owner.username
|
167
|
-
assert_equal '5464', media.owner.icon_server
|
168
|
-
assert_equal 6, media.owner.icon_farm
|
169
|
-
refute media.owner.buddy_icon_url.empty?
|
170
|
-
end
|
171
|
-
end
|
172
|
-
|
173
|
-
def test_public_from_user
|
174
|
-
VCR.use_cassette 'media/from_user' do
|
175
|
-
media = Flickrie.public_media_from_user(@user_nsid, :extras => @all_extras).
|
176
|
-
find { |media| media.id.to_i == @media_id }
|
177
|
-
|
178
|
-
assert_equal '6946979188', media.id
|
179
|
-
assert_equal '25bb44852b', media.secret
|
180
|
-
assert_equal '7049', media.server
|
181
|
-
assert_equal 8, media.farm
|
182
|
-
assert_equal 'IMG_0796', media.title
|
183
|
-
assert_equal 'luka', media.tags.join(' ')
|
184
|
-
assert_equal '', media.machine_tags.join(' ')
|
185
|
-
assert_equal 2, media.views_count
|
186
|
-
assert_equal '0', media.license.id
|
187
|
-
assert_not_nil media.url
|
188
|
-
assert_equal 'ready', media.media_status
|
189
|
-
|
190
|
-
# Time
|
191
|
-
assert_instance_of Time, media.uploaded_at
|
192
|
-
assert_instance_of Time, media.updated_at
|
193
|
-
assert_instance_of Time, media.taken_at
|
194
|
-
assert_equal 0, media.taken_at_granularity
|
195
|
-
|
196
|
-
# Location
|
197
|
-
assert_equal 45.807258, media.location.latitude
|
198
|
-
assert_equal 15.967599, media.location.longitude
|
199
|
-
assert_equal '11', media.location.accuracy
|
200
|
-
assert_equal '0', media.location.context.to_s
|
201
|
-
assert_equal '00j4IylZV7scWik', media.location.place_id
|
202
|
-
assert_equal '851128', media.location.woeid
|
203
|
-
assert_equal true, media.geo_permissions.public?
|
204
|
-
assert_equal false, media.geo_permissions.contacts?
|
205
|
-
assert_equal false, media.geo_permissions.friends?
|
206
|
-
assert_equal false, media.geo_permissions.family?
|
207
|
-
|
208
|
-
# Owner
|
209
|
-
assert_equal '67131352@N04', media.owner.nsid
|
210
|
-
assert_equal 'Janko Marohnić', media.owner.username
|
211
|
-
assert_equal '5464', media.owner.icon_server
|
212
|
-
assert_equal 6, media.owner.icon_farm
|
213
|
-
refute media.owner.buddy_icon_url.empty?
|
214
|
-
|
215
|
-
# Visibility (This is the difference from Flickrie.media_from_set)
|
216
|
-
assert_equal true, media.visibility.public?
|
217
|
-
assert_equal false, media.visibility.friends?
|
218
|
-
assert_equal false, media.visibility.family?
|
219
|
-
assert_equal nil, media.visibility.contacts?
|
220
|
-
end
|
221
|
-
end
|
222
|
-
|
223
|
-
def test_search
|
224
|
-
VCR.use_cassette 'media/search' do
|
225
|
-
media = Flickrie.search_media(:user_id => @user_nsid, :extras => @all_extras).
|
226
|
-
find { |media| media.id.to_i == @media_id }
|
227
|
-
|
228
|
-
assert_equal '6946979188', media.id
|
229
|
-
assert_equal '25bb44852b', media.secret
|
230
|
-
assert_equal '7049', media.server
|
231
|
-
assert_equal 8, media.farm
|
232
|
-
assert_equal 'IMG_0796', media.title
|
233
|
-
assert_equal 'luka', media.tags.join(' ')
|
234
|
-
assert_equal '', media.machine_tags.join(' ')
|
235
|
-
assert_equal 2, media.views_count
|
236
|
-
assert_equal '0', media.license.id
|
237
|
-
assert_not_nil media.url
|
238
|
-
assert_equal 'ready', media.media_status
|
239
|
-
|
240
|
-
# Time
|
241
|
-
assert_instance_of Time, media.uploaded_at
|
242
|
-
assert_instance_of Time, media.updated_at
|
243
|
-
assert_instance_of Time, media.taken_at
|
244
|
-
assert_equal 0, media.taken_at_granularity
|
245
|
-
|
246
|
-
# Location
|
247
|
-
assert_equal 45.807258, media.location.latitude
|
248
|
-
assert_equal 15.967599, media.location.longitude
|
249
|
-
assert_equal '11', media.location.accuracy
|
250
|
-
assert_equal '0', media.location.context.to_s
|
251
|
-
assert_equal '00j4IylZV7scWik', media.location.place_id
|
252
|
-
assert_equal '851128', media.location.woeid
|
253
|
-
assert_equal true, media.geo_permissions.public?
|
254
|
-
assert_equal false, media.geo_permissions.contacts?
|
255
|
-
assert_equal false, media.geo_permissions.friends?
|
256
|
-
assert_equal false, media.geo_permissions.family?
|
257
|
-
|
258
|
-
# Owner
|
259
|
-
assert_equal '67131352@N04', media.owner.nsid
|
260
|
-
assert_equal 'Janko Marohnić', media.owner.username
|
261
|
-
assert_equal '5464', media.owner.icon_server
|
262
|
-
assert_equal 6, media.owner.icon_farm
|
263
|
-
refute media.owner.buddy_icon_url.empty?
|
264
|
-
|
265
|
-
# Visibility (This is the difference from Flickrie.media_from_set)
|
266
|
-
assert_equal true, media.visibility.public?
|
267
|
-
assert_equal false, media.visibility.friends?
|
268
|
-
assert_equal false, media.visibility.family?
|
269
|
-
assert_equal nil, media.visibility.contacts?
|
270
|
-
end
|
271
|
-
end
|
272
|
-
|
273
|
-
def test_tags
|
274
|
-
VCR.use_cassette 'media/tags' do
|
275
|
-
media = Flickrie.get_media_info(@media_id)
|
276
|
-
tags_before_change = media.tags.join(' ')
|
277
|
-
Flickrie.add_media_tags(@media_id, "janko")
|
278
|
-
media.get_info
|
279
|
-
assert_equal [tags_before_change, "janko"].join(' '),
|
280
|
-
media.tags.join(' ')
|
281
|
-
tag_id = media.tags.find { |tag| tag.content == "janko" }.id
|
282
|
-
Flickrie.remove_media_tag(tag_id)
|
283
|
-
media.get_info
|
284
|
-
assert_equal tags_before_change, media.tags.join(' ')
|
285
|
-
end
|
286
|
-
end
|
287
|
-
|
288
|
-
def test_delete
|
289
|
-
VCR.use_cassette 'media/delete' do
|
290
|
-
media_path = File.join(File.expand_path(File.dirname(__FILE__)), 'photo.jpg')
|
291
|
-
media_id = Flickrie.upload(media_path)
|
292
|
-
assert_includes Flickrie.public_media_from_user(@user_nsid).map(&:id), media_id
|
293
|
-
Flickrie.delete_media(media_id)
|
294
|
-
refute_includes Flickrie.public_media_from_user(@user_nsid).map(&:id), media_id
|
295
|
-
end
|
296
|
-
end
|
297
|
-
|
298
|
-
def test_from_contacts
|
299
|
-
VCR.use_cassette 'media/from_contacts' do
|
300
|
-
medias = [
|
301
|
-
Flickrie.media_from_contacts(
|
302
|
-
:include_self => 1, :single_photo => 1, :extras => @all_extras).first,
|
303
|
-
Flickrie.public_media_from_user_contacts(@user_nsid,
|
304
|
-
:include_self => 1, :single_photo => 1, :extras => @all_extras).first
|
305
|
-
]
|
306
|
-
|
307
|
-
medias.each do |media|
|
308
|
-
assert_equal '7093101501', media.id
|
309
|
-
assert_equal '9337f28800', media.secret
|
310
|
-
assert_equal '7090', media.server
|
311
|
-
assert_equal 8, media.farm
|
312
|
-
assert_equal 'IMG_0917', media.title
|
313
|
-
assert_equal '', media.tags.join(' ')
|
314
|
-
assert_equal '', media.machine_tags.join(' ')
|
315
|
-
assert_equal 0, media.views_count
|
316
|
-
assert_equal '0', media.license.id
|
317
|
-
assert_not_nil media.url
|
318
|
-
assert_equal 'ready', media.media_status
|
319
|
-
|
320
|
-
# Time
|
321
|
-
assert_instance_of Time, media.uploaded_at
|
322
|
-
assert_instance_of Time, media.updated_at
|
323
|
-
assert_instance_of Time, media.taken_at
|
324
|
-
assert_equal 0, media.taken_at_granularity
|
325
|
-
|
326
|
-
# Location
|
327
|
-
assert_nil media.location
|
328
|
-
|
329
|
-
# Owner
|
330
|
-
assert_equal '67131352@N04', media.owner.nsid
|
331
|
-
assert_equal 'Janko Marohnić', media.owner.username
|
332
|
-
assert_equal '5464', media.owner.icon_server
|
333
|
-
assert_equal 6, media.owner.icon_farm
|
334
|
-
refute media.owner.buddy_icon_url.empty?
|
335
|
-
|
336
|
-
# Visibility (This is the difference from Flickrie.media_from_set)
|
337
|
-
assert_equal true, media.visibility.public?
|
338
|
-
assert_equal false, media.visibility.friends?
|
339
|
-
assert_equal false, media.visibility.family?
|
340
|
-
assert_equal nil, media.visibility.contacts?
|
341
|
-
end
|
342
|
-
end
|
343
|
-
end
|
344
|
-
|
345
|
-
def test_get_context
|
346
|
-
VCR.use_cassette 'media/get_context' do
|
347
|
-
context = Flickrie.get_media_context(@media_id)
|
348
|
-
|
349
|
-
assert_equal 98, context['count']
|
350
|
-
|
351
|
-
previous_media = context['prevphoto']
|
352
|
-
assert_equal '6946978706', previous_media.id
|
353
|
-
assert_equal 'b38270bbd6', previous_media.secret
|
354
|
-
assert_equal '7216', previous_media.server
|
355
|
-
assert_equal 8, previous_media.farm
|
356
|
-
assert_equal 'IMG_0795', previous_media.title
|
357
|
-
refute previous_media.url.empty?
|
358
|
-
assert_equal '0', previous_media.license.id
|
359
|
-
assert_equal false, previous_media.faved?
|
360
|
-
|
361
|
-
next_media = context['nextphoto']
|
362
|
-
assert_equal '6946979704', next_media.id
|
363
|
-
assert_equal '74513ff732', next_media.secret
|
364
|
-
assert_equal '7234', next_media.server
|
365
|
-
assert_equal 8, next_media.farm
|
366
|
-
assert_equal 'IMG_0797', next_media.title
|
367
|
-
refute next_media.url.empty?
|
368
|
-
assert_equal '0', next_media.license.id
|
369
|
-
assert_equal false, next_media.faved?
|
370
|
-
end
|
371
|
-
end
|
372
|
-
|
373
|
-
def test_replace
|
374
|
-
VCR.use_cassette 'media/replace' do
|
375
|
-
media_path = File.join(File.expand_path(File.dirname(__FILE__)), 'photo.jpg')
|
376
|
-
begin
|
377
|
-
media_id = Flickrie.upload(media_path)
|
378
|
-
Flickrie.replace(media_path, media_id)
|
379
|
-
flunk
|
380
|
-
rescue => exception
|
381
|
-
assert_equal "Not a pro account", exception.message
|
382
|
-
ensure
|
383
|
-
Flickrie.delete_media(media_id)
|
384
|
-
end
|
385
|
-
end
|
386
|
-
end
|
387
|
-
|
388
|
-
def test_methods_returning_nil
|
389
|
-
media = Flickrie::Photo.new
|
390
|
-
|
391
|
-
assert_nil media.id
|
392
|
-
assert_nil media.secret
|
393
|
-
assert_nil media.server
|
394
|
-
assert_nil media.farm
|
395
|
-
assert_nil media.title
|
396
|
-
assert_nil media.description
|
397
|
-
assert_nil media.tags
|
398
|
-
assert_nil media.machine_tags
|
399
|
-
assert_nil media.media_status
|
400
|
-
assert_nil media.path_alias
|
401
|
-
assert_nil media.views_count
|
402
|
-
assert_nil media.comments_count
|
403
|
-
assert_nil media.location
|
404
|
-
assert_nil media.geo_permissions
|
405
|
-
assert_nil media.license
|
406
|
-
assert_nil media.posted_at
|
407
|
-
assert_nil media.uploaded_at
|
408
|
-
assert_nil media.updated_at
|
409
|
-
assert_nil media.taken_at
|
410
|
-
assert_nil media.taken_at_granularity
|
411
|
-
assert_nil media.owner
|
412
|
-
assert_nil media.safety_level
|
413
|
-
assert_nil media.safe?
|
414
|
-
assert_nil media.moderate?
|
415
|
-
assert_nil media.restricted?
|
416
|
-
assert_nil media.url
|
417
|
-
assert_nil media.visibility
|
418
|
-
assert_nil media.primary?
|
419
|
-
assert_nil media.favorite?
|
420
|
-
assert_nil media.can_comment?
|
421
|
-
assert_nil media.can_add_meta?
|
422
|
-
assert_nil media.can_everyone_comment?
|
423
|
-
assert_nil media.can_everyone_add_meta?
|
424
|
-
assert_nil media.can_download?
|
425
|
-
assert_nil media.can_blog?
|
426
|
-
assert_nil media.can_print?
|
427
|
-
assert_nil media.can_share?
|
428
|
-
assert_nil media.has_people?
|
429
|
-
assert_nil media.notes
|
430
|
-
assert_nil media.media_status
|
431
|
-
end
|
432
|
-
end
|
data/test/oauth_test.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
class OAuthTest < Test::Unit::TestCase
|
2
|
-
def test_tokens
|
3
|
-
VCR.use_cassette 'oauth/tokens' do
|
4
|
-
Flickrie.api_key = "foo"
|
5
|
-
Flickrie.shared_secret = "foo"
|
6
|
-
|
7
|
-
assert_raises(Flickrie::OAuth::Error) do
|
8
|
-
Flickrie::OAuth.get_request_token
|
9
|
-
end
|
10
|
-
|
11
|
-
Flickrie.api_key = ENV['FLICKR_API_KEY']
|
12
|
-
assert_raises(Flickrie::OAuth::Error) do
|
13
|
-
Flickrie::OAuth.get_request_token
|
14
|
-
end
|
15
|
-
|
16
|
-
Flickrie.shared_secret = ENV['FLICKR_SHARED_SECRET']
|
17
|
-
assert_nothing_raised { Flickrie::OAuth.get_request_token }
|
18
|
-
|
19
|
-
request_token = Flickrie::OAuth.get_request_token
|
20
|
-
assert_raises(Flickrie::OAuth::Error) do
|
21
|
-
Flickrie::OAuth.get_access_token("foo", request_token)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/test/photo_test.rb
DELETED
@@ -1,212 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
Flickrie::Photo.instance_eval do
|
3
|
-
def public_new(*args)
|
4
|
-
new(*args)
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
class PhotoTest < Test::Unit::TestCase
|
9
|
-
def setup
|
10
|
-
@photo_id = 6946979188
|
11
|
-
@set_id = 72157629851991663
|
12
|
-
@user_nsid = '67131352@N04'
|
13
|
-
|
14
|
-
# license,date_upload,date_taken,owner_name,icon_server,original_format,last_update,geo,tags,machine_tags,o_dims,views,media,path_alias,url_sq,url_q,url_t,url_s,url_n,url_m,url_z,url_c,url_l,url_o
|
15
|
-
@all_extras = %w[license date_upload date_taken owner_name
|
16
|
-
icon_server original_format last_update geo tags machine_tags
|
17
|
-
o_dims views media path_alias
|
18
|
-
url_sq url_q url_t url_s url_n url_m url_z url_c url_l url_o]
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_square_brackets
|
22
|
-
VCR.use_cassette 'photo/square_brackets' do
|
23
|
-
photo = Flickrie.get_photo_info(@photo_id)
|
24
|
-
assert_equal 1, photo['usage']['candownload'].to_i
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_from_set
|
29
|
-
VCR.use_cassette 'photo/from_set' do
|
30
|
-
photo = Flickrie.photos_from_set(@set_id, :extras => @all_extras).
|
31
|
-
find { |photo| photo.id.to_i == @photo_id }
|
32
|
-
|
33
|
-
assert_sizes(photo)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_public_from_user
|
38
|
-
VCR.use_cassette 'photo/from_user' do
|
39
|
-
photo = Flickrie.public_photos_from_user(@user_nsid, :extras => @all_extras).
|
40
|
-
find { |photo| photo.id.to_i == @photo_id }
|
41
|
-
|
42
|
-
assert_sizes(photo, :exclude => ['Square 150', 'Small 320', 'Medium 800'])
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_get_sizes
|
47
|
-
VCR.use_cassette 'photo/get_sizes' do
|
48
|
-
[Flickrie.get_photo_sizes(@photo_id),
|
49
|
-
Flickrie::Photo.public_new('id' => @photo_id.to_s).get_sizes].
|
50
|
-
each do |photo|
|
51
|
-
assert_equal true, photo.can_download?
|
52
|
-
assert_equal true, photo.can_blog?
|
53
|
-
assert_equal true, photo.can_print?
|
54
|
-
|
55
|
-
assert_sizes(photo)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_search
|
61
|
-
VCR.use_cassette 'photo/search' do
|
62
|
-
photo = Flickrie.search_photos(:user_id => @user_nsid, :extras => @all_extras).
|
63
|
-
find { |photo| photo.id.to_i == @photo_id }
|
64
|
-
|
65
|
-
assert_sizes(photo)
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
def assert_sizes(photo, options = {})
|
70
|
-
options[:exclude] ||= []
|
71
|
-
[
|
72
|
-
[[photo.square(75), photo.square75], ['Square 75', '75x75']],
|
73
|
-
[[photo.thumbnail], ['Thumbnail', '75x100']],
|
74
|
-
[[photo.square(150), photo.square150], ['Square 150', '150x150']],
|
75
|
-
[[photo.small(240), photo.small240], ['Small 240', '180x240']],
|
76
|
-
[[photo.small(320), photo.small320], ['Small 320', '240x320']],
|
77
|
-
[[photo.medium(500), photo.medium500], ['Medium 500', '375x500']],
|
78
|
-
[[photo.medium(640), photo.medium640], ['Medium 640', '480x640']],
|
79
|
-
[[photo.medium(800), photo.medium800], ['Medium 800', '600x800']],
|
80
|
-
[[photo.large(1024), photo.large1024], ['Large 1024', '768x1024']]
|
81
|
-
].
|
82
|
-
reject { |_, expected_values| options[:exclude].include?(expected_values.first) }.
|
83
|
-
each do |photos, expected_values|
|
84
|
-
flickr_size, size = expected_values
|
85
|
-
photos.each do |photo|
|
86
|
-
assert_equal flickr_size, photo.size
|
87
|
-
assert_equal size, "#{photo.width}x#{photo.height}", "Non bang versions"
|
88
|
-
refute photo.source_url.empty?
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
[
|
93
|
-
[[proc { photo.square!(75) }, proc { photo.square75! }], ['Square 75', '75x75']],
|
94
|
-
[[proc { photo.thumbnail! }], ['Thumbnail', '75x100']],
|
95
|
-
[[proc { photo.square!(150) }, proc { photo.square150! }], ['Square 150', '150x150']],
|
96
|
-
[[proc { photo.small!(240) }, proc { photo.small240! }], ['Small 240', '180x240']],
|
97
|
-
[[proc { photo.small!(320) }, proc { photo.small320! }], ['Small 320', '240x320']],
|
98
|
-
[[proc { photo.medium!(500) }, proc { photo.medium500! }], ['Medium 500', '375x500']],
|
99
|
-
[[proc { photo.medium!(640) }, proc { photo.medium640! }], ['Medium 640', '480x640']],
|
100
|
-
[[proc { photo.medium!(800) }, proc { photo.medium800! }], ['Medium 800', '600x800']],
|
101
|
-
[[proc { photo.large!(1024) }, proc { photo.large1024! }], ['Large 1024', '768x1024']]
|
102
|
-
].
|
103
|
-
reject { |_, expected_values| options[:exclude].include?(expected_values.first) }.
|
104
|
-
each do |proks, expected_values|
|
105
|
-
flickr_size, size = expected_values
|
106
|
-
proks.each do |prok|
|
107
|
-
prok.call
|
108
|
-
assert_equal flickr_size, photo.size
|
109
|
-
assert_equal size, "#{photo.width}x#{photo.height}", "Bang versions"
|
110
|
-
refute photo.source_url.empty?
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_methods_returning_nil
|
116
|
-
photo = Flickrie::Photo.new
|
117
|
-
|
118
|
-
assert_nil photo.width
|
119
|
-
assert_nil photo.height
|
120
|
-
assert_nil photo.source_url
|
121
|
-
assert_nil photo.rotation
|
122
|
-
assert_equal [], photo.available_sizes
|
123
|
-
assert_equal nil, photo.size
|
124
|
-
|
125
|
-
[
|
126
|
-
photo.square(75), photo.square(150), photo.thumbnail,
|
127
|
-
photo.small(240), photo.small(320), photo.medium(500),
|
128
|
-
photo.medium(640), photo.medium(800), photo.large(1024),
|
129
|
-
photo.original, photo.square75, photo.square150,
|
130
|
-
photo.small240, photo.small320, photo.medium500,
|
131
|
-
photo.medium640, photo.medium800, photo.large1024,
|
132
|
-
photo.largest
|
133
|
-
].
|
134
|
-
each do |photo|
|
135
|
-
assert_nil photo.source_url
|
136
|
-
assert_nil photo.width
|
137
|
-
assert_nil photo.height
|
138
|
-
end
|
139
|
-
|
140
|
-
[
|
141
|
-
proc { photo.square!(75) }, proc { photo.square!(150) },
|
142
|
-
proc { photo.thumbnail! }, proc { photo.small!(240) },
|
143
|
-
proc { photo.small!(320) }, proc { photo.medium!(500) },
|
144
|
-
proc { photo.medium!(640) }, proc { photo.medium!(800) },
|
145
|
-
proc { photo.large!(1024) }, proc { photo.original! },
|
146
|
-
proc { photo.square75! }, proc { photo.square150! },
|
147
|
-
proc { photo.small240! }, proc { photo.small320! },
|
148
|
-
proc { photo.medium500! }, proc { photo.medium640! },
|
149
|
-
proc { photo.medium800! }, proc { photo.large1024! },
|
150
|
-
proc { photo.largest! }
|
151
|
-
].
|
152
|
-
each do |prok|
|
153
|
-
prok.call
|
154
|
-
assert_nil photo.source_url
|
155
|
-
assert_nil photo.width
|
156
|
-
assert_nil photo.height
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_upload
|
161
|
-
VCR.use_cassette 'photo/upload' do
|
162
|
-
photo_path = File.join(File.expand_path(File.dirname(__FILE__)), 'photo.jpg')
|
163
|
-
photo_id = Flickrie.upload(photo_path)
|
164
|
-
assert_nothing_raised(Flickrie::Error) { Flickrie.get_photo_info(photo_id) }
|
165
|
-
Flickrie.delete_photo(photo_id)
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
def test_asynchronous_upload
|
170
|
-
VCR.use_cassette 'photo/asynchronous_upload' do
|
171
|
-
photo_path = File.join(File.expand_path(File.dirname(__FILE__)), 'photo.jpg')
|
172
|
-
ticket_id = Flickrie.upload(photo_path, :async => 1)
|
173
|
-
begin
|
174
|
-
ticket = Flickrie.check_upload_tickets([ticket_id]).first
|
175
|
-
end until ticket.complete?
|
176
|
-
photo_id = ticket.photo_id
|
177
|
-
assert_nothing_raised(Flickrie::Error) { Flickrie.get_photo_info(photo_id) }
|
178
|
-
Flickrie.delete_photo(photo_id)
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
def test_get_exif
|
183
|
-
VCR.use_cassette 'photo/get_exif' do
|
184
|
-
[Flickrie.get_photo_exif(@photo_id),
|
185
|
-
Flickrie::Photo.public_new('id' => @photo_id).get_exif].
|
186
|
-
each do |photo|
|
187
|
-
assert_equal "Canon PowerShot G12", photo.camera
|
188
|
-
assert_equal "180 dpi", photo.exif.get('X-Resolution')
|
189
|
-
assert_equal "180 dpi", photo.exif.get('X-Resolution', :data => 'clean')
|
190
|
-
assert_equal "180", photo.exif.get('X-Resolution', :data => 'raw')
|
191
|
-
end
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
def test_other_api_calls
|
196
|
-
VCR.use_cassette 'photo/other_api_calls' do
|
197
|
-
# add_photo_tags, get_photo_info, remove_photo_tag,
|
198
|
-
# search_photos, photos_from_contacts
|
199
|
-
|
200
|
-
assert_nothing_raised do
|
201
|
-
Flickrie.add_photo_tags(@photo_id, "janko")
|
202
|
-
photo = Flickrie.get_photo_info(@photo_id)
|
203
|
-
tag = photo.tags.find { |tag| tag.content == "janko" }
|
204
|
-
Flickrie.remove_photo_tag(tag.id)
|
205
|
-
Flickrie.photos_from_contacts(:include_self => 1)
|
206
|
-
Flickrie.public_photos_from_user_contacts(@user_nsid, :include_self => 1)
|
207
|
-
Flickrie.get_photo_context(@photo_id)
|
208
|
-
Flickrie.search_photos(:user_id => @user_nsid)
|
209
|
-
end
|
210
|
-
end
|
211
|
-
end
|
212
|
-
end
|