flickrmocks 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/.autotest +36 -0
  2. data/.document +5 -0
  3. data/.gitignore +23 -0
  4. data/.rspec +3 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.rdoc +59 -0
  7. data/Rakefile +76 -0
  8. data/VERSION +1 -0
  9. data/autotest/discover.rb +1 -0
  10. data/flickrmocks.gemspec +155 -0
  11. data/lib/flickr_mocks/api/api.rb +42 -0
  12. data/lib/flickr_mocks/api/flickr.rb +27 -0
  13. data/lib/flickr_mocks/api/helpers.rb +19 -0
  14. data/lib/flickr_mocks/api/options.rb +55 -0
  15. data/lib/flickr_mocks/api/sanitize.rb +29 -0
  16. data/lib/flickr_mocks/fixtures.rb +35 -0
  17. data/lib/flickr_mocks/flickraw/custom_clone.rb +19 -0
  18. data/lib/flickr_mocks/flickraw/custom_compare.rb +25 -0
  19. data/lib/flickr_mocks/flickraw/custom_marshal.rb +39 -0
  20. data/lib/flickr_mocks/flickraw/flickraw.rb +14 -0
  21. data/lib/flickr_mocks/helpers.rb +52 -0
  22. data/lib/flickr_mocks/models/helpers.rb +14 -0
  23. data/lib/flickr_mocks/models/photo.rb +101 -0
  24. data/lib/flickr_mocks/models/photo_details.rb +86 -0
  25. data/lib/flickr_mocks/models/photo_dimensions.rb +103 -0
  26. data/lib/flickr_mocks/models/photo_search.rb +115 -0
  27. data/lib/flickr_mocks/models/photo_size.rb +60 -0
  28. data/lib/flickr_mocks/models/photo_sizes.rb +93 -0
  29. data/lib/flickr_mocks/models/photos.rb +133 -0
  30. data/lib/flickr_mocks/stubs.rb +103 -0
  31. data/lib/flickr_mocks/version.rb +4 -0
  32. data/lib/flickrmocks.rb +27 -0
  33. data/spec/api/api_spec.rb +84 -0
  34. data/spec/api/flickr_spec.rb +48 -0
  35. data/spec/api/helper_spec.rb +37 -0
  36. data/spec/api/options_spec.rb +152 -0
  37. data/spec/api/sanitize_spec.rb +90 -0
  38. data/spec/base/fixtures_spec.rb +89 -0
  39. data/spec/base/flickraw/custom_clone_spec.rb +70 -0
  40. data/spec/base/flickraw/custom_compare_spec.rb +98 -0
  41. data/spec/base/flickraw/custom_marshal_spec.rb +45 -0
  42. data/spec/base/helpers_spec.rb +63 -0
  43. data/spec/base/stubs_spec.rb +180 -0
  44. data/spec/base/version_spec.rb +15 -0
  45. data/spec/fixtures/author_photos.marshal +0 -0
  46. data/spec/fixtures/empty_photos.marshal +0 -0
  47. data/spec/fixtures/expected_methods.marshal +17 -0
  48. data/spec/fixtures/interesting_photos.marshal +0 -0
  49. data/spec/fixtures/photo.marshal +0 -0
  50. data/spec/fixtures/photo_details.marshal +0 -0
  51. data/spec/fixtures/photo_size.marshal +0 -0
  52. data/spec/fixtures/photo_sizes.marshal +0 -0
  53. data/spec/fixtures/photos.marshal +0 -0
  54. data/spec/models/helpers_spec.rb +25 -0
  55. data/spec/models/photo_details_spec.rb +224 -0
  56. data/spec/models/photo_dimensions_spec.rb +208 -0
  57. data/spec/models/photo_search_spec.rb +255 -0
  58. data/spec/models/photo_size_spec.rb +122 -0
  59. data/spec/models/photo_sizes_spec.rb +168 -0
  60. data/spec/models/photo_spec.rb +278 -0
  61. data/spec/models/photos_spec.rb +305 -0
  62. data/spec/shared_examples/array_accessor.rb +157 -0
  63. data/spec/shared_examples/collection.rb +49 -0
  64. data/spec/shared_examples/image_url_helpers.rb +56 -0
  65. data/spec/shared_examples/size_accessor.rb +13 -0
  66. data/spec/spec_helper.rb +24 -0
  67. data/tasks/fixtures.rb +164 -0
  68. metadata +259 -0
