facebooker 1.0.44 → 1.0.48

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.
@@ -22,6 +22,33 @@ class Facebooker::SessionTest < Test::Unit::TestCase
22
22
  assert_equal("http://www.facebook.com/install.php?api_key=1234567&v=1.0&next=next_url%3Fa%3D1%26b%3D2", session.install_url(:next => "next_url?a=1&b=2"))
23
23
  end
24
24
 
25
+ def test_permission_url_returns_correct_url_and_parameters
26
+ fb_url = "http://www.facebook.com/connect/prompt_permissions.php?api_key=#{ENV['FACEBOOK_API_KEY']}&v=1.0&next=next_url&ext_perm=publish_stream,email"
27
+ url = Facebooker::Session.new(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY']).permission_url('publish_stream,email', {:next => 'next_url'})
28
+ assert_equal url, fb_url
29
+ end
30
+
31
+ def test_login_url_skips_all_parameters_when_not_passed_or_false
32
+ session = Facebooker::Session.new(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
33
+ url = session.login_url({:fbconnect => false})
34
+ expected_url = Facebooker.login_url_base
35
+ assert_equal url, expected_url
36
+ end
37
+
38
+ def test_login_url_adds_all_parameters_when_passed
39
+ login_options = {:skipcookie => true,
40
+ :hide_checkbox => true,
41
+ :canvas => true,
42
+ :fbconnect => true,
43
+ :req_perms => 'publish_stream',
44
+ :next => 'http://example.com'}
45
+
46
+ session = Facebooker::Session.new(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
47
+ url = session.login_url(login_options)
48
+ expected_url = "#{Facebooker.login_url_base}&next=#{CGI.escape(login_options[:next])}&hide_checkbox=true&canvas=true&fbconnect=true&req_perms=publish_stream"
49
+ assert_equal url, expected_url
50
+ end
51
+
25
52
  def test_can_get_api_and_secret_key_from_environment
26
53
  assert_equal('1234567', Facebooker::Session.api_key)
27
54
  assert_equal('7654321', Facebooker::Session.secret_key)
@@ -245,6 +272,16 @@ class Facebooker::SessionTest < Test::Unit::TestCase
245
272
  @session.register_template_bundle(one_line, short_story, full_story)
246
273
  end
247
274
 
275
+ def test_can_deactivate_template_bundle_by_id
276
+ @session = Facebooker::Session.create(ENV['FACBEOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
277
+ @session.expects(:post).with(
278
+ 'facebook.feed.deactivateTemplateBundleByID',
279
+ {:template_bundle_id => '999'},
280
+ false
281
+ )
282
+ @session.deactivate_template_bundle_by_id(999)
283
+ end
284
+
248
285
  def test_can_publish_user_action
249
286
  expect_http_posts_with_responses(publish_user_action_return_xml)
250
287
  @session = Facebooker::Session.create(ENV['FACEBOOK_API_KEY'], ENV['FACEBOOK_SECRET_KEY'])
@@ -7,11 +7,20 @@ class Rack::FacebookTest < Test::Unit::TestCase
7
7
 
8
8
  def setup
9
9
  flexmock(Facebooker).should_receive(:secret_key).and_return('secret')
10
+ flexmock(Facebooker).should_receive(:load_adapter)
10
11
  @app = lambda do |env|
11
12
  @env = env
12
13
  Rack::Response.new().to_a
13
14
  end
14
15
  @facebook = Rack::Facebook.new(@app)
16
+ @valid_params = {
17
+ :fb_sig_user => '1',
18
+ :fb_sig => 'ignored'
19
+ }
20
+ @page = Proc.new {|options|
21
+ options ||= @valid_params
22
+ app.post "/", :input => params(options)
23
+ }
15
24
  end
16
25
 
17
26
  def params(p)
@@ -28,39 +37,37 @@ class Rack::FacebookTest < Test::Unit::TestCase
28
37
  end
29
38
 
30
39
  def test_converts_request_method
31
- response = app.post("/",
32
- :input => params(:fb_sig_request_method => 'GET', :fb_sig => '4d2a700e90b0bcbe54b9e627d2cc1417'))
40
+ response = @page.call(:fb_sig_request_method => 'GET', :fb_sig => '4d2a700e90b0bcbe54b9e627d2cc1417')
33
41
  assert_equal 200, response.status
34
42
  assert_equal 'GET', @env['REQUEST_METHOD']
35
43
  end
36
44
 
37
45
  def test_only_sets_request_method_if_provided
38
- response = app.post("/", :input => params(:fb_sig_user => '1', :fb_sig => '313dd5caed3d0902d83225ff3ae9a950'))
46
+ response = @page.call(:fb_sig_user => '1', :fb_sig => '313dd5caed3d0902d83225ff3ae9a950')
39
47
  assert_equal 200, response.status
40
48
  assert_equal 'POST', @env['REQUEST_METHOD']
41
49
  end
42
50
 
43
51
  def test_renders_400_with_invalid_signature
44
- response = app.post("/",
45
- :input => params(:fb_sig => 'wrong', :fb_sig_user => 1))
52
+ response = @page.call(:fb_sig => 'wrong', :fb_sig_user => 1)
46
53
  assert_equal 400, response.status
47
54
  end
48
55
 
49
56
  def test_skips_with_false_condition
50
57
  @facebook = Rack::Facebook.new(@app) { false }
51
- response = app.post("/", :input => params(:fb_sig_user => 'ignored'))
58
+ response = @page.call({})
52
59
  assert_equal 200, response.status
53
60
  end
54
61
 
55
62
  def test_skips_with_true_condition_without_fb_sig
56
63
  @facebook = Rack::Facebook.new(@app) { true }
57
- response = app.post("/", :input => params(:fb_sig_user => 'ignored'))
64
+ response = @page.call(:fb_sig_user => 'ignored')
58
65
  assert_equal 200, response.status
59
66
  end
60
67
 
61
68
  def test_verifies_with_true_condition_with_fb_sig
62
69
  @facebook = Rack::Facebook.new(@app) { true }
63
- response = app.post("/", :input => params(:fb_sig => 'wrong', :fb_sig_user => 'ignored'))
70
+ response = @page.call(:fb_sig => 'wrong', :fb_sig_user => 'ignored')
64
71
  assert_equal 400, response.status
65
72
  end
66
73
  end
@@ -15,6 +15,14 @@ require 'facebooker/rails/helpers'
15
15
  require 'facebooker/rails/publisher'
16
16
  require 'facebooker/rails/facebook_form_builder'
17
17
 
18
+ if Rails.version >= '2.3'
19
+ Test::Unit::TestCase.send :include, ActionController::TestCase::Assertions
20
+ Test::Unit::TestCase.send :include, ActionController::TestProcess
21
+ Test::Unit::TestCase.send :include, Facebooker::Rails::TestHelpers
22
+
23
+ ActionController::Base.session = { :key => "9hfwfl8slgh9", :secret => "db08fcba0378a9e066ce037bec4b72bc" }
24
+ end
25
+
18
26
  ActionController::Routing::Routes.draw do |map|
19
27
  map.connect '', :controller=>"facebook",:conditions=>{:canvas=>true}
20
28
  map.connect '', :controller=>"plain_old_rails"
@@ -29,9 +29,9 @@ end
29
29
  require 'facebooker'
30
30
  require 'facebooker/rails/test_helpers'
31
31
 
32
-
33
32
  class Test::Unit::TestCase
34
- include Facebooker::Rails::TestHelpers
33
+
34
+ include Facebooker::Rails::TestHelpers unless self.included_modules.include?( Facebooker::Rails::TestHelpers )
35
35
 
36
36
  private
37
37
 
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.44
4
+ version: 1.0.48
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Fowler
@@ -9,11 +9,12 @@ authors:
9
9
  - Mike Mangino
10
10
  - Shane Vitarana
11
11
  - Corey Innis
12
+ - Mike Mangino
12
13
  autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
16
 
16
- date: 2009-07-23 00:00:00 -04:00
17
+ date: 2009-08-26 00:00:00 -04:00
17
18
  default_executable:
18
19
  dependencies:
19
20
  - !ruby/object:Gem::Dependency
@@ -43,7 +44,13 @@ description: |-
43
44
  * No dependencies outside of the Ruby standard library (This is true with Rails 2.1. Previous Rails versions require the JSON gem)
44
45
  * Concrete classes and methods modeling the Facebook data, so it's easy for a Rubyist to understand what's available
45
46
  * Well tested
46
- email: mmangino@elevatedrails.com
47
+ email:
48
+ - chad@chadfowlwer.com
49
+ - ""
50
+ - ""
51
+ - ""
52
+ - ""
53
+ - mmangino@elevatedrails.com
47
54
  executables: []
48
55
 
49
56
  extensions: []
@@ -95,6 +102,7 @@ files:
95
102
  - generators/facebook_scaffold/templates/view_show.fbml.erb
96
103
  - generators/facebook_scaffold/templates/view_show.html.erb
97
104
  - generators/publisher/publisher_generator.rb
105
+ - generators/xd_receiver/templates/xd_receiver_ssl.html
98
106
  - generators/xd_receiver/templates/xd_receiver.html
99
107
  - generators/xd_receiver/xd_receiver_generator.rb
100
108
  - init.rb