flickr_fu 0.1.6 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/.gitignore +13 -0
  2. data/README +38 -1
  3. data/Rakefile +64 -13
  4. data/VERSION.yml +4 -0
  5. data/flickr_fu.gemspec +114 -32
  6. data/lib/flickr/auth.rb +8 -1
  7. data/lib/flickr/base.rb +75 -26
  8. data/lib/flickr/contact.rb +16 -0
  9. data/lib/flickr/contacts.rb +55 -0
  10. data/lib/flickr/errors.rb +20 -0
  11. data/lib/flickr/geo.rb +42 -0
  12. data/lib/flickr/license.rb +10 -0
  13. data/lib/flickr/location.rb +15 -0
  14. data/lib/flickr/photo.rb +130 -107
  15. data/lib/flickr/photos.rb +29 -11
  16. data/lib/flickr/photoset.rb +37 -0
  17. data/lib/flickr/photosets.rb +39 -0
  18. data/lib/flickr/token.rb +1 -1
  19. data/lib/flickr/urls.rb +44 -0
  20. data/lib/flickr_fu.rb +25 -2
  21. data/spec/fixtures/flickr/contacts/get_list-fail-99.xml +4 -0
  22. data/spec/fixtures/flickr/contacts/get_public_list-0.xml +7 -0
  23. data/spec/fixtures/flickr/photos/geo/get_location-0.xml +11 -0
  24. data/spec/fixtures/flickr/photos/geo/get_location-fail-2.xml +4 -0
  25. data/spec/fixtures/flickr/photos/get_info-0.xml +41 -0
  26. data/spec/fixtures/flickr/photos/get_info-1.xml +19 -0
  27. data/spec/fixtures/flickr/photos/get_sizes-0.xml +10 -0
  28. data/spec/fixtures/flickr/photos/get_sizes-1.xml +8 -0
  29. data/spec/fixtures/flickr/photos/licenses/get_info.xml +12 -0
  30. data/spec/fixtures/flickr/photosets/get_list-0.xml +13 -0
  31. data/spec/fixtures/flickr/photosets/get_photos-0.xml +7 -0
  32. data/spec/fixtures/flickr/test/echo-0.xml +5 -0
  33. data/spec/fixtures/flickr/test/null-fail-99.xml +4 -0
  34. data/spec/fixtures/flickr/urls/get_group-0.xml +4 -0
  35. data/spec/fixtures/flickr/urls/get_group-fail-1.xml +4 -0
  36. data/spec/fixtures/flickr/urls/get_user_photos-0.xml +4 -0
  37. data/spec/fixtures/flickr/urls/get_user_photos-fail-1.xml +4 -0
  38. data/spec/fixtures/flickr/urls/get_user_photos-fail-2.xml +4 -0
  39. data/spec/fixtures/flickr/urls/get_user_profile-0.xml +4 -0
  40. data/spec/fixtures/flickr/urls/get_user_profile-fail-1.xml +4 -0
  41. data/spec/fixtures/flickr/urls/get_user_profile-fail-2.xml +4 -0
  42. data/spec/fixtures/flickr/urls/lookup_group-0.xml +6 -0
  43. data/spec/fixtures/flickr/urls/lookup_group-fail-1.xml +4 -0
  44. data/spec/fixtures/flickr/urls/lookup_user-0.xml +6 -0
  45. data/spec/fixtures/flickr/videos/get_info-0.xml +31 -0
  46. data/spec/fixtures/flickr/videos/get_sizes-0.xml +13 -0
  47. data/spec/flickr/base_spec.rb +97 -0
  48. data/spec/flickr/contacts_spec.rb +47 -0
  49. data/spec/flickr/errors_spec.rb +21 -0
  50. data/spec/flickr/geo_spec.rb +20 -0
  51. data/spec/flickr/photo_spec.rb +140 -0
  52. data/spec/flickr/photos_spec.rb +50 -0
  53. data/spec/flickr/photosets_spec.rb +49 -0
  54. data/spec/flickr/test_spec.rb +34 -0
  55. data/spec/flickr/urls_spec.rb +99 -0
  56. data/spec/spec.opts +4 -0
  57. data/spec/spec_helper.rb +20 -0
  58. metadata +66 -7
