flickr_fu 0.1.6 → 0.3.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.
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