flickrie 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/flickrie.gemspec +1 -1
- data/lib/flickrie/version.rb +1 -1
- metadata +22 -150
- data/.gitignore +0 -10
- data/.travis.yml +0 -4
- data/.yardopts +0 -11
- data/CHANGELOG.md +0 -139
- data/Gemfile +0 -9
- data/Rakefile +0 -60
- data/spec/custom_matchers.rb +0 -51
- data/spec/files/photo.bla +0 -0
- data/spec/files/photo.jpg +0 -0
- data/spec/files/video.mov +0 -0
- data/spec/flickrie/api_methods_spec.rb +0 -124
- data/spec/flickrie/error_spec.rb +0 -26
- data/spec/flickrie/instance_spec.rb +0 -17
- data/spec/flickrie/license_spec.rb +0 -15
- data/spec/flickrie/location_spec.rb +0 -24
- data/spec/flickrie/media_count_spec.rb +0 -22
- data/spec/flickrie/media_spec.rb +0 -292
- data/spec/flickrie/oauth_spec.rb +0 -25
- data/spec/flickrie/photo_spec.rb +0 -132
- data/spec/flickrie/set_spec.rb +0 -76
- data/spec/flickrie/upload_client_spec.rb +0 -43
- data/spec/flickrie/user_spec.rb +0 -84
- data/spec/flickrie/video_spec.rb +0 -52
- data/spec/flickrie_spec.rb +0 -15
- data/spec/spec_helper.rb +0 -71
- data/spec/vcr_cassettes/api_methods/people/get_media_from_user.yml +0 -108
- data/spec/vcr_cassettes/api_methods/people/get_public_media_from_user.yml +0 -108
- data/spec/vcr_cassettes/api_methods/photos/add_and_remove_tags.yml +0 -528
- data/spec/vcr_cassettes/api_methods/photos/get_context.yml +0 -108
- data/spec/vcr_cassettes/api_methods/photos/get_counts.yml +0 -108
- data/spec/vcr_cassettes/api_methods/photos/get_exif.yml +0 -73
- data/spec/vcr_cassettes/api_methods/photos/get_favorites.yml +0 -73
- data/spec/vcr_cassettes/api_methods/photos/get_from_contacts.yml +0 -73
- data/spec/vcr_cassettes/api_methods/photos/get_info.yml +0 -108
- data/spec/vcr_cassettes/api_methods/photos/get_public_from_user_contacts.yml +0 -73
- data/spec/vcr_cassettes/api_methods/photos/get_sizes.yml +0 -73
- data/spec/vcr_cassettes/api_methods/photos/search.yml +0 -108
- data/spec/vcr_cassettes/api_methods/photosets/get_media.yml +0 -108
- data/spec/vcr_cassettes/api_methods/upload/replace.yml +0 -126
- data/spec/vcr_cassettes/api_methods/upload/upload.yml +0 -82
- data/spec/vcr_cassettes/api_methods/upload/upload_asynchronously.yml +0 -117
- data/spec/vcr_cassettes/error/a_request_was_made_and_failed/be_raised.yml +0 -84
- data/spec/vcr_cassettes/error/a_request_was_made_and_failed/have_code_attribute_present.yml +0 -84
- data/spec/vcr_cassettes/flickrie/a_new_credential_is_filled_in/reset_the_client.yml +0 -233
- data/spec/vcr_cassettes/instance/client_is_already_initialized/be_able_to_call_API_methods.yml +0 -152
- data/spec/vcr_cassettes/license/get/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media/from_contacts/have_all_attributes_correctly_set.yml +0 -73
- data/spec/vcr_cassettes/media/from_set/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media/from_user/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media/get_context/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media/get_exif/get_exif_correctly.yml +0 -73
- data/spec/vcr_cassettes/media/get_info/have_all_attributes_correctly_set.yml +0 -108
- data/spec/vcr_cassettes/media/public_from_user/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media/search/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/media_count/get/have_correctly_set_all_attributes.yml +0 -73
- data/spec/vcr_cassettes/o_auth/incorrect_credentials/raise_exceptions.yml +0 -249
- data/spec/vcr_cassettes/photo/get_info/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/photo/get_sizes/have_attributes_correctly_set.yml +0 -73
- data/spec/vcr_cassettes/photo/search/have_all_sizes_available.yml +0 -38
- data/spec/vcr_cassettes/set/from_user/have_all_attributes_correctly_set.yml +0 -143
- data/spec/vcr_cassettes/set/get_info/have_all_attributes_correctly_set.yml +0 -283
- data/spec/vcr_cassettes/upload_client/content_type/pass_the_content_type.yml +0 -117
- data/spec/vcr_cassettes/upload_client/invalid_credentials/raise_errors.yml +0 -276
- data/spec/vcr_cassettes/user/find_by_username_or_email/have_all_attributes_correctly_set.yml +0 -73
- data/spec/vcr_cassettes/user/get_info/have_all_attributes_correctly_set.yml +0 -73
- data/spec/vcr_cassettes/video/get_info/have_all_attributes_correctly_set.yml +0 -38
- data/spec/vcr_cassettes/video/get_sizes/have_all_attributes_correctly_set.yml +0 -73
@@ -1,124 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::ApiMethods do
|
4
|
-
context "upload" do
|
5
|
-
it "should upload", :vcr do
|
6
|
-
photo_id = Flickrie.upload(PHOTO_PATH)
|
7
|
-
expect { Flickrie.delete_photo(photo_id) }.to_not raise_error
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should upload asynchronously", :vcr do
|
11
|
-
ticket_id = Flickrie.upload(PHOTO_PATH, :async => 1)
|
12
|
-
ticket = Flickrie.check_upload_tickets(ticket_id).first
|
13
|
-
until ticket.complete?
|
14
|
-
ticket = Flickrie.check_upload_tickets(ticket_id).first
|
15
|
-
end
|
16
|
-
expect { Flickrie.delete_photo(ticket.photo_id) }.to_not raise_error
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should replace", :vcr do
|
20
|
-
begin
|
21
|
-
photo_id = Flickrie.upload(PHOTO_PATH)
|
22
|
-
Flickrie.replace(PHOTO_PATH, photo_id)
|
23
|
-
rescue => error
|
24
|
-
error.message.should == "Not a pro account"
|
25
|
-
ensure
|
26
|
-
Flickrie.delete_photo(photo_id)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
context "people" do
|
32
|
-
it "should get media from user", :vcr do
|
33
|
-
Flickrie.media_from_user(USER_NSID).first.id.should_not be_nil
|
34
|
-
Flickrie.photos_from_user(USER_NSID).first.id.should_not be_nil
|
35
|
-
Flickrie.videos_from_user(USER_NSID).first.id.should_not be_nil
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should get public media from user", :vcr do
|
39
|
-
Flickrie.public_media_from_user(USER_NSID).first.id.should_not be_nil
|
40
|
-
Flickrie.public_photos_from_user(USER_NSID).first.id.should_not be_nil
|
41
|
-
Flickrie.public_videos_from_user(USER_NSID).first.id.should_not be_nil
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# Here I test the media/photo/video aliases of the API methods (because I don't test them elsewhere)
|
46
|
-
context "photos" do
|
47
|
-
it "should add and remove tags", :vcr do
|
48
|
-
%w[media photo video].each do |word|
|
49
|
-
id = eval "#{word.upcase}_ID"
|
50
|
-
media = Flickrie.send("get_#{word}_info", id)
|
51
|
-
tags_before_change = media.tags.join(' ')
|
52
|
-
Flickrie.send("add_#{word}_tags", id, "janko")
|
53
|
-
media.get_info
|
54
|
-
media.tags.join(' ').should eq([tags_before_change, "janko"].join(' '))
|
55
|
-
tag_id = media.tags.find { |tag| tag.content == "janko" }.id
|
56
|
-
Flickrie.send("remove_#{word}_tag", tag_id)
|
57
|
-
media.get_info
|
58
|
-
media.tags.join(' ').should eq(tags_before_change)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should get from contacts", :vcr do
|
63
|
-
params = {:include_self => 1, :single_photo => 1}
|
64
|
-
Flickrie.media_from_contacts(params).first.id.should_not be_nil
|
65
|
-
Flickrie.photos_from_contacts(params).first.id.should_not be_nil
|
66
|
-
# Flickrie.videos_from_contacts(params).first.id.should_not be_nil
|
67
|
-
end
|
68
|
-
|
69
|
-
it "should get public from user contacts", :vcr do
|
70
|
-
params = {:include_self => 1, :single_photo => 1}
|
71
|
-
Flickrie.public_media_from_user_contacts(USER_NSID, params).first.id.should_not be_nil
|
72
|
-
Flickrie.public_photos_from_user_contacts(USER_NSID, params).first.id.should_not be_nil
|
73
|
-
# Flickrie.public_videos_from_user_contacts(USER_NSID, params).each { |object| object.should be_a_video }
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should get context", :vcr do
|
77
|
-
Flickrie.get_media_context(MEDIA_ID).count.should_not be_nil
|
78
|
-
Flickrie.get_photo_context(PHOTO_ID).count.should_not be_nil
|
79
|
-
Flickrie.get_photo_context(VIDEO_ID).count.should_not be_nil
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should get counts", :vcr do
|
83
|
-
dates = [DateTime.parse("19th May 2009"), DateTime.parse("19th May 2012")]
|
84
|
-
Flickrie.get_media_counts(:taken_dates => dates.join(',')).first.value.should_not be_nil
|
85
|
-
Flickrie.get_photos_counts(:taken_dates => dates.join(',')).first.value.should_not be_nil
|
86
|
-
Flickrie.get_videos_counts(:taken_dates => dates.join(',')).first.value.should_not be_nil
|
87
|
-
end
|
88
|
-
|
89
|
-
it "should get exif", :vcr do
|
90
|
-
Flickrie.get_photo_exif(PHOTO_ID).exif.should_not be_nil
|
91
|
-
Flickrie.get_video_exif(VIDEO_ID).exif.should_not be_nil
|
92
|
-
end
|
93
|
-
|
94
|
-
it "should get favorites", :vcr do
|
95
|
-
Flickrie.get_photo_favorites(PHOTO_ID).favorites.should_not be_nil
|
96
|
-
Flickrie.get_video_favorites(PHOTO_ID).favorites.should_not be_nil
|
97
|
-
end
|
98
|
-
|
99
|
-
it "should get info", :vcr do
|
100
|
-
Flickrie.get_media_info(MEDIA_ID).id.should_not be_nil
|
101
|
-
Flickrie.get_photo_info(PHOTO_ID).id.should_not be_nil
|
102
|
-
Flickrie.get_video_info(VIDEO_ID).id.should_not be_nil
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should get sizes", :vcr do
|
106
|
-
Flickrie.get_photo_sizes(PHOTO_ID).size.should_not be_nil
|
107
|
-
Flickrie.get_video_sizes(VIDEO_ID).download_url.should_not be_nil
|
108
|
-
end
|
109
|
-
|
110
|
-
it "should search", :vcr do
|
111
|
-
Flickrie.search_media(:user_id => USER_NSID).first.id.should_not be_nil
|
112
|
-
Flickrie.search_photos(:user_id => USER_NSID).first.id.should_not be_nil
|
113
|
-
Flickrie.search_videos(:user_id => USER_NSID).first.id.should_not be_nil
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
context "photosets" do
|
118
|
-
it "should get media", :vcr do
|
119
|
-
Flickrie.media_from_set(SET_ID).first.id.should_not be_nil
|
120
|
-
Flickrie.photos_from_set(SET_ID).first.id.should_not be_nil
|
121
|
-
Flickrie.videos_from_set(SET_ID).first.id.should_not be_nil
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
data/spec/flickrie/error_spec.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::Error do
|
4
|
-
context "a request was made and failed" do
|
5
|
-
it "should be raised", :vcr do
|
6
|
-
Flickrie.api_key = nil
|
7
|
-
expect { Flickrie.get_licenses }.to raise_error(described_class)
|
8
|
-
expect { Flickrie.upload(PHOTO_PATH) }.to raise_error(described_class)
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should have #code attribute present", :vcr do
|
12
|
-
Flickrie.api_key = nil
|
13
|
-
begin
|
14
|
-
Flickrie.get_licenses
|
15
|
-
rescue => exception
|
16
|
-
exception.code.should eq(100)
|
17
|
-
end
|
18
|
-
|
19
|
-
begin
|
20
|
-
Flickrie.upload(PHOTO_PATH)
|
21
|
-
rescue => exception
|
22
|
-
exception.code.should eq(100)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::Instance do
|
4
|
-
context "client is already initialized" do
|
5
|
-
it "should be able to call API methods", :vcr do
|
6
|
-
# this is to see if the client and upload_client were reset
|
7
|
-
Flickrie.get_photo_info(PHOTO_ID)
|
8
|
-
id = Flickrie.upload(PHOTO_PATH)
|
9
|
-
Flickrie.delete_photo(id)
|
10
|
-
Flickrie.access_token = Flickrie.access_secret = nil
|
11
|
-
|
12
|
-
instance = Flickrie::Instance.new(ENV['FLICKR_ACCESS_TOKEN'], ENV['FLICKR_ACCESS_SECRET'])
|
13
|
-
user = instance.test_login
|
14
|
-
user.username.should eq(USER_USERNAME)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::License do
|
4
|
-
context "get" do
|
5
|
-
it "should have all attributes correctly set", :vcr do
|
6
|
-
licenses = Flickrie.get_licenses
|
7
|
-
|
8
|
-
licenses.each do |license|
|
9
|
-
('0'..'8').should cover(license.id)
|
10
|
-
license.name.should be_an_instance_of(String)
|
11
|
-
license.url.should be_an_instance_of(String)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::Location do
|
4
|
-
context "blank" do
|
5
|
-
it "should have all attributes equal to nil" do
|
6
|
-
location = Flickrie::Location.public_new
|
7
|
-
attributes = location.methods - Object.instance_methods - [:[]]
|
8
|
-
attributes.each do |attribute|
|
9
|
-
location.send(attribute).should be_nil
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context "accessing areas" do
|
15
|
-
it "should have #to_s defined on them" do
|
16
|
-
location = Flickrie::Location.public_new \
|
17
|
-
'neighbourhood' => {
|
18
|
-
'_content' => 'A gangsta ghetto, yo'
|
19
|
-
}
|
20
|
-
|
21
|
-
location.neighbourhood.to_s.should eq('A gangsta ghetto, yo')
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::MediaCount do
|
4
|
-
context "get" do
|
5
|
-
it "should have correctly set all attributes", :vcr do
|
6
|
-
dates = [DateTime.parse("1st March 2012"), DateTime.parse("5th May 2012")].map(&:to_time)
|
7
|
-
[
|
8
|
-
Flickrie.get_media_counts(:taken_dates => dates.join(',')).first,
|
9
|
-
Flickrie.get_media_counts(:dates => dates.map(&:to_i).join(',')).first
|
10
|
-
].
|
11
|
-
each do |count|
|
12
|
-
count.value.should be_an_instance_of(Fixnum)
|
13
|
-
|
14
|
-
count.date_range.begin.should eq(dates.first)
|
15
|
-
count.from.should eq(dates.first)
|
16
|
-
|
17
|
-
count.date_range.end.should eq(dates.last)
|
18
|
-
count.to.should eq(dates.last)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/spec/flickrie/media_spec.rb
DELETED
@@ -1,292 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::Media do
|
4
|
-
before(:all) do
|
5
|
-
@attributes = {
|
6
|
-
:id => PHOTO_ID,
|
7
|
-
:secret => '25bb44852b',
|
8
|
-
:server => '7049',
|
9
|
-
:farm => 8,
|
10
|
-
:title => 'IMG_0796',
|
11
|
-
:description => 'Test',
|
12
|
-
:media_status => 'ready',
|
13
|
-
:path_alias => nil,
|
14
|
-
:camera => 'Canon PowerShot G12',
|
15
|
-
:comments_count => 1,
|
16
|
-
:location => {
|
17
|
-
:latitude => 45.807258,
|
18
|
-
:longitude => 15.967599,
|
19
|
-
:accuracy => '11',
|
20
|
-
:context => 0,
|
21
|
-
:neighbourhood => nil,
|
22
|
-
:locality => {
|
23
|
-
:name => 'Zagreb',
|
24
|
-
:place_id => '00j4IylZV7scWik',
|
25
|
-
:woeid => '851128'
|
26
|
-
},
|
27
|
-
:county => {
|
28
|
-
:name => 'Zagreb',
|
29
|
-
:place_id => '306dHrhQV7o6jm.ZUQ',
|
30
|
-
:woeid => '15022257'
|
31
|
-
},
|
32
|
-
:region => {
|
33
|
-
:name => 'Grad Zagreb',
|
34
|
-
:place_id => 'Js1DU.pTUrpBCIKhVw',
|
35
|
-
:woeid => '20070170'
|
36
|
-
},
|
37
|
-
:country => {
|
38
|
-
:name => 'Croatia',
|
39
|
-
:place_id => 'FunRCI5TUb6a6soTyw',
|
40
|
-
:woeid => '23424843'
|
41
|
-
},
|
42
|
-
:place_id => '00j4IylZV7scWik',
|
43
|
-
:woeid => '851128'
|
44
|
-
},
|
45
|
-
:geo_permissions => {
|
46
|
-
:public? => true,
|
47
|
-
:contacts? => false,
|
48
|
-
:friends? => false,
|
49
|
-
:family? => false
|
50
|
-
},
|
51
|
-
:tags => {
|
52
|
-
:first => {
|
53
|
-
:content => 'luka',
|
54
|
-
:author => {
|
55
|
-
:nsid => USER_NSID
|
56
|
-
},
|
57
|
-
:raw => 'luka',
|
58
|
-
:machine_tag? => false
|
59
|
-
}
|
60
|
-
},
|
61
|
-
:machine_tags => [],
|
62
|
-
:license => {:id => '0'},
|
63
|
-
:taken_at_granularity => 0,
|
64
|
-
:owner => {
|
65
|
-
:nsid => USER_NSID,
|
66
|
-
:username => USER_USERNAME,
|
67
|
-
:real_name => USER_USERNAME,
|
68
|
-
:location => "Zagreb, Croatia",
|
69
|
-
:icon_server => "5464",
|
70
|
-
:icon_farm => 6
|
71
|
-
},
|
72
|
-
|
73
|
-
:safety_level => 0,
|
74
|
-
:safe? => true,
|
75
|
-
:moderate? => false,
|
76
|
-
:restricted? => false,
|
77
|
-
|
78
|
-
:visibility => {
|
79
|
-
:public? => true,
|
80
|
-
:family? => false,
|
81
|
-
:friends? => false,
|
82
|
-
:contacts? => nil
|
83
|
-
},
|
84
|
-
:favorite? => false,
|
85
|
-
|
86
|
-
:has_people? => false,
|
87
|
-
:notes => {
|
88
|
-
:first => {
|
89
|
-
:id => '72157629487842968',
|
90
|
-
:author => {
|
91
|
-
:nsid => USER_NSID,
|
92
|
-
:username => USER_USERNAME
|
93
|
-
},
|
94
|
-
:coordinates => [316, 0],
|
95
|
-
:width => 59,
|
96
|
-
:height => 50,
|
97
|
-
:content => 'Test'
|
98
|
-
}
|
99
|
-
}
|
100
|
-
}
|
101
|
-
end
|
102
|
-
|
103
|
-
context "get info" do
|
104
|
-
it "should have all attributes correctly set", :vcr do
|
105
|
-
[
|
106
|
-
Flickrie.get_media_info(PHOTO_ID),
|
107
|
-
Flickrie::Photo.public_new('id' => PHOTO_ID).get_info,
|
108
|
-
Flickrie::Video.public_new('id' => PHOTO_ID).get_info
|
109
|
-
].
|
110
|
-
each do |media|
|
111
|
-
[
|
112
|
-
:id, :secret, :server, :farm, :title, :description,
|
113
|
-
:comments_count, :location, :geo_permissions, :tags,
|
114
|
-
:machine_tags, :license, :taken_at_granularity, :owner,
|
115
|
-
:safety_level, :safe?, :moderate?, :restricted?, :visibility,
|
116
|
-
:favorite?, :has_people?, :notes
|
117
|
-
].
|
118
|
-
each do |attribute|
|
119
|
-
media.send(attribute).should correspond_to(@attributes[attribute])
|
120
|
-
end
|
121
|
-
|
122
|
-
# can change, so just checking the type
|
123
|
-
[
|
124
|
-
:can_comment?, :can_add_meta?, :can_everyone_comment?,
|
125
|
-
:can_everyone_add_meta?, :can_download?, :can_blog?,
|
126
|
-
:can_print?, :can_share?
|
127
|
-
].
|
128
|
-
each { |attribute| media.send(attribute).should be_a_boolean }
|
129
|
-
|
130
|
-
media.views_count.should be_a_number
|
131
|
-
|
132
|
-
# time
|
133
|
-
[:posted_at, :uploaded_at, :updated_at, :taken_at].each do |time_attribute|
|
134
|
-
media.send(time_attribute).should be_an_instance_of(Time)
|
135
|
-
end
|
136
|
-
|
137
|
-
# other
|
138
|
-
media.url.should_not be_empty
|
139
|
-
media['id'].should eq(PHOTO_ID)
|
140
|
-
media.hash['id'].should eq(PHOTO_ID)
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
shared_context "common" do
|
146
|
-
def test_common_attributes(media)
|
147
|
-
[
|
148
|
-
:id, :secret, :server, :farm, :title, :media_status,
|
149
|
-
:geo_permissions, :machine_tags, :license, :taken_at_granularity
|
150
|
-
].
|
151
|
-
each do |attribute|
|
152
|
-
media.send(attribute).should correspond_to(@attributes[attribute])
|
153
|
-
end
|
154
|
-
|
155
|
-
# the incomplete ones
|
156
|
-
media.location.should correspond_to(@attributes[:location].except(:locality, :county, :region, :country))
|
157
|
-
media.tags.first.should correspond_to(@attributes[:tags][:first].except(:author, :raw, :machine_tag?))
|
158
|
-
media.owner.should correspond_to(@attributes[:owner].except(:real_name, :location))
|
159
|
-
|
160
|
-
# time
|
161
|
-
[:uploaded_at, :updated_at, :taken_at].each do |time_attribute|
|
162
|
-
media.send(time_attribute).should be_an_instance_of(Time)
|
163
|
-
end
|
164
|
-
|
165
|
-
# other
|
166
|
-
media.url.should_not be_empty
|
167
|
-
media.views_count.should be_a_number
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
context "from set" do
|
172
|
-
include_context "common"
|
173
|
-
|
174
|
-
it "should have all attributes correctly set", :vcr do
|
175
|
-
media = Flickrie.media_from_set(SET_ID, :extras => EXTRAS).
|
176
|
-
find { |media| media.id == PHOTO_ID }
|
177
|
-
test_common_attributes(media)
|
178
|
-
media.primary?.should be_true
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
context "from user" do
|
183
|
-
include_context "common"
|
184
|
-
|
185
|
-
it "should have all attributes correctly set", :vcr do
|
186
|
-
media = Flickrie.media_from_user(USER_NSID, :extras => EXTRAS).
|
187
|
-
find { |media| media.id == PHOTO_ID }
|
188
|
-
test_common_attributes(media)
|
189
|
-
media.visibility.should correspond_to(@attributes[:visibility])
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
|
-
context "public from user" do
|
194
|
-
include_context "common"
|
195
|
-
|
196
|
-
it "should have all attributes correctly set", :vcr do
|
197
|
-
media = Flickrie.public_media_from_user(USER_NSID, :extras => EXTRAS).
|
198
|
-
find { |media| media.id == PHOTO_ID }
|
199
|
-
test_common_attributes(media)
|
200
|
-
media.visibility.should correspond_to(@attributes[:visibility])
|
201
|
-
end
|
202
|
-
end
|
203
|
-
|
204
|
-
context "search" do
|
205
|
-
include_context "common"
|
206
|
-
|
207
|
-
it "should have all attributes correctly set", :vcr do
|
208
|
-
media = Flickrie.search_media(:user_id => USER_NSID, :extras => EXTRAS).
|
209
|
-
find { |media| media.id == PHOTO_ID }
|
210
|
-
test_common_attributes(media)
|
211
|
-
media.visibility.should correspond_to(@attributes[:visibility])
|
212
|
-
end
|
213
|
-
end
|
214
|
-
|
215
|
-
context "from contacts" do
|
216
|
-
it "should have all attributes correctly set", :vcr do
|
217
|
-
params = {:include_self => 1, :single_photo => 1}
|
218
|
-
[
|
219
|
-
Flickrie.media_from_contacts(params).first,
|
220
|
-
Flickrie.public_media_from_user_contacts(USER_NSID, params).first
|
221
|
-
].
|
222
|
-
each do |media|
|
223
|
-
attributes = {
|
224
|
-
:id => '7093101501',
|
225
|
-
:secret => '9337f28800',
|
226
|
-
:server => '7090',
|
227
|
-
:farm => 8,
|
228
|
-
:owner => {
|
229
|
-
:nsid => USER_NSID,
|
230
|
-
:username => USER_USERNAME
|
231
|
-
},
|
232
|
-
:title => 'IMG_0917',
|
233
|
-
:visibility => {:public? => true},
|
234
|
-
:media_status => 'ready'
|
235
|
-
}
|
236
|
-
|
237
|
-
attributes.keys.each do |attribute|
|
238
|
-
media.send(attribute).should correspond_to(attributes[attribute])
|
239
|
-
end
|
240
|
-
end
|
241
|
-
end
|
242
|
-
end
|
243
|
-
|
244
|
-
context "get context" do
|
245
|
-
it "should have all attributes correctly set", :vcr do
|
246
|
-
context = Flickrie.get_media_context(PHOTO_ID)
|
247
|
-
context.count.should eq(98)
|
248
|
-
|
249
|
-
attributes = {
|
250
|
-
:id => '6946978706',
|
251
|
-
:secret => 'b38270bbd6',
|
252
|
-
:server => '7216',
|
253
|
-
:farm => 8,
|
254
|
-
:title => 'IMG_0795',
|
255
|
-
:license => {:id => '0'},
|
256
|
-
:faved? => false
|
257
|
-
}
|
258
|
-
attributes.keys.each do |attribute|
|
259
|
-
context.previous.send(attribute).should correspond_to(attributes[attribute])
|
260
|
-
end
|
261
|
-
context.previous.url.should_not be_empty
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
|
-
context "get exif" do
|
266
|
-
it "should get exif correctly", :vcr do
|
267
|
-
[
|
268
|
-
Flickrie.get_photo_exif(PHOTO_ID),
|
269
|
-
Flickrie::Photo.public_new('id' => PHOTO_ID).get_exif
|
270
|
-
].
|
271
|
-
each do |photo|
|
272
|
-
photo.camera.should eq('Canon PowerShot G12')
|
273
|
-
photo.exif.get('X-Resolution').should eq('180 dpi')
|
274
|
-
photo.exif.get('X-Resolution', :data => 'clean').should eq('180 dpi')
|
275
|
-
photo.exif.get('X-Resolution', :data => 'raw').should eq('180')
|
276
|
-
end
|
277
|
-
end
|
278
|
-
end
|
279
|
-
|
280
|
-
context "blank media" do
|
281
|
-
it "should have all attributes equal to nil" do
|
282
|
-
attributes = Flickrie::Media.instance_methods -
|
283
|
-
Object.instance_methods -
|
284
|
-
[:[], :get_info, :get_exif, :get_favorites]
|
285
|
-
|
286
|
-
media = Flickrie::Photo.public_new
|
287
|
-
attributes.each do |attribute|
|
288
|
-
media.send(attribute).should be_nil
|
289
|
-
end
|
290
|
-
end
|
291
|
-
end
|
292
|
-
end
|
data/spec/flickrie/oauth_spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Flickrie::OAuth do
|
4
|
-
context "incorrect credentials" do
|
5
|
-
it "should raise exceptions", :vcr do
|
6
|
-
Flickrie.api_key = "foo"
|
7
|
-
Flickrie.shared_secret = "foo"
|
8
|
-
|
9
|
-
expect { Flickrie::OAuth.get_request_token }.to raise_error(Flickrie::Error)
|
10
|
-
|
11
|
-
Flickrie.api_key = ENV['FLICKR_API_KEY']
|
12
|
-
expect { Flickrie::OAuth.get_request_token }.to raise_error(Flickrie::Error)
|
13
|
-
|
14
|
-
Flickrie.shared_secret = ENV['FLICKR_SHARED_SECRET']
|
15
|
-
expect { Flickrie::OAuth.get_request_token }.to_not raise_error(Flickrie::Error)
|
16
|
-
|
17
|
-
request_token = Flickrie::OAuth.get_request_token
|
18
|
-
request_token.authorize_url.should_not be_empty
|
19
|
-
request_token.get_authorization_url.should_not be_empty
|
20
|
-
|
21
|
-
expect { Flickrie::OAuth.get_access_token("foo", request_token) }.to raise_error(Flickrie::Error)
|
22
|
-
expect { request_token.get_access_token("foo") }.to raise_error(Flickrie::Error)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/spec/flickrie/photo_spec.rb
DELETED
@@ -1,132 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
SIZES = ['Square 75', 'Thumbnail', 'Square 150', 'Small 240', 'Small 320',
|
4
|
-
'Medium 500', 'Medium 640', 'Medium 800', 'Large 1024']
|
5
|
-
|
6
|
-
describe Flickrie::Photo do
|
7
|
-
def test_sizes(photo)
|
8
|
-
# non-bang versions
|
9
|
-
[
|
10
|
-
[[photo.square(75), photo.square75], ['Square 75', '75x75']],
|
11
|
-
[[photo.thumbnail], ['Thumbnail', '75x100']],
|
12
|
-
[[photo.square(150), photo.square150], ['Square 150', '150x150']],
|
13
|
-
[[photo.small(240), photo.small240], ['Small 240', '180x240']],
|
14
|
-
[[photo.small(320), photo.small320], ['Small 320', '240x320']],
|
15
|
-
[[photo.medium(500), photo.medium500], ['Medium 500', '375x500']],
|
16
|
-
[[photo.medium(640), photo.medium640], ['Medium 640', '480x640']],
|
17
|
-
[[photo.medium(800), photo.medium800], ['Medium 800', '600x800']],
|
18
|
-
[[photo.large(1024), photo.large1024], ['Large 1024', '768x1024']]
|
19
|
-
].
|
20
|
-
each do |photos, expected_values|
|
21
|
-
flickr_size, size = expected_values
|
22
|
-
photos.each do |photo|
|
23
|
-
photo.size.should eq(flickr_size)
|
24
|
-
[photo.width, photo.height].join('x').should eq(size)
|
25
|
-
photo.source_url.should_not be_empty
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
# bang versions
|
30
|
-
[
|
31
|
-
[[proc { photo.square!(75) }, proc { photo.square75! }], ['Square 75', '75x75']],
|
32
|
-
[[proc { photo.thumbnail! }], ['Thumbnail', '75x100']],
|
33
|
-
[[proc { photo.square!(150) }, proc { photo.square150! }], ['Square 150', '150x150']],
|
34
|
-
[[proc { photo.small!(240) }, proc { photo.small240! }], ['Small 240', '180x240']],
|
35
|
-
[[proc { photo.small!(320) }, proc { photo.small320! }], ['Small 320', '240x320']],
|
36
|
-
[[proc { photo.medium!(500) }, proc { photo.medium500! }], ['Medium 500', '375x500']],
|
37
|
-
[[proc { photo.medium!(640) }, proc { photo.medium640! }], ['Medium 640', '480x640']],
|
38
|
-
[[proc { photo.medium!(800) }, proc { photo.medium800! }], ['Medium 800', '600x800']],
|
39
|
-
[[proc { photo.large!(1024) }, proc { photo.large1024! }], ['Large 1024', '768x1024']]
|
40
|
-
].
|
41
|
-
each do |blocks, expected_values|
|
42
|
-
flickr_size, size = expected_values
|
43
|
-
blocks.each do |block|
|
44
|
-
result_photo = block.call
|
45
|
-
[result_photo, photo].each do |photo|
|
46
|
-
photo.size.should eq(flickr_size)
|
47
|
-
[photo.width, photo.height].join('x').should eq(size)
|
48
|
-
photo.source_url.should_not be_empty
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
context "get sizes" do
|
55
|
-
it "should have attributes correctly set", :vcr do
|
56
|
-
[
|
57
|
-
Flickrie.get_photo_sizes(PHOTO_ID),
|
58
|
-
Flickrie::Photo.public_new('id' => PHOTO_ID).get_sizes
|
59
|
-
].
|
60
|
-
each do |photo|
|
61
|
-
[:can_download?, :can_blog?, :can_print?].each do |attribute|
|
62
|
-
photo.send(attribute).should be_a_boolean
|
63
|
-
end
|
64
|
-
|
65
|
-
test_sizes(photo)
|
66
|
-
photo.available_sizes.should eq(SIZES)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
context "search" do
|
72
|
-
it "should have all sizes available", :vcr do
|
73
|
-
photo = Flickrie.search_photos(:user_id => USER_NSID, :extras => EXTRAS).
|
74
|
-
find { |photo| photo.id == PHOTO_ID }
|
75
|
-
photo.available_sizes.should eq(SIZES)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
context "get info" do
|
80
|
-
it "should have all attributes correctly set", :vcr do
|
81
|
-
photo = Flickrie.get_photo_info(PHOTO_ID)
|
82
|
-
photo.rotation.should eq(90)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
context "blank photo" do
|
87
|
-
it "should have all attributes equal to nil" do
|
88
|
-
photo = Flickrie::Photo.public_new
|
89
|
-
|
90
|
-
photo.width.should be_nil
|
91
|
-
photo.height.should be_nil
|
92
|
-
photo.source_url.should be_nil
|
93
|
-
photo.rotation.should be_nil
|
94
|
-
photo.available_sizes.should be_empty
|
95
|
-
photo.size.should be_nil
|
96
|
-
|
97
|
-
[
|
98
|
-
photo.square(75), photo.square(150), photo.thumbnail,
|
99
|
-
photo.small(240), photo.small(320), photo.medium(500),
|
100
|
-
photo.medium(640), photo.medium(800), photo.large(1024),
|
101
|
-
photo.original, photo.square75, photo.square150,
|
102
|
-
photo.small240, photo.small320, photo.medium500,
|
103
|
-
photo.medium640, photo.medium800, photo.large1024,
|
104
|
-
photo.largest
|
105
|
-
].
|
106
|
-
each do |photo|
|
107
|
-
photo.source_url.should be_nil
|
108
|
-
photo.width.should be_nil
|
109
|
-
photo.height.should be_nil
|
110
|
-
end
|
111
|
-
|
112
|
-
[
|
113
|
-
proc { photo.square!(75) }, proc { photo.square!(150) },
|
114
|
-
proc { photo.thumbnail! }, proc { photo.small!(240) },
|
115
|
-
proc { photo.small!(320) }, proc { photo.medium!(500) },
|
116
|
-
proc { photo.medium!(640) }, proc { photo.medium!(800) },
|
117
|
-
proc { photo.large!(1024) }, proc { photo.original! },
|
118
|
-
proc { photo.square75! }, proc { photo.square150! },
|
119
|
-
proc { photo.small240! }, proc { photo.small320! },
|
120
|
-
proc { photo.medium500! }, proc { photo.medium640! },
|
121
|
-
proc { photo.medium800! }, proc { photo.large1024! },
|
122
|
-
proc { photo.largest! }
|
123
|
-
].
|
124
|
-
each do |prok|
|
125
|
-
prok.call
|
126
|
-
photo.source_url.should be_nil
|
127
|
-
photo.width.should be_nil
|
128
|
-
photo.height.should be_nil
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|