@@ -0,0 +1,49 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Flickr::Photosets do
4
+ before :all do
5
+ @get_list_xml = File.read(File.dirname(__FILE__) +
6
+ "/../fixtures/flickr/photosets/get_list-0.xml")
7
+ @get_photos_xml = File.read(File.dirname(__FILE__) +
8
+ "/../fixtures/flickr/photosets/get_photos-0.xml")
9
+ end
10
+
11
+ before :each do
12
+ @flickr = SpecHelper.flickr
13
+ end
14
+
15
+
16
+ describe ".get_list" do
17
+ it "should call flickr.photosets.getList" do
18
+ @flickr.should_receive(:send_request).with("flickr.photosets.getList", {})
19
+ @flickr.photosets.get_list
20
+ end
21
+
22
+ it "should return an array of photoset objects" do
23
+ @flickr.stub!(:request_over_http).and_return(@get_list_xml)
24
+ photosets = @flickr.photosets.get_list
25
+
26
+ photosets[0].should be_an_instance_of(Flickr::Photosets::Photoset)
27
+ photosets[0].title.should == 'Test'
28
+ end
29
+ end
30
+
31
+ describe ".get_photos" do
32
+ before :each do
33
+ @photoset = Flickr::Photosets::Photoset.new(@flickr,{:id=>4})
34
+ end
35
+
36
+ it "should call flickr.photosets.getPhotos" do
37
+ @flickr.should_receive(:send_request).with("flickr.photosets.getPhotos",{:photoset_id=>4})
38
+ @photoset.get_photos
39
+ end
40
+
41
+ it "should return an array of photo objects" do
42
+ @flickr.stub!(:request_over_http).and_return(@get_photos_xml)
43
+ photos = @photoset.get_photos
44
+
45
+ photos.should_not be_nil
46
+ photos[0].should be_an_instance_of(Flickr::Photos::Photo)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Flickr::Test do
4
+
5
+ # Before all should be sufficient here. If not it should be safe to change it to
6
+ # before :each
7
+ before :all do
8
+ @flickr = SpecHelper.flickr
9
+ end
10
+
11
+ describe ".echo" do
12
+ it "should return all parameters back in the response" do
13
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/test/echo-0.xml")
14
+ @flickr.should_receive(:request_over_http).and_return(xml)
15
+ actual = @flickr.test.echo("foo" => "bar")
16
+ actual.strip_api_params!
17
+ actual.should == {:method => "flickr.test.echo", "foo" => "bar"}
18
+ end
19
+ end
20
+
21
+ # FIXME Hm... we should have a better way of testing if a user is authenticated or not after all
22
+ describe ".null" do
23
+ it "should fail if not authenticated with read permissions" do
24
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/test/null-fail-99.xml")
25
+ @flickr.should_receive(:request_over_http).and_return(xml)
26
+ lambda { @flickr.test.null }.should raise_error(Flickr::Error, /^99:/)
27
+ end
28
+
29
+ it "should return true unless there is an error" do
30
+ @flickr.should_receive(:request_over_http).and_return("")
31
+ @flickr.test.null.should == true
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,99 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Flickr::Urls do
4
+ before :all do
5
+ @flickr = SpecHelper.flickr
6
+ end
7
+
8
+
9
+ describe ".get_group" do
10
+ it "should return the url to a group's page if the group_id is valid" do
11
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_group-0.xml")
12
+ @flickr.should_receive(:request_over_http).and_return(xml)
13
+ @flickr.urls.get_group("34427469792@N01").should == "http://www.flickr.com/groups/central/"
14
+ end
15
+
16
+ it "should raise an error if the group_id is not valid (Group not found error raised)" do
17
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_group-fail-1.xml")
18
+ @flickr.should_receive(:request_over_http).and_return(xml)
19
+ lambda { @flickr.urls.get_group("foo") }.should raise_error(Flickr::Error, /^1:/)
20
+ end
21
+ end
22
+
23
+ describe ".get_user_photos" do
24
+ it "should return the url to a user's photos if the user_id is valid" do
25
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_photos-0.xml")
26
+ @flickr.should_receive(:request_over_http).and_return(xml)
27
+ @flickr.urls.get_user_photos("80755658@N00").should == "http://www.flickr.com/photos/lvizard/"
28
+ end
29
+
30
+ it "should raise an error if the user_id is not valid (User not found error raised)" do
31
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_photos-fail-1.xml")
32
+ @flickr.should_receive(:request_over_http).and_return(xml)
33
+ lambda { @flickr.urls.get_user_photos("foo") }.should raise_error(Flickr::Error, /^1:/)
34
+ end
35
+
36
+ it "should raise an error if the user_id is not specified (No user specified error raised)" do
37
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_photos-fail-2.xml")
38
+ @flickr.should_receive(:request_over_http).and_return(xml)
39
+ lambda { @flickr.urls.get_user_photos(nil) }.should raise_error(Flickr::Error, /^2:/)
40
+ end
41
+ end
42
+
43
+ describe ".get_user_profile" do
44
+ it "should return the url to a user's profile if the user_id is valid" do
45
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_profile-0.xml")
46
+ @flickr.should_receive(:request_over_http).and_return(xml)
47
+ @flickr.urls.get_user_profile("80755658@N00").should == "http://www.flickr.com/people/lvizard/"
48
+ end
49
+
50
+ it "should raise an error if the user_id is not valid (User not found error raised)" do
51
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_profile-fail-1.xml")
52
+ @flickr.should_receive(:request_over_http).and_return(xml)
53
+ lambda { @flickr.urls.get_user_profile("foo") }.should raise_error(Flickr::Error, /^1:/)
54
+ end
55
+
56
+ it "should raise an error if the user_id is not specified (No user specified error raised)" do
57
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/get_user_profile-fail-2.xml")
58
+ @flickr.should_receive(:request_over_http).and_return(xml)
59
+ lambda { @flickr.urls.get_user_profile(nil) }.should raise_error(Flickr::Error, /^2:/)
60
+ end
61
+ end
62
+
63
+ describe ".lookup_group" do
64
+ it "should return a group NSID, given the url to a group's page"
65
+
66
+ it "should return a group NSID, given the url to a group's photo pool"
67
+
68
+ it "should raise an error if the group_id is not valid (Group not found error raised)"
69
+ end
70
+
71
+ describe ".lookup_user" do
72
+ it "should return a user NSID, given the url to a user's photos"
73
+
74
+ it "should return a user NSID, given the url to a user's profile"
75
+
76
+ it "should raise an error if the user_id is not valid (User not found error raised)"
77
+
78
+ it "should raise an error if the user_id is not specified (No user specified error raised)"
79
+
80
+ describe "valid return value" do
81
+ before :all do
82
+ @valid_lookup_user_xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/lookup_user-0.xml")
83
+ end
84
+
85
+
86
+ it "should be kind of a String" do
87
+ @flickr.should_receive(:request_over_http).and_return(@valid_lookup_user_xml)
88
+ @flickr.urls.lookup_user("htp://www.flickr.com/photos/lvizard").should be_kind_of String
89
+ end
90
+
91
+ it "should have a username attribute containing the user's name" do
92
+ xml = File.read(File.dirname(__FILE__) + "/../fixtures/flickr/urls/lookup_user-0.xml")
93
+ @flickr.should_receive(:request_over_http).and_return(@valid_lookup_user_xml)
94
+ @flickr.urls.lookup_user("htp://www.flickr.com/photos/lvizard").username.should == "Maciej Biłas"
95
+ end
96
+ end
97
+ end
98
+
99
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,4 @@
1
+ --colour
2
+ --format progress
3
+ --loadby mtime
4
+ --reverse
@@ -0,0 +1,20 @@
1
+ require 'rubygems'
2
+ gem 'rspec'
3
+ require 'spec'
4
+
5
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
6
+ require 'flickr_fu'
7
+
8
+ class SpecHelper
9
+ def self.flickr
10
+ Flickr.new(:key => "2f7bf3aceba0ca2f11f9ad46e7552459", :secret => "17b59864beb29370")
11
+ end
12
+ end
13
+
14
+ class Hash
15
+ def strip_api_params!
16
+ delete :api_sig
17
+ delete :api_key
18
+ delete :api_token
19
+ end
20
+ end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flickr_fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Wyrosdick
8
+ - Maciej Bilas
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
 
