File: test_request_token.rb

package info (click to toggle)
ruby-oauth 0.5.4-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 584 kB
  • sloc: ruby: 4,070; makefile: 4
file content (56 lines) | stat: -rw-r--r-- 1,849 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require File.expand_path('../../test_helper', __FILE__)

class StubbedToken < OAuth::RequestToken
  define_method :build_authorize_url_promoted do |root_domain, params|
    build_authorize_url root_domain, params
  end
end

class TestRequestToken < Minitest::Test
  def setup
    # setup a fake req. token. mocking Consumer would be more appropriate...
    @request_token = OAuth::RequestToken.new(
      OAuth::Consumer.new("key", "secret", {}),
      "key",
      "secret"
    )
  end

  def test_request_token_builds_authorize_url_connectly_with_additional_params
    auth_url = @request_token.authorize_url({:oauth_callback => "github.com"})
    assert auth_url
    assert_match(/oauth_token/, auth_url)
    assert_match(/oauth_callback/, auth_url)
  end

  def test_request_token_builds_authorize_url_connectly_with_no_or_nil_params
    # we should only have 1 key in the url returned if we didn't pass anything.
    # this is the only required param to authenticate the client.
    auth_url = @request_token.authorize_url(nil)
    assert auth_url
    assert_match(/\?oauth_token=/, auth_url)

    auth_url = @request_token.authorize_url
    assert auth_url
    assert_match(/\?oauth_token=/, auth_url)
  end

  def test_request_token_returns_nil_authorize_url_when_token_is_nil
    @request_token.token = nil
    assert_nil @request_token.authorize_url
  end

  #TODO: mock out the Consumer to test the Consumer/AccessToken interaction.
  def test_get_access_token
  end

  def test_build_authorize_url
   @stubbed_token = StubbedToken.new(nil, nil, nil)
    assert_respond_to @stubbed_token, :build_authorize_url_promoted
    url = @stubbed_token.build_authorize_url_promoted(
      "http://github.com/oauth/authorize",
      {:foo => "bar bar"})
    assert url
    assert_equal "http://github.com/oauth/authorize?foo=bar+bar", url
  end
end