data/tasks/fixtures.rb ADDED
@@ -0,0 +1,164 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/flickrmocks')
2
+ require 'fileutils'
3
+
4
+
5
+ # used for providing fixtures to users of the gem
6
+ namespace :fixtures do
7
+ desc 'generate all fixtures for USERS of the GEM'
8
+ task :all => [:photos,:empty_photos,:interesting_photos,:author_photos,:photo,:photo_details,
9
+ :photo_sizes,:photo_size,:expected_methods]
10
+
11
+ desc 'generate fixture for flickr.photos.search'
12
+ task :photos => :repository do
13
+ config_flickr
14
+ dump default_photos,:photos
15
+ end
16
+
17
+ desc 'generated fixture for empty flickr.photos.search'
18
+ task :empty_photos => :repository do
19
+ config_flickr
20
+ dump default_empty_photos, :empty_photos
21
+ end
22
+
23
+
24
+ desc 'generate fixture for flickr.interestingness.getList'
25
+ task :interesting_photos => :repository do
26
+ config_flickr
27
+ dump default_interesting_photos,:interesting_photos
28
+ end
29
+
30
+ desc 'generate fixture for flickr.photos.search :author'
31
+ task :author_photos => :repository do
32
+ config_flickr
33
+ dump default_author_photos,:author_photos
34
+ end
35
+
36
+ desc 'generating photo'
37
+ task :photo => :repository do
38
+ config_flickr
39
+ dump default_photo,:photo
40
+ end
41
+
42
+ desc 'generated fixture for flickr.photos.getInfo'
43
+ task :photo_details => :repository do
44
+ config_flickr
45
+ dump default_photo_details,:photo_details
46
+ end
47
+
48
+ desc 'generate fixture for flickr.photos.getSizes'
49
+ task :photo_sizes => :repository do
50
+ config_flickr
51
+ dump default_photo_sizes,:photo_sizes
52
+ end
53
+
54
+ desc 'generated fixture for single size'
55
+ task :photo_size => :repository do
56
+ config_flickr
57
+ dump default_photo_sizes[0],:photo_size
58
+ end
59
+
60
+
61
+ desc 'expected methods'
62
+ task :expected_methods => :repository do
63
+ data = OpenStruct.new
64
+ config_flickr
65
+ data.photos = default_methods(default_photos)
66
+ data.empty_photos = default_methods(default_empty_photos)
67
+ data.interesting_photos = default_methods(default_interesting_photos)
68
+ data.author_photos = default_methods(default_author_photos)
69
+ data.photo = default_methods(default_photo)
70
+ data.photo_details = default_methods(default_photo_details)
71
+ data.photo_sizes = default_methods(default_photo_sizes)
72
+ data.photo_size = default_methods(default_photo_size)
73
+ dump data,:expected_methods
74
+ end
75
+
76
+ desc 'create directory for string Fixtures for Users of gem'
77
+ task :repository do
78
+ repo = repo_dir
79
+ unless File.exists? repo
80
+ puts "generating directory #{repo}"
81
+ FileUtils.mkdir_p repo
82
+ end
83
+ end
84
+
85
+ desc 'removing all fixture files used by Users of the gem'
86
+ task :clean do
87
+ files = Dir.glob "#{repo_dir}*.marshal"
88
+ if files.empty?
89
+ puts 'nothing to remove'
90
+ else
91
+ puts "removing files #{files}"
92
+ FileUtils.rm files
93
+ end
94
+ end
95
+
96
+
97
+
98
+ # helper methods for configuration
99
+
100
+ def config_flickr
101
+ FlickRaw.api_key = YAML.load_file("#{config_dir}/config.yml")['flickr_api_key']
102
+ end
103
+
104
+ def config_dir
105
+ File.expand_path(File.dirname(__FILE__) + '/../')
106
+ end
107
+
108
+ def repo_dir
109
+ FlickrMocks::Fixtures.repository
110
+ end
111
+
112
+ def dump(data,fname)
113
+ puts "generating file #{fname}"
114
+ file = repo_dir + fname.to_s + '.marshal'
115
+ FlickrMocks::Helpers.dump data,file
116
+ end
117
+
118
+ def default_photos
119
+ @default_photos ||= flickr.photos.search :tags => 'france', :per_page => '50', :extras=>'license'
120
+ @default_photos
121
+ end
122
+
123
+ def default_interesting_photos
124
+ @default_intesting_photos ||= flickr.interestingness.getList :date => '2009-01-15', :per_page => '50', :extras=>'license'
125
+ @default_intesting_photos
126
+ end
127
+
128
+ def default_author_photos
129
+ @default_author_photos ||= flickr.photos.search :user_id => default_photo.owner, :per_page => '20', :extras=>'license'
130
+ @default_author_photos
131
+ end
132
+
133
+ def default_photo
134
+ @default_photo ||= default_photos[0]
135
+ @default_photo
136
+ end
137
+
138
+ def default_photo_details
139
+ @default_photo_details ||= flickr.photos.getInfo :photo_id => default_photo.id, :extras=>'license'
140
+ @default_photo_details
141
+ end
142
+
143
+ def default_photo_sizes
144
+ @default_photo_sizes ||=flickr.photos.getSizes :photo_id => default_photo.id, :extras=> 'license'
145
+ @default_photo_sizes
146
+ end
147
+
148
+ def default_photo_size
149
+ @default_photo_size ||= default_photo_sizes[0]
150
+ @default_photo_size
151
+ end
152
+
153
+ def default_empty_photos
154
+ @default_empty_photos ||= flickr.photos.search :tags => 'xyzgoogohowdy'
155
+ @default_empty_photos
156
+ end
157
+
158
+ def default_methods(obj)
159
+ obj.methods(false).push(:flickr_type)
160
+ end
161
+
162
+
163
+
164
+ end
metadata ADDED
@@ -0,0 +1,259 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: flickrmocks
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 8
8
+ - 5
9
+ version: 0.8.5
10
+ platform: ruby
11
+ authors:
12
+ - Takaltoo
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-11-08 00:00:00 -08:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: thoughtbot-shoulda
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 2
30
+ - 10
31
+ version: "2.10"
32
+ type: :development
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rspec
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 2
44
+ - 0
45
+ - 0
46
+ - beta
47
+ - 22
48
+ version: 2.0.0.beta.22
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: capybara
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ type: :development
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: factory_girl_rails
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ segments:
73
+ - 1
74
+ - 0
75
+ version: "1.0"
76
+ type: :development
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: faker
80
+ prerelease: false
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ segments:
87
+ - 0
88
+ - 3
89
+ - 1
90
+ version: 0.3.1
91
+ type: :development
92
+ version_requirements: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ name: flickraw
95
+ prerelease: false
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ segments:
102
+ - 0
103
+ - 8
104
+ - 2
105
+ version: 0.8.2
106
+ type: :runtime
107
+ version_requirements: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ name: chronic
110
+ prerelease: false
111
+ requirement: &id007 !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ type: :runtime
120
+ version_requirements: *id007
121
+ description: |-
122
+ FlickrMocks makes it possible to Marshal responses
123
+ generated from the FLickRaw gem. This is useful for
124
+ Mocking/Stubbing the Flickr interface for testing purposes.
125
+ The FlickRaw::Response and FlickRaw::ResponseList objects can
126
+ not be Marshaled because they contain singleton's.
127
+ email: pouya@lavabit.com
128
+ executables: []
129
+
130
+ extensions: []
131
+
132
+ extra_rdoc_files:
133
+ - README.rdoc
134
+ files:
135
+ - .autotest
136
+ - .document
137
+ - .gitignore
138
+ - .rspec
139
+ - MIT-LICENSE
140
+ - README.rdoc
141
+ - Rakefile
142
+ - VERSION
143
+ - autotest/discover.rb
144
+ - flickrmocks.gemspec
145
+ - lib/flickr_mocks/api/api.rb
146
+ - lib/flickr_mocks/api/flickr.rb
147
+ - lib/flickr_mocks/api/helpers.rb
148
+ - lib/flickr_mocks/api/options.rb
149
+ - lib/flickr_mocks/api/sanitize.rb
150
+ - lib/flickr_mocks/fixtures.rb
151
+ - lib/flickr_mocks/flickraw/custom_clone.rb
152
+ - lib/flickr_mocks/flickraw/custom_compare.rb
153
+ - lib/flickr_mocks/flickraw/custom_marshal.rb
154
+ - lib/flickr_mocks/flickraw/flickraw.rb
155
+ - lib/flickr_mocks/helpers.rb
156
+ - lib/flickr_mocks/models/helpers.rb
157
+ - lib/flickr_mocks/models/photo.rb
158
+ - lib/flickr_mocks/models/photo_details.rb
159
+ - lib/flickr_mocks/models/photo_dimensions.rb
160
+ - lib/flickr_mocks/models/photo_search.rb
161
+ - lib/flickr_mocks/models/photo_size.rb
162
+ - lib/flickr_mocks/models/photo_sizes.rb
163
+ - lib/flickr_mocks/models/photos.rb
164
+ - lib/flickr_mocks/stubs.rb
165
+ - lib/flickr_mocks/version.rb
166
+ - lib/flickrmocks.rb
167
+ - spec/api/api_spec.rb
168
+ - spec/api/flickr_spec.rb
169
+ - spec/api/helper_spec.rb
170
+ - spec/api/options_spec.rb
171
+ - spec/api/sanitize_spec.rb
172
+ - spec/base/fixtures_spec.rb
173
+ - spec/base/flickraw/custom_clone_spec.rb
174
+ - spec/base/flickraw/custom_compare_spec.rb
175
+ - spec/base/flickraw/custom_marshal_spec.rb
176
+ - spec/base/helpers_spec.rb
177
+ - spec/base/stubs_spec.rb
178
+ - spec/base/version_spec.rb
179
+ - spec/fixtures/author_photos.marshal
180
+ - spec/fixtures/empty_photos.marshal
181
+ - spec/fixtures/expected_methods.marshal
182
+ - spec/fixtures/interesting_photos.marshal
183
+ - spec/fixtures/photo.marshal
184
+ - spec/fixtures/photo_details.marshal
185
+ - spec/fixtures/photo_size.marshal
186
+ - spec/fixtures/photo_sizes.marshal
187
+ - spec/fixtures/photos.marshal
188
+ - spec/models/helpers_spec.rb
189
+ - spec/models/photo_details_spec.rb
190
+ - spec/models/photo_dimensions_spec.rb
191
+ - spec/models/photo_search_spec.rb
192
+ - spec/models/photo_size_spec.rb
193
+ - spec/models/photo_sizes_spec.rb
194
+ - spec/models/photo_spec.rb
195
+ - spec/models/photos_spec.rb
196
+ - spec/shared_examples/array_accessor.rb
197
+ - spec/shared_examples/collection.rb
198
+ - spec/shared_examples/image_url_helpers.rb
199
+ - spec/shared_examples/size_accessor.rb
200
+ - spec/spec_helper.rb
201
+ - tasks/fixtures.rb
202
+ has_rdoc: true
203
+ homepage: http://github.com/takaltoo/flickrmocks
204
+ licenses: []
205
+
206
+ post_install_message:
207
+ rdoc_options:
208
+ - --charset=UTF-8
209
+ require_paths:
210
+ - lib
211
+ required_ruby_version: !ruby/object:Gem::Requirement
212
+ none: false
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ segments:
217
+ - 0
218
+ version: "0"
219
+ required_rubygems_version: !ruby/object:Gem::Requirement
220
+ none: false
221
+ requirements:
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ segments:
225
+ - 0
226
+ version: "0"
227
+ requirements: []
228
+
229
+ rubyforge_project:
230
+ rubygems_version: 1.3.7
231
+ signing_key:
232
+ specification_version: 3
233
+ summary: Enables FlickRaw responses to be Marshaled.
234
+ test_files:
235
+ - spec/shared_examples/array_accessor.rb
236
+ - spec/shared_examples/size_accessor.rb
237
+ - spec/shared_examples/collection.rb
238
+ - spec/shared_examples/image_url_helpers.rb
239
+ - spec/models/helpers_spec.rb
240
+ - spec/models/photo_details_spec.rb
241
+ - spec/models/photo_size_spec.rb
242
+ - spec/models/photo_sizes_spec.rb
243
+ - spec/models/photos_spec.rb
244
+ - spec/models/photo_dimensions_spec.rb
245
+ - spec/models/photo_spec.rb
246
+ - spec/models/photo_search_spec.rb
247
+ - spec/api/api_spec.rb
248
+ - spec/api/flickr_spec.rb
249
+ - spec/api/options_spec.rb
250
+ - spec/api/sanitize_spec.rb
251
+ - spec/api/helper_spec.rb
252
+ - spec/base/stubs_spec.rb
253
+ - spec/base/helpers_spec.rb
254
+ - spec/base/version_spec.rb
255
+ - spec/base/flickraw/custom_clone_spec.rb
256
+ - spec/base/flickraw/custom_compare_spec.rb
257
+ - spec/base/flickraw/custom_marshal_spec.rb
258
+ - spec/base/fixtures_spec.rb
259
+ - spec/spec_helper.rb