12
- date: 2008-09-12 00:00:00 -05:00
13
+ date: 2009-05-19 00:00:00 -05:00
13
14
  default_executable:
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
@@ -41,28 +42,77 @@ extensions: []
41
42
  extra_rdoc_files:
42
43
  - README
43
44
  files:
44
- - README
45
+ - .gitignore
45
46
  - LICENSE
47
+ - README
46
48
  - Rakefile
49
+ - VERSION.yml
47
50
  - flickr_fu.gemspec
48
51
  - lib/flickr/auth.rb
49
52
  - lib/flickr/base.rb
50
53
  - lib/flickr/comment.rb
54
+ - lib/flickr/contact.rb
55
+ - lib/flickr/contacts.rb
56
+ - lib/flickr/errors.rb
57
+ - lib/flickr/geo.rb
51
58
  - lib/flickr/license.rb
59
+ - lib/flickr/location.rb
52
60
  - lib/flickr/note.rb
53
61
  - lib/flickr/people.rb
54
62
  - lib/flickr/person.rb
55
63
  - lib/flickr/photo.rb
56
64
  - lib/flickr/photo_response.rb
57
65
  - lib/flickr/photos.rb
66
+ - lib/flickr/photoset.rb
67
+ - lib/flickr/photosets.rb
58
68
  - lib/flickr/size.rb
