flickrmocks 0.8.14 → 0.8.15
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/Gemfile +4 -0
- data/Rakefile +2 -75
- data/flickrmocks.gemspec +23 -148
- data/lib/flickr_mocks/api/api.rb +6 -0
- data/lib/flickr_mocks/stubs.rb +126 -83
- data/lib/flickr_mocks/version.rb +1 -1
- data/spec/api/api_spec.rb +33 -2
- data/spec/base/stubs_spec.rb +286 -165
- data/spec/base/version_spec.rb +2 -3
- data/spec/shared_examples/hash_argument.rb +34 -0
- data/spec/spec_helper.rb +1 -0
- metadata +37 -63
- data/VERSION +0 -1
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,75 +1,2 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
require File.expand_path(File.dirname(__FILE__) + '/lib/flickrmocks')
|
4
|
-
|
5
|
-
# include all tasks
|
6
|
-
Dir.glob("tasks/*.rb").each do |file|
|
7
|
-
require File.expand_path(File.dirname(__FILE__) + "/#{file}")
|
8
|
-
end
|
9
|
-
|
10
|
-
|
11
|
-
begin
|
12
|
-
require 'jeweler'
|
13
|
-
Jeweler::Tasks.new do |gem|
|
14
|
-
gem.name = "flickrmocks"
|
15
|
-
gem.summary = %Q{Enables FlickRaw responses to be Marshaled.}
|
16
|
-
gem.description = %Q{FlickrMocks makes it possible to Marshal responses
|
17
|
-
generated from the FLickRaw gem. This is useful for
|
18
|
-
Mocking/Stubbing the Flickr interface for testing purposes.
|
19
|
-
The FlickRaw::Response and FlickRaw::ResponseList objects can
|
20
|
-
not be Marshaled because they contain singleton's.}
|
21
|
-
gem.email = "pouya@lavabit.com"
|
22
|
-
gem.homepage = "http://github.com/takaltoo/flickrmocks"
|
23
|
-
gem.authors = ["Takaltoo"]
|
24
|
-
|
25
|
-
gem.add_development_dependency "rspec", ">=2.0.0.beta.22"
|
26
|
-
gem.add_development_dependency "capybara"
|
27
|
-
#gem.add_development_dependency 'ruby-debug19', :require => 'ruby-debug'
|
28
|
-
gem.add_development_dependency 'factory_girl_rails', ">=1.0"
|
29
|
-
gem.add_development_dependency 'faker','>=0.3.1'
|
30
|
-
|
31
|
-
gem.add_dependency "flickraw", ">=0.8.2"
|
32
|
-
gem.add_dependency 'chronic'
|
33
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
34
|
-
end
|
35
|
-
Jeweler::GemcutterTasks.new
|
36
|
-
rescue LoadError
|
37
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
38
|
-
end
|
39
|
-
|
40
|
-
require 'rake/testtask'
|
41
|
-
Rake::TestTask.new(:test) do |test|
|
42
|
-
test.libs << 'lib' << 'test'
|
43
|
-
test.pattern = 'test/**/test_*.rb'
|
44
|
-
test.verbose = true
|
45
|
-
end
|
46
|
-
|
47
|
-
begin
|
48
|
-
require 'rcov/rcovtask'
|
49
|
-
Rcov::RcovTask.new do |test|
|
50
|
-
test.libs << 'test'
|
51
|
-
test.pattern = 'test/**/test_*.rb'
|
52
|
-
test.verbose = true
|
53
|
-
end
|
54
|
-
rescue LoadError
|
55
|
-
task :rcov do
|
56
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
task :test => :check_dependencies
|
61
|
-
|
62
|
-
task :default => :test
|
63
|
-
|
64
|
-
require 'rake/rdoctask'
|
65
|
-
Rake::RDocTask.new do |rdoc|
|
66
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
67
|
-
|
68
|
-
rdoc.rdoc_dir = 'rdoc'
|
69
|
-
rdoc.title = "flickrmocks #{version}"
|
70
|
-
rdoc.rdoc_files.include('README*')
|
71
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
72
|
-
end
|
73
|
-
|
74
|
-
|
75
|
-
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
data/flickrmocks.gemspec
CHANGED
@@ -2,159 +2,34 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
$:.push File.expand_path("../lib", __FILE__)
|
6
|
+
require "flickr_mocks/version"
|
5
7
|
|
6
8
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
9
|
-
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
|
9
|
+
s.name = "flickrmocks"
|
10
|
+
s.version = FlickrMocks::VERSION
|
11
|
+
s.platform = Gem::Platform::RUBY
|
12
|
+
s.authors = ["Takaltoo"]
|
13
|
+
s.email = ["pouya@lavabit.com"]
|
14
|
+
s.homepage = "http://rubygems.org/gems/flickrmocks"
|
15
|
+
s.summary = %q{Sample gem to see if can do a bundle based gem}
|
16
|
+
s.description = %q{FlickrMocks makes it possible to Marshal responses
|
17
|
+
generated from the FLickRaw gem. This is useful for
|
15
18
|
Mocking/Stubbing the Flickr interface for testing purposes.
|
16
|
-
|
19
|
+
The FlickRaw::Response and FlickRaw::ResponseList objects can
|
17
20
|
not be Marshaled because they contain singleton's.}
|
18
|
-
s.
|
19
|
-
s.extra_rdoc_files = [
|
20
|
-
"README.rdoc"
|
21
|
-
]
|
22
|
-
s.files = [
|
23
|
-
".autotest",
|
24
|
-
".document",
|
25
|
-
".gitignore",
|
26
|
-
".rspec",
|
27
|
-
"MIT-LICENSE",
|
28
|
-
"README.rdoc",
|
29
|
-
"Rakefile",
|
30
|
-
"VERSION",
|
31
|
-
"autotest/discover.rb",
|
32
|
-
"flickrmocks.gemspec",
|
33
|
-
"lib/flickr_mocks/api/api.rb",
|
34
|
-
"lib/flickr_mocks/api/flickr.rb",
|
35
|
-
"lib/flickr_mocks/api/helpers.rb",
|
36
|
-
"lib/flickr_mocks/api/options.rb",
|
37
|
-
"lib/flickr_mocks/api/sanitize.rb",
|
38
|
-
"lib/flickr_mocks/fixtures.rb",
|
39
|
-
"lib/flickr_mocks/flickraw/custom_clone.rb",
|
40
|
-
"lib/flickr_mocks/flickraw/custom_compare.rb",
|
41
|
-
"lib/flickr_mocks/flickraw/custom_marshal.rb",
|
42
|
-
"lib/flickr_mocks/flickraw/flickraw.rb",
|
43
|
-
"lib/flickr_mocks/helpers.rb",
|
44
|
-
"lib/flickr_mocks/models/commons_institution.rb",
|
45
|
-
"lib/flickr_mocks/models/commons_institutions.rb",
|
46
|
-
"lib/flickr_mocks/models/helpers.rb",
|
47
|
-
"lib/flickr_mocks/models/photo.rb",
|
48
|
-
"lib/flickr_mocks/models/photo_details.rb",
|
49
|
-
"lib/flickr_mocks/models/photo_dimensions.rb",
|
50
|
-
"lib/flickr_mocks/models/photo_search.rb",
|
51
|
-
"lib/flickr_mocks/models/photo_size.rb",
|
52
|
-
"lib/flickr_mocks/models/photo_sizes.rb",
|
53
|
-
"lib/flickr_mocks/models/photos.rb",
|
54
|
-
"lib/flickr_mocks/stubs.rb",
|
55
|
-
"lib/flickr_mocks/version.rb",
|
56
|
-
"lib/flickrmocks.rb",
|
57
|
-
"spec/api/api_spec.rb",
|
58
|
-
"spec/api/flickr_spec.rb",
|
59
|
-
"spec/api/helper_spec.rb",
|
60
|
-
"spec/api/options_spec.rb",
|
61
|
-
"spec/api/sanitize_spec.rb",
|
62
|
-
"spec/base/fixtures_spec.rb",
|
63
|
-
"spec/base/flickraw/custom_clone_spec.rb",
|
64
|
-
"spec/base/flickraw/custom_compare_spec.rb",
|
65
|
-
"spec/base/flickraw/custom_marshal_spec.rb",
|
66
|
-
"spec/base/helpers_spec.rb",
|
67
|
-
"spec/base/stubs_spec.rb",
|
68
|
-
"spec/base/version_spec.rb",
|
69
|
-
"spec/fixtures/author_photos.marshal",
|
70
|
-
"spec/fixtures/commons_institution_photos.marshal",
|
71
|
-
"spec/fixtures/commons_institutions.marshal",
|
72
|
-
"spec/fixtures/empty_photos.marshal",
|
73
|
-
"spec/fixtures/expected_methods.marshal",
|
74
|
-
"spec/fixtures/interesting_photos.marshal",
|
75
|
-
"spec/fixtures/photo.marshal",
|
76
|
-
"spec/fixtures/photo_details.marshal",
|
77
|
-
"spec/fixtures/photo_size.marshal",
|
78
|
-
"spec/fixtures/photo_sizes.marshal",
|
79
|
-
"spec/fixtures/photos.marshal",
|
80
|
-
"spec/models/commons_institution_spec.rb",
|
81
|
-
"spec/models/commons_institutions_spec.rb",
|
82
|
-
"spec/models/helpers_spec.rb",
|
83
|
-
"spec/models/photo_details_spec.rb",
|
84
|
-
"spec/models/photo_dimensions_spec.rb",
|
85
|
-
"spec/models/photo_search_spec.rb",
|
86
|
-
"spec/models/photo_size_spec.rb",
|
87
|
-
"spec/models/photo_sizes_spec.rb",
|
88
|
-
"spec/models/photo_spec.rb",
|
89
|
-
"spec/models/photos_spec.rb",
|
90
|
-
"spec/shared_examples/array_accessor.rb",
|
91
|
-
"spec/shared_examples/collection.rb",
|
92
|
-
"spec/shared_examples/image_url_helpers.rb",
|
93
|
-
"spec/shared_examples/size_accessor.rb",
|
94
|
-
"spec/spec_helper.rb",
|
95
|
-
"tasks/fixtures.rb"
|
96
|
-
]
|
97
|
-
s.homepage = %q{http://github.com/takaltoo/flickrmocks}
|
21
|
+
s.extra_rdoc_files = ["README.rdoc"]
|
98
22
|
s.rdoc_options = ["--charset=UTF-8"]
|
23
|
+
s.rubyforge_project = "flickrmocks"
|
24
|
+
s.files = `git ls-files`.split("\n")
|
25
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
99
27
|
s.require_paths = ["lib"]
|
100
|
-
s.
|
101
|
-
s.
|
102
|
-
s.
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
"spec/shared_examples/image_url_helpers.rb",
|
107
|
-
"spec/models/helpers_spec.rb",
|
108
|
-
"spec/models/photo_details_spec.rb",
|
109
|
-
"spec/models/photo_size_spec.rb",
|
110
|
-
"spec/models/commons_institution_spec.rb",
|
111
|
-
"spec/models/photo_sizes_spec.rb",
|
112
|
-
"spec/models/commons_institutions_spec.rb",
|
113
|
-
"spec/models/photos_spec.rb",
|
114
|
-
"spec/models/photo_dimensions_spec.rb",
|
115
|
-
"spec/models/photo_spec.rb",
|
116
|
-
"spec/models/photo_search_spec.rb",
|
117
|
-
"spec/api/api_spec.rb",
|
118
|
-
"spec/api/flickr_spec.rb",
|
119
|
-
"spec/api/options_spec.rb",
|
120
|
-
"spec/api/sanitize_spec.rb",
|
121
|
-
"spec/api/helper_spec.rb",
|
122
|
-
"spec/base/stubs_spec.rb",
|
123
|
-
"spec/base/helpers_spec.rb",
|
124
|
-
"spec/base/version_spec.rb",
|
125
|
-
"spec/base/flickraw/custom_clone_spec.rb",
|
126
|
-
"spec/base/flickraw/custom_compare_spec.rb",
|
127
|
-
"spec/base/flickraw/custom_marshal_spec.rb",
|
128
|
-
"spec/base/fixtures_spec.rb",
|
129
|
-
"spec/spec_helper.rb"
|
130
|
-
]
|
131
|
-
|
132
|
-
if s.respond_to? :specification_version then
|
133
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
134
|
-
s.specification_version = 3
|
135
|
-
|
136
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
137
|
-
s.add_development_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
138
|
-
s.add_development_dependency(%q<capybara>, [">= 0"])
|
139
|
-
s.add_development_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
140
|
-
s.add_development_dependency(%q<faker>, [">= 0.3.1"])
|
141
|
-
s.add_runtime_dependency(%q<flickraw>, [">= 0.8.2"])
|
142
|
-
s.add_runtime_dependency(%q<chronic>, [">= 0"])
|
143
|
-
else
|
144
|
-
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
145
|
-
s.add_dependency(%q<capybara>, [">= 0"])
|
146
|
-
s.add_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
147
|
-
s.add_dependency(%q<faker>, [">= 0.3.1"])
|
148
|
-
s.add_dependency(%q<flickraw>, [">= 0.8.2"])
|
149
|
-
s.add_dependency(%q<chronic>, [">= 0"])
|
150
|
-
end
|
151
|
-
else
|
152
|
-
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
153
|
-
s.add_dependency(%q<capybara>, [">= 0"])
|
154
|
-
s.add_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
155
|
-
s.add_dependency(%q<faker>, [">= 0.3.1"])
|
156
|
-
s.add_dependency(%q<flickraw>, [">= 0.8.2"])
|
157
|
-
s.add_dependency(%q<chronic>, [">= 0"])
|
158
|
-
end
|
28
|
+
s.add_runtime_dependency(%q<flickraw>, [">= 0.8.2"])
|
29
|
+
s.add_runtime_dependency(%q<chronic>, [">= 0"])
|
30
|
+
s.add_development_dependency(%q<rspec>, [">= 2.2.0"])
|
31
|
+
s.add_development_dependency(%q<capybara>, [">= 0"])
|
32
|
+
s.add_development_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
33
|
+
s.add_development_dependency(%q<faker>, [">= 0.3.1"])
|
159
34
|
end
|
160
35
|
|
data/lib/flickr_mocks/api/api.rb
CHANGED
@@ -15,30 +15,36 @@ module FlickrMocks
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.photos(params)
|
18
|
+
raise ArgumentError.new("Expecting a Hash argument.") unless params.is_a?(Hash)
|
18
19
|
photos = Api.flickr_photos(params)
|
19
20
|
PhotoSearch.new photos,Api.search_params(params)
|
20
21
|
end
|
21
22
|
|
22
23
|
def self.photo_details(params)
|
24
|
+
raise ArgumentError.new("Expecting a Hash argument.") unless params.is_a?(Hash)
|
23
25
|
photo = Api.flickr_photo(params)
|
24
26
|
sizes = Api.flickr_photo_sizes(params)
|
25
27
|
@this = @photo = PhotoDetails.new(photo,sizes)
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.photo(params)
|
31
|
+
raise ArgumentError.new("Expecting a Hash argument") unless params.is_a?(Hash)
|
29
32
|
Photo.new Api.flickr_photo(params)
|
30
33
|
end
|
31
34
|
|
32
35
|
def self.photo_sizes(params)
|
36
|
+
raise ArgumentError.new("Expecting a Hash argument") unless params.is_a?(Hash)
|
33
37
|
PhotoSizes.new Api.flickr_photo_sizes(params)
|
34
38
|
end
|
35
39
|
|
36
40
|
def self.interesting_photos(params)
|
41
|
+
raise ArgumentError.new("Expecting a Hash argument") unless params.is_a?(Hash)
|
37
42
|
photos = Api.flickr_interestingness(params)
|
38
43
|
PhotoSearch.new photos,Api.interesting_params(params)
|
39
44
|
end
|
40
45
|
|
41
46
|
def self.commons_institutions(params)
|
47
|
+
raise ArgumentError.new("Expecting a Hash argument") unless params.is_a?(Hash)
|
42
48
|
institutions = Api.flickr_commons_institutions
|
43
49
|
CommonsInstitutions.new institutions,Api.commons_institutions_params(params)
|
44
50
|
end
|
data/lib/flickr_mocks/stubs.rb
CHANGED
@@ -1,103 +1,146 @@
|
|
1
1
|
module FlickrMocks
|
2
2
|
module Stubs
|
3
|
+
module Api
|
4
|
+
def self.all
|
5
|
+
[:photos,:photo_details,:photo,:photo_sizes,
|
6
|
+
:interesting_photos,:commons_institutions].each do |method|
|
7
|
+
self.send(method)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.photos
|
12
|
+
lambda {::FlickrMocks::Api.stub(:photos) do |params|
|
13
|
+
::FlickrMocks::Stubs::Flickr.search
|
14
|
+
case params
|
15
|
+
when Hash then
|
16
|
+
PhotoSearch.new flickr.photos.search(::FlickrMocks::Api.search_options(params)),::FlickrMocks::Api.search_params(params)
|
17
|
+
else
|
18
|
+
raise ArgumentError
|
19
|
+
end
|
20
|
+
end}.call
|
21
|
+
end
|
3
22
|
|
4
|
-
|
5
|
-
|
6
|
-
|
23
|
+
def self.photo_details
|
24
|
+
lambda {::FlickrMocks::Api.stub(:photo_details) do |params|
|
25
|
+
::FlickrMocks::Stubs::Flickr.getInfo
|
26
|
+
::FlickrMocks::Stubs::Flickr.getSizes
|
27
|
+
case params
|
28
|
+
when Hash then
|
29
|
+
PhotoDetails.new(flickr.photos.getInfo(::FlickrMocks::Api.photo_options(params)),
|
30
|
+
flickr.photos.getSizes(::FlickrMocks::Api.photo_options(params)))
|
31
|
+
else
|
32
|
+
raise ArgumentError
|
33
|
+
end
|
34
|
+
end}.call
|
7
35
|
end
|
36
|
+
|
8
37
|
end
|
9
38
|
|
10
39
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
raise FlickRaw::FailedResponse.new('Parameterless searches have been disabled. Please use flickr.photos.getRecent instead.',
|
16
|
-
'code','flickr.photos.search'
|
17
|
-
)
|
18
|
-
elsif(params[:tags] == 'garbage' || params[:user_id] == 'garbage')
|
19
|
-
fixtures.empty_photos
|
20
|
-
elsif(params[:tags] && params[:user_id])
|
21
|
-
fixtures.author_photos
|
22
|
-
elsif params.has_key?(:tags)
|
23
|
-
fixtures.photos
|
24
|
-
elsif params.has_key?(:user_id)
|
25
|
-
fixtures.author_photos
|
26
|
-
else
|
27
|
-
raise FlickRaw::FailedResponse.new('Parameterless searches have been disabled. Please use flickr.photos.getRecent instead.',
|
28
|
-
'code','flickr.photos.search'
|
29
|
-
)
|
30
|
-
end
|
40
|
+
module Flickr
|
41
|
+
def self.all
|
42
|
+
[:search,:getInfo,:getSizes,:interestingness,:commons_institutions].each do |method|
|
43
|
+
self.send(method)
|
31
44
|
end
|
32
|
-
|
33
|
-
|
45
|
+
end
|
46
|
+
|
34
47
|
|
35
|
-
|
36
|
-
|
37
|
-
flickr.photos.stub(:
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
48
|
+
def self.search
|
49
|
+
fixtures = Fixtures.instance
|
50
|
+
lambda { flickr.photos.stub(:search) do |params|
|
51
|
+
if !params.is_a?(Hash)
|
52
|
+
raise FlickRaw::FailedResponse.new('Parameterless searches have been disabled. Please use flickr.photos.getRecent instead.',
|
53
|
+
'code','flickr.photos.search'
|
54
|
+
)
|
55
|
+
elsif(params[:tags] == 'garbage' || params[:user_id] == 'garbage')
|
56
|
+
fixtures.empty_photos
|
57
|
+
elsif(params[:tags] && params[:user_id])
|
58
|
+
fixtures.author_photos
|
59
|
+
elsif params.has_key?(:tags)
|
60
|
+
fixtures.photos
|
61
|
+
elsif params.has_key?(:user_id)
|
62
|
+
fixtures.author_photos
|
63
|
+
else
|
64
|
+
raise FlickRaw::FailedResponse.new('Parameterless searches have been disabled. Please use flickr.photos.getRecent instead.',
|
65
|
+
'code','flickr.photos.search'
|
66
|
+
)
|
67
|
+
end
|
49
68
|
end
|
50
|
-
|
51
|
-
|
52
|
-
end
|
69
|
+
}.call
|
70
|
+
end
|
53
71
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
72
|
+
def self.getInfo
|
73
|
+
lambda {
|
74
|
+
flickr.photos.stub(:getInfo) do |params|
|
75
|
+
if !params.is_a?(Hash)
|
76
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
77
|
+
'code', 'flickr.photos.getInfo')
|
78
|
+
elsif !params.has_key?(:photo_id)
|
79
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
80
|
+
'code', 'flickr.photos.getInfo')
|
81
|
+
elsif params[:photo_id] == 'garbage'
|
82
|
+
raise FlickRaw::FailedResponse.new('Photo "%s" not found (invalid ID)' % params[:photo_id],
|
83
|
+
'code','flickr.photos.getInfo')
|
84
|
+
elsif params[:photo_id] == nil
|
85
|
+
raise FlickRaw::FailedResponse.new('Photo "nil" not found (invalid ID)',
|
86
|
+
'code','flickr.photos.getInfo')
|
87
|
+
else
|
88
|
+
Fixtures.instance.photo_details
|
89
|
+
end
|
68
90
|
end
|
69
|
-
|
70
|
-
|
71
|
-
end
|
91
|
+
}.call
|
92
|
+
end
|
72
93
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
'
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
94
|
+
def self.getSizes
|
95
|
+
lambda {
|
96
|
+
flickr.photos.stub(:getSizes) do |params|
|
97
|
+
if !params.is_a?(Hash)
|
98
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
99
|
+
'code', 'flickr.photos.getSizes')
|
100
|
+
elsif !params.has_key?(:photo_id)
|
101
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
102
|
+
'code', 'flickr.photos.getSizes')
|
103
|
+
elsif params[:photo_id] == 'garbage'
|
104
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
105
|
+
'code','flickr.photos.getSizes')
|
106
|
+
elsif params[:photo_id] == nil
|
107
|
+
raise FlickRaw::FailedResponse.new('Photo not found',
|
108
|
+
'code','flickr.photos.getSizes')
|
109
|
+
else
|
110
|
+
Fixtures.instance.photo_sizes
|
111
|
+
end
|
88
112
|
end
|
89
|
-
|
90
|
-
|
91
|
-
|
113
|
+
}.call
|
114
|
+
end
|
115
|
+
|
116
|
+
def self.interestingness
|
117
|
+
lambda {
|
118
|
+
flickr.interestingness.stub(:getList) do |params|
|
119
|
+
if !params.is_a?(Hash)
|
120
|
+
Fixtures.instance.interesting_photos
|
121
|
+
elsif !params.has_key?(:date)
|
122
|
+
Fixtures.instance.interesting_photos
|
123
|
+
elsif params[:date] == 'garbage'
|
124
|
+
raise FlickRaw::FailedResponse.new('Not a valid date string',
|
125
|
+
'code','flickr.interestingness.getList'
|
126
|
+
)
|
127
|
+
elsif params[:date] == '2000-01-01'
|
128
|
+
Fixtures.instance.empty_photos
|
129
|
+
else
|
130
|
+
Fixtures.instance.interesting_photos
|
131
|
+
end
|
132
|
+
end
|
133
|
+
}.call
|
134
|
+
end
|
92
135
|
|
93
|
-
|
94
|
-
|
95
|
-
|
136
|
+
def self.commons_institutions
|
137
|
+
lambda {
|
138
|
+
flickr.commons.stub(:getInstitutions) do
|
96
139
|
Fixtures.instance.commons_institutions
|
97
|
-
|
98
|
-
|
140
|
+
end
|
141
|
+
}.call
|
142
|
+
end
|
99
143
|
end
|
100
|
-
|
101
144
|
end
|
102
145
|
end
|
103
146
|
|