facebooker 1.0.43 → 1.0.44
Sign up to get free protection for your applications and to get access to all the features.
- data/facebooker.gemspec +4 -4
- data/lib/facebooker/models/user.rb +1 -1
- data/lib/facebooker/rails/controller.rb +5 -1
- data/lib/facebooker/rails/cucumber/world.rb +25 -31
- data/lib/facebooker/rails/helpers/fb_connect.rb +2 -1
- data/lib/facebooker/rails/integration_session.rb +1 -1
- data/lib/facebooker/session.rb +1 -1
- data/lib/facebooker/version.rb +1 -1
- data/test/facebooker/rails/integration_session_test.rb +10 -0
- data/test/facebooker/rails_integration_test.rb +10 -1
- data/test/facebooker/session_test.rb +41 -0
- data/test/rack/facebook_test.rb +7 -2
- metadata +3 -2
data/facebooker.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{facebooker}
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.44"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Chad Fowler", "Patrick Ewing", "Mike Mangino", "Shane Vitarana", "Corey Innis"]
|
9
|
-
s.date = %q{2009-07-
|
9
|
+
s.date = %q{2009-07-23}
|
10
10
|
s.description = %q{Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]. Its goals are:
|
11
11
|
|
12
12
|
* Idiomatic Ruby
|
@@ -15,14 +15,14 @@ Gem::Specification.new do |s|
|
|
15
15
|
* Well tested}
|
16
16
|
s.email = %q{mmangino@elevatedrails.com}
|
17
17
|
s.extra_rdoc_files = ["Manifest.txt", "CHANGELOG.rdoc", "COPYING.rdoc", "README.rdoc", "TODO.rdoc"]
|
18
|
-
s.files = [".autotest", "CHANGELOG.rdoc", "COPYING.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "TODO.rdoc", "examples/desktop_login.rb", "facebooker.gemspec", "generators/facebook/facebook_generator.rb", "generators/facebook/templates/config/facebooker.yml", "generators/facebook/templates/public/javascripts/facebooker.js", "generators/facebook_controller/USAGE", "generators/facebook_controller/facebook_controller_generator.rb", "generators/facebook_controller/templates/controller.rb", "generators/facebook_controller/templates/functional_test.rb", "generators/facebook_controller/templates/helper.rb", "generators/facebook_controller/templates/view.fbml.erb", "generators/facebook_controller/templates/view.html.erb", "generators/facebook_publisher/facebook_publisher_generator.rb", "generators/facebook_publisher/templates/create_facebook_templates.rb", "generators/facebook_publisher/templates/publisher.rb", "generators/facebook_scaffold/USAGE", "generators/facebook_scaffold/facebook_scaffold_generator.rb", "generators/facebook_scaffold/templates/controller.rb", "generators/facebook_scaffold/templates/facebook_style.css", "generators/facebook_scaffold/templates/functional_test.rb", "generators/facebook_scaffold/templates/helper.rb", "generators/facebook_scaffold/templates/layout.fbml.erb", "generators/facebook_scaffold/templates/layout.html.erb", "generators/facebook_scaffold/templates/style.css", "generators/facebook_scaffold/templates/view_edit.fbml.erb", "generators/facebook_scaffold/templates/view_edit.html.erb", "generators/facebook_scaffold/templates/view_index.fbml.erb", "generators/facebook_scaffold/templates/view_index.html.erb", "generators/facebook_scaffold/templates/view_new.fbml.erb", "generators/facebook_scaffold/templates/view_new.html.erb", "generators/facebook_scaffold/templates/view_show.fbml.erb", "generators/facebook_scaffold/templates/view_show.html.erb", "generators/publisher/publisher_generator.rb", "generators/xd_receiver/templates/xd_receiver.html", "generators/xd_receiver/xd_receiver_generator.rb", "init.rb", "install.rb", "lib/facebooker.rb", "lib/facebooker/adapters/adapter_base.rb", "lib/facebooker/adapters/bebo_adapter.rb", "lib/facebooker/adapters/facebook_adapter.rb", "lib/facebooker/admin.rb", "lib/facebooker/batch_request.rb", "lib/facebooker/data.rb", "lib/facebooker/feed.rb", "lib/facebooker/logging.rb", "lib/facebooker/mobile.rb", "lib/facebooker/mock/service.rb", "lib/facebooker/mock/session.rb", "lib/facebooker/model.rb", "lib/facebooker/models/affiliation.rb", "lib/facebooker/models/album.rb", "lib/facebooker/models/applicationproperties.rb", "lib/facebooker/models/applicationrestrictions.rb", "lib/facebooker/models/cookie.rb", "lib/facebooker/models/education_info.rb", "lib/facebooker/models/event.rb", "lib/facebooker/models/friend_list.rb", "lib/facebooker/models/group.rb", "lib/facebooker/models/info_item.rb", "lib/facebooker/models/info_section.rb", "lib/facebooker/models/location.rb", "lib/facebooker/models/notifications.rb", "lib/facebooker/models/page.rb", "lib/facebooker/models/photo.rb", "lib/facebooker/models/tag.rb", "lib/facebooker/models/user.rb", "lib/facebooker/models/video.rb", "lib/facebooker/models/work_info.rb", "lib/facebooker/parser.rb", "lib/facebooker/rails/backwards_compatible_param_checks.rb", "lib/facebooker/rails/controller.rb", "lib/facebooker/rails/cucumber.rb", "lib/facebooker/rails/cucumber/world.rb", "lib/facebooker/rails/extensions/action_controller.rb", "lib/facebooker/rails/extensions/rack_setup.rb", "lib/facebooker/rails/extensions/routing.rb", "lib/facebooker/rails/facebook_form_builder.rb", "lib/facebooker/rails/facebook_pretty_errors.rb", "lib/facebooker/rails/facebook_request_fix.rb", "lib/facebooker/rails/facebook_request_fix_2-3.rb", "lib/facebooker/rails/facebook_session_handling.rb", "lib/facebooker/rails/facebook_url_helper.rb", "lib/facebooker/rails/facebook_url_rewriting.rb", "lib/facebooker/rails/helpers.rb", "lib/facebooker/rails/helpers/fb_connect.rb", "lib/facebooker/rails/integration_session.rb", "lib/facebooker/rails/profile_publisher_extensions.rb", "lib/facebooker/rails/publisher.rb", "lib/facebooker/rails/routing.rb", "lib/facebooker/rails/test_helpers.rb", "lib/facebooker/rails/utilities.rb", "lib/facebooker/server_cache.rb", "lib/facebooker/service.rb", "lib/facebooker/service/base_service.rb", "lib/facebooker/service/curl_service.rb", "lib/facebooker/service/net_http_service.rb", "lib/facebooker/service/typhoeus_service.rb", "lib/facebooker/service/typhoeus_multi_service.rb", "lib/facebooker/session.rb", "lib/facebooker/version.rb", "lib/net/http_multipart_post.rb", "lib/rack/facebook.rb", "lib/tasks/facebooker.rake", "lib/tasks/tunnel.rake", "rails/init.rb", "setup.rb", "templates/layout.erb", "test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/page_test.rb", "test/facebooker/models/photo_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/rails/facebook_request_fix_2-3_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/fixtures/multipart_post_body_with_only_parameters.txt", "test/fixtures/multipart_post_body_with_single_file.txt", "test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb", "test/rails_test_helper.rb", "test/test_helper.rb", "test/facebooker/rails/facebook_url_rewriting_test.rb", "test/facebooker/service_test.rb"]
|
18
|
+
s.files = [".autotest", "CHANGELOG.rdoc", "COPYING.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "TODO.rdoc", "examples/desktop_login.rb", "facebooker.gemspec", "generators/facebook/facebook_generator.rb", "generators/facebook/templates/config/facebooker.yml", "generators/facebook/templates/public/javascripts/facebooker.js", "generators/facebook_controller/USAGE", "generators/facebook_controller/facebook_controller_generator.rb", "generators/facebook_controller/templates/controller.rb", "generators/facebook_controller/templates/functional_test.rb", "generators/facebook_controller/templates/helper.rb", "generators/facebook_controller/templates/view.fbml.erb", "generators/facebook_controller/templates/view.html.erb", "generators/facebook_publisher/facebook_publisher_generator.rb", "generators/facebook_publisher/templates/create_facebook_templates.rb", "generators/facebook_publisher/templates/publisher.rb", "generators/facebook_scaffold/USAGE", "generators/facebook_scaffold/facebook_scaffold_generator.rb", "generators/facebook_scaffold/templates/controller.rb", "generators/facebook_scaffold/templates/facebook_style.css", "generators/facebook_scaffold/templates/functional_test.rb", "generators/facebook_scaffold/templates/helper.rb", "generators/facebook_scaffold/templates/layout.fbml.erb", "generators/facebook_scaffold/templates/layout.html.erb", "generators/facebook_scaffold/templates/style.css", "generators/facebook_scaffold/templates/view_edit.fbml.erb", "generators/facebook_scaffold/templates/view_edit.html.erb", "generators/facebook_scaffold/templates/view_index.fbml.erb", "generators/facebook_scaffold/templates/view_index.html.erb", "generators/facebook_scaffold/templates/view_new.fbml.erb", "generators/facebook_scaffold/templates/view_new.html.erb", "generators/facebook_scaffold/templates/view_show.fbml.erb", "generators/facebook_scaffold/templates/view_show.html.erb", "generators/publisher/publisher_generator.rb", "generators/xd_receiver/templates/xd_receiver.html", "generators/xd_receiver/xd_receiver_generator.rb", "init.rb", "install.rb", "lib/facebooker.rb", "lib/facebooker/adapters/adapter_base.rb", "lib/facebooker/adapters/bebo_adapter.rb", "lib/facebooker/adapters/facebook_adapter.rb", "lib/facebooker/admin.rb", "lib/facebooker/batch_request.rb", "lib/facebooker/data.rb", "lib/facebooker/feed.rb", "lib/facebooker/logging.rb", "lib/facebooker/mobile.rb", "lib/facebooker/mock/service.rb", "lib/facebooker/mock/session.rb", "lib/facebooker/model.rb", "lib/facebooker/models/affiliation.rb", "lib/facebooker/models/album.rb", "lib/facebooker/models/applicationproperties.rb", "lib/facebooker/models/applicationrestrictions.rb", "lib/facebooker/models/cookie.rb", "lib/facebooker/models/education_info.rb", "lib/facebooker/models/event.rb", "lib/facebooker/models/friend_list.rb", "lib/facebooker/models/group.rb", "lib/facebooker/models/info_item.rb", "lib/facebooker/models/info_section.rb", "lib/facebooker/models/location.rb", "lib/facebooker/models/notifications.rb", "lib/facebooker/models/page.rb", "lib/facebooker/models/photo.rb", "lib/facebooker/models/tag.rb", "lib/facebooker/models/user.rb", "lib/facebooker/models/video.rb", "lib/facebooker/models/work_info.rb", "lib/facebooker/parser.rb", "lib/facebooker/rails/backwards_compatible_param_checks.rb", "lib/facebooker/rails/controller.rb", "lib/facebooker/rails/cucumber.rb", "lib/facebooker/rails/cucumber/world.rb", "lib/facebooker/rails/extensions/action_controller.rb", "lib/facebooker/rails/extensions/rack_setup.rb", "lib/facebooker/rails/extensions/routing.rb", "lib/facebooker/rails/facebook_form_builder.rb", "lib/facebooker/rails/facebook_pretty_errors.rb", "lib/facebooker/rails/facebook_request_fix.rb", "lib/facebooker/rails/facebook_request_fix_2-3.rb", "lib/facebooker/rails/facebook_session_handling.rb", "lib/facebooker/rails/facebook_url_helper.rb", "lib/facebooker/rails/facebook_url_rewriting.rb", "lib/facebooker/rails/helpers.rb", "lib/facebooker/rails/helpers/fb_connect.rb", "lib/facebooker/rails/integration_session.rb", "lib/facebooker/rails/profile_publisher_extensions.rb", "lib/facebooker/rails/publisher.rb", "lib/facebooker/rails/routing.rb", "lib/facebooker/rails/test_helpers.rb", "lib/facebooker/rails/utilities.rb", "lib/facebooker/server_cache.rb", "lib/facebooker/service.rb", "lib/facebooker/service/base_service.rb", "lib/facebooker/service/curl_service.rb", "lib/facebooker/service/net_http_service.rb", "lib/facebooker/service/typhoeus_service.rb", "lib/facebooker/service/typhoeus_multi_service.rb", "lib/facebooker/session.rb", "lib/facebooker/version.rb", "lib/net/http_multipart_post.rb", "lib/rack/facebook.rb", "lib/tasks/facebooker.rake", "lib/tasks/tunnel.rake", "rails/init.rb", "setup.rb", "templates/layout.erb", "test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/page_test.rb", "test/facebooker/models/photo_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/rails/facebook_request_fix_2-3_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/fixtures/multipart_post_body_with_only_parameters.txt", "test/fixtures/multipart_post_body_with_single_file.txt", "test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb", "test/rails_test_helper.rb", "test/test_helper.rb", "test/facebooker/rails/facebook_url_rewriting_test.rb", "test/facebooker/rails/integration_session_test.rb", "test/facebooker/service_test.rb"]
|
19
19
|
s.homepage = %q{http://facebooker.rubyforge.org}
|
20
20
|
s.rdoc_options = ["--main", "README.rdoc"]
|
21
21
|
s.require_paths = ["lib"]
|
22
22
|
s.rubyforge_project = %q{facebooker}
|
23
23
|
s.rubygems_version = %q{1.3.4}
|
24
24
|
s.summary = %q{Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]}
|
25
|
-
s.test_files = ["test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/page_test.rb", "test/facebooker/models/photo_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/facebook_request_fix_2-3_test.rb", "test/facebooker/rails/facebook_url_rewriting_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/service_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb"]
|
25
|
+
s.test_files = ["test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/page_test.rb", "test/facebooker/models/photo_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/facebook_request_fix_2-3_test.rb", "test/facebooker/rails/facebook_url_rewriting_test.rb", "test/facebooker/rails/integration_session_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/service_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb"]
|
26
26
|
|
27
27
|
if s.respond_to? :specification_version then
|
28
28
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -10,7 +10,7 @@ module Facebooker
|
|
10
10
|
include Model
|
11
11
|
attr_accessor :message, :time, :status_id
|
12
12
|
end
|
13
|
-
FIELDS = [:status, :political, :pic_small, :name, :quotes, :is_app_user, :tv, :profile_update_time, :meeting_sex, :hs_info, :timezone, :relationship_status, :hometown_location, :about_me, :wall_count, :significant_other_id, :pic_big, :music, :work_history, :sex, :religion, :notes_count, :activities, :pic_square, :movies, :has_added_app, :education_history, :birthday, :first_name, :meeting_for, :last_name, :interests, :current_location, :pic, :books, :affiliations, :locale, :profile_url, :proxied_email, :email_hashes, :allowed_restrictions, :pic_with_logo, :pic_big_with_logo, :pic_small_with_logo, :pic_square_with_logo]
|
13
|
+
FIELDS = [:status, :political, :pic_small, :name, :quotes, :is_app_user, :tv, :profile_update_time, :meeting_sex, :hs_info, :timezone, :relationship_status, :hometown_location, :about_me, :wall_count, :significant_other_id, :pic_big, :music, :work_history, :sex, :religion, :notes_count, :activities, :pic_square, :movies, :has_added_app, :education_history, :birthday, :birthday_date, :first_name, :meeting_for, :last_name, :interests, :current_location, :pic, :books, :affiliations, :locale, :profile_url, :proxied_email, :email_hashes, :allowed_restrictions, :pic_with_logo, :pic_big_with_logo, :pic_small_with_logo, :pic_square_with_logo]
|
14
14
|
STANDARD_FIELDS = [:uid, :first_name, :last_name, :name, :timezone, :birthday, :sex, :affiliations, :locale, :profile_url, :pic_square]
|
15
15
|
populating_attr_accessor(*FIELDS)
|
16
16
|
attr_reader :affiliations
|
@@ -180,7 +180,11 @@ module Facebooker
|
|
180
180
|
end
|
181
181
|
|
182
182
|
def default_after_facebook_login_url
|
183
|
-
|
183
|
+
omit_keys = ["_method", "format"]
|
184
|
+
options = (params||{}).clone
|
185
|
+
options = options.reject{|k,v| k.to_s.match(/^fb_sig/) or omit_keys.include?(k.to_s)}
|
186
|
+
options = options.merge({:only_path => false})
|
187
|
+
url_for(options)
|
184
188
|
end
|
185
189
|
|
186
190
|
def create_new_facebook_session_and_redirect!
|
@@ -4,43 +4,37 @@ require 'facebooker/rails/integration_session'
|
|
4
4
|
module Facebooker
|
5
5
|
module Rails
|
6
6
|
module Cucumber
|
7
|
-
|
8
|
-
|
9
|
-
session = Facebooker::Rails::IntegrationSession.new
|
7
|
+
def open_session
|
8
|
+
session = Facebooker::Rails::IntegrationSession.new
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
end
|
10
|
+
# delegate the fixture accessors back to the test instance
|
11
|
+
extras = Module.new { attr_accessor :delegate, :test_result }
|
12
|
+
if self.class.respond_to?(:fixture_table_names)
|
13
|
+
self.class.fixture_table_names.each do |table_name|
|
14
|
+
name = table_name.tr(".", "_")
|
15
|
+
next unless respond_to?(name)
|
16
|
+
extras.__send__(:define_method, name) { |*args| delegate.send(name, *args) }
|
19
17
|
end
|
18
|
+
end
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
# delegate add_assertion to the test case
|
21
|
+
extras.__send__(:define_method, :add_assertion) { test_result.add_assertion }
|
22
|
+
session.extend(extras)
|
23
|
+
session.delegate = self
|
24
|
+
session.test_result = @_result
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
26
|
+
yield session if block_given?
|
27
|
+
session
|
28
|
+
end
|
29
|
+
|
30
|
+
def without_canvas
|
31
|
+
in_canvas = @integration_session.canvas
|
32
|
+
@integration_session.canvas = false
|
33
|
+
yield
|
34
|
+
@integration_session.canvas = in_canvas
|
37
35
|
end
|
38
36
|
end
|
39
37
|
end
|
40
38
|
end
|
41
39
|
|
42
|
-
World
|
43
|
-
w = Facebooker::Rails::Cucumber::World.new
|
44
|
-
w.reset!
|
45
|
-
w
|
46
|
-
end
|
40
|
+
World(Facebooker::Rails::Cucumber)
|
@@ -107,8 +107,9 @@ module Facebooker
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def fb_user_action(action, user_message = nil, prompt = "", callback = nil)
|
110
|
+
defaulted_callback = callback || "null"
|
110
111
|
update_page do |page|
|
111
|
-
page.call("FB.Connect.showFeedDialog",action.template_id,action.data,action.target_ids,action.body_general,nil,page.literal("FB.RequireConnect.promptConnect"),
|
112
|
+
page.call("FB.Connect.showFeedDialog",action.template_id,action.data,action.target_ids,action.body_general,nil,page.literal("FB.RequireConnect.promptConnect"),page.literal(defaulted_callback),prompt,user_message.nil? ? nil : {:value=>user_message})
|
112
113
|
end
|
113
114
|
end
|
114
115
|
|
@@ -12,7 +12,7 @@ class Facebooker::Rails::IntegrationSession < ActionController::Integration::Ses
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def reset!
|
15
|
-
self.default_request_params = {:fb_sig_in_canvas => '1'}.with_indifferent_access
|
15
|
+
self.default_request_params = {:fb_sig_in_canvas => '1', :fb_sig_api_key => Facebooker::Session.api_key}.with_indifferent_access
|
16
16
|
self.canvas = true
|
17
17
|
super
|
18
18
|
end
|
data/lib/facebooker/session.rb
CHANGED
@@ -562,7 +562,7 @@ module Facebooker
|
|
562
562
|
end
|
563
563
|
|
564
564
|
def post(method, params = {}, use_session_key = true, &proc)
|
565
|
-
if batch_request?
|
565
|
+
if batch_request? or Facebooker::Logging.skip_api_logging
|
566
566
|
post_without_logging(method, params, use_session_key, &proc)
|
567
567
|
else
|
568
568
|
Logging.log_fb_api(method, params) do
|
data/lib/facebooker/version.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../lib/facebooker/rails/integration_session')
|
3
|
+
class Facebooker::Rails::IntegrationSessionTest < Test::Unit::TestCase
|
4
|
+
def test_include_api_key_in_default_request_params
|
5
|
+
ENV['FACEBOOK_API_KEY'] = 'a key'
|
6
|
+
integration_session = Facebooker::Rails::IntegrationSession.new
|
7
|
+
integration_session.reset!
|
8
|
+
assert_equal 'a key', integration_session.default_request_params[ :fb_sig_api_key ]
|
9
|
+
end
|
10
|
+
end
|
@@ -476,6 +476,11 @@ class RailsIntegrationTest < Test::Unit::TestCase
|
|
476
476
|
get :link_test,facebook_params(:fb_sig_in_canvas=>0,:canvas=>false)
|
477
477
|
assert !@response.body.match(/root/)
|
478
478
|
end
|
479
|
+
|
480
|
+
def test_default_url_omits_fb_params
|
481
|
+
get :index,facebook_params(:fb_sig_friends=>"overwriteme",:get_param=>"yes")
|
482
|
+
assert_equal "http://apps.facebook.com/root/require_auth?get_param=yes", @controller.send(:default_after_facebook_login_url)
|
483
|
+
end
|
479
484
|
|
480
485
|
def test_url_for_links_to_canvas_if_canvas_is_not_set
|
481
486
|
get :link_test,facebook_params
|
@@ -1052,7 +1057,11 @@ class RailsHelperTest < Test::Unit::TestCase
|
|
1052
1057
|
def test_fb_logout_link
|
1053
1058
|
assert_equal @h.fb_logout_link("Logout","My URL"),"<a href=\"#\" onclick=\"FB.Connect.logoutAndRedirect("My URL");; return false;\">Logout</a>"
|
1054
1059
|
end
|
1055
|
-
def
|
1060
|
+
def test_fb_user_action_with_literal_callback
|
1061
|
+
action = Facebooker::Rails::Publisher::UserAction.new
|
1062
|
+
assert_equal @h.fb_user_action(action,"message","prompt","function() {alert('hi')}"),"FB.Connect.showFeedDialog(null, null, null, null, null, FB.RequireConnect.promptConnect, function() {alert('hi')}, \"prompt\", {\"value\": \"message\"});"
|
1063
|
+
end
|
1064
|
+
def test_fb_user_action_with_nil_callback
|
1056
1065
|
action = Facebooker::Rails::Publisher::UserAction.new
|
1057
1066
|
assert_equal @h.fb_user_action(action,"message","prompt"),"FB.Connect.showFeedDialog(null, null, null, null, null, FB.RequireConnect.promptConnect, null, \"prompt\", {\"value\": \"message\"});"
|
1058
1067
|
end
|
@@ -204,6 +204,47 @@ class Facebooker::SessionTest < Test::Unit::TestCase
|
|
204
204
|
@session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
|
205
205
|
assert_equal 17876842716, @session.register_template_bundle("{*actor*} did something",nil,nil,[{:text=>"text",:href=>"href"}])
|
206
206
|
end
|
207
|
+
|
208
|
+
def test_can_register_template_bundle_with_short_story
|
209
|
+
one_line = "{*actor*} did something"
|
210
|
+
short_story = { :title => 'title', :body => 'body' }
|
211
|
+
|
212
|
+
@session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
|
213
|
+
@session.expects(:post).with(
|
214
|
+
'facebook.feed.registerTemplateBundle',
|
215
|
+
{:one_line_story_templates => [one_line].to_json, :short_story_templates => [short_story].to_json},
|
216
|
+
false
|
217
|
+
)
|
218
|
+
@session.register_template_bundle(one_line, short_story)
|
219
|
+
end
|
220
|
+
|
221
|
+
def test_can_register_template_bundle_with_short_story_for_several_templates
|
222
|
+
one_line = ["{*actor*} did something", "{*actor*} did something again"]
|
223
|
+
short_story = [{ :title => 'title', :body => 'body' }, { :title => 'title2', :body => 'body2' }]
|
224
|
+
|
225
|
+
@session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
|
226
|
+
@session.expects(:post).with(
|
227
|
+
'facebook.feed.registerTemplateBundle',
|
228
|
+
{:one_line_story_templates => one_line.to_json, :short_story_templates => short_story.to_json},
|
229
|
+
false
|
230
|
+
)
|
231
|
+
@session.register_template_bundle(one_line, short_story)
|
232
|
+
end
|
233
|
+
|
234
|
+
def test_can_register_template_bundle_with_full_story_for_several_templates
|
235
|
+
one_line = ["{*actor*} did something", "{*actor*} did something again"]
|
236
|
+
short_story = [{ :title => 'title', :body => 'body' }, { :title => 'title2', :body => 'body2' }]
|
237
|
+
full_story = { :title => 'title', :body => 'body' }
|
238
|
+
|
239
|
+
@session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
|
240
|
+
@session.expects(:post).with(
|
241
|
+
'facebook.feed.registerTemplateBundle',
|
242
|
+
{:one_line_story_templates => one_line.to_json, :short_story_templates => short_story.to_json, :full_story_template => full_story.to_json},
|
243
|
+
false
|
244
|
+
)
|
245
|
+
@session.register_template_bundle(one_line, short_story, full_story)
|
246
|
+
end
|
247
|
+
|
207
248
|
def test_can_publish_user_action
|
208
249
|
expect_http_posts_with_responses(publish_user_action_return_xml)
|
209
250
|
@session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
|
data/test/rack/facebook_test.rb
CHANGED
@@ -52,10 +52,15 @@ class Rack::FacebookTest < Test::Unit::TestCase
|
|
52
52
|
assert_equal 200, response.status
|
53
53
|
end
|
54
54
|
|
55
|
-
def
|
55
|
+
def test_skips_with_true_condition_without_fb_sig
|
56
56
|
@facebook = Rack::Facebook.new(@app) { true }
|
57
57
|
response = app.post("/", :input => params(:fb_sig_user => 'ignored'))
|
58
|
+
assert_equal 200, response.status
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_verifies_with_true_condition_with_fb_sig
|
62
|
+
@facebook = Rack::Facebook.new(@app) { true }
|
63
|
+
response = app.post("/", :input => params(:fb_sig => 'wrong', :fb_sig_user => 'ignored'))
|
58
64
|
assert_equal 400, response.status
|
59
65
|
end
|
60
|
-
|
61
66
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facebooker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.44
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chad Fowler
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2009-07-
|
16
|
+
date: 2009-07-23 00:00:00 -04:00
|
17
17
|
default_executable:
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
@@ -237,6 +237,7 @@ test_files:
|
|
237
237
|
- test/facebooker/models/user_test.rb
|
238
238
|
- test/facebooker/rails/facebook_request_fix_2-3_test.rb
|
239
239
|
- test/facebooker/rails/facebook_url_rewriting_test.rb
|
240
|
+
- test/facebooker/rails/integration_session_test.rb
|
240
241
|
- test/facebooker/rails/publisher_test.rb
|
241
242
|
- test/facebooker/rails_integration_test.rb
|
242
243
|
- test/facebooker/server_cache_test.rb
|