59
69
  - lib/flickr/status.rb
60
70
  - lib/flickr/test.rb
61
71
  - lib/flickr/token.rb
62
72
  - lib/flickr/uploader.rb
73
+ - lib/flickr/urls.rb
63
74
  - lib/flickr_fu.rb
75
+ - spec/fixtures/flickr/contacts/get_list-fail-99.xml
76
+ - spec/fixtures/flickr/contacts/get_public_list-0.xml
77
+ - spec/fixtures/flickr/photos/geo/get_location-0.xml
78
+ - spec/fixtures/flickr/photos/geo/get_location-fail-2.xml
79
+ - spec/fixtures/flickr/photos/get_info-0.xml
80
+ - spec/fixtures/flickr/photos/get_info-1.xml
81
+ - spec/fixtures/flickr/photos/get_sizes-0.xml
82
+ - spec/fixtures/flickr/photos/get_sizes-1.xml
83
+ - spec/fixtures/flickr/photos/licenses/get_info.xml
84
+ - spec/fixtures/flickr/photosets/get_list-0.xml
85
+ - spec/fixtures/flickr/photosets/get_photos-0.xml
86
+ - spec/fixtures/flickr/test/echo-0.xml
87
+ - spec/fixtures/flickr/test/null-fail-99.xml
88
+ - spec/fixtures/flickr/urls/get_group-0.xml
89
+ - spec/fixtures/flickr/urls/get_group-fail-1.xml
90
+ - spec/fixtures/flickr/urls/get_user_photos-0.xml
91
+ - spec/fixtures/flickr/urls/get_user_photos-fail-1.xml
92
+ - spec/fixtures/flickr/urls/get_user_photos-fail-2.xml
93
+ - spec/fixtures/flickr/urls/get_user_profile-0.xml
94
+ - spec/fixtures/flickr/urls/get_user_profile-fail-1.xml
95
+ - spec/fixtures/flickr/urls/get_user_profile-fail-2.xml
96
+ - spec/fixtures/flickr/urls/lookup_group-0.xml
97
+ - spec/fixtures/flickr/urls/lookup_group-fail-1.xml
98
+ - spec/fixtures/flickr/urls/lookup_user-0.xml
99
+ - spec/fixtures/flickr/videos/get_info-0.xml
100
+ - spec/fixtures/flickr/videos/get_sizes-0.xml
101
+ - spec/flickr/base_spec.rb
102
+ - spec/flickr/contacts_spec.rb
103
+ - spec/flickr/errors_spec.rb
104
+ - spec/flickr/geo_spec.rb
105
+ - spec/flickr/photo_spec.rb
106
+ - spec/flickr/photos_spec.rb
107
+ - spec/flickr/photosets_spec.rb
108
+ - spec/flickr/test_spec.rb
109
+ - spec/flickr/urls_spec.rb
110
+ - spec/spec.opts
111
+ - spec/spec_helper.rb
64
112
  has_rdoc: true
65
113
  homepage: http://github.com/commonthread/flickr_fu
114
+ licenses: []
115
+
66
116
  post_install_message:
67
117
  rdoc_options:
68
118
  - --main
@@ -84,9 +134,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
134
  requirements: []
85
135
 
86
136
  rubyforge_project:
87
- rubygems_version: 1.2.0
137
+ rubygems_version: 1.3.5
88
138
  signing_key:
89
- specification_version: 2
139
+ specification_version: 3
90
140
  summary: Provides a ruby interface to flickr via the REST api
91
- test_files: []
92
-
141
+ test_files:
142
+ - spec/spec_helper.rb
143
+ - spec/flickr/test_spec.rb
144
+ - spec/flickr/geo_spec.rb
145
+ - spec/flickr/contacts_spec.rb
146
+ - spec/flickr/urls_spec.rb
147
+ - spec/flickr/errors_spec.rb
148
+ - spec/flickr/base_spec.rb
149
+ - spec/flickr/photo_spec.rb
150
+ - spec/flickr/photosets_spec.rb
151
+ - spec/flickr/photos_spec.rb