Sha256: 3baf5481d4cb9112a879e132d97ca514e696ac4f814e729ef9d1661b2c09864b

Contents?: true

Size: 1.8 KB

Versions: 5

Compression:

Stored size: 1.8 KB

Contents

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

Version data entries

5 entries across 4 versions & 2 rubygems

Version Path
tdiary-5.0.5 vendor/bundle/gems/oauth-0.5.1/test/test_request_token.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/oauth-0.5.1/test/test_request_token.rb
tdiary-5.0.4 vendor/bundle/gems/oauth-0.5.1/test/test_request_token.rb
oauth-0.5.1 test/test_request_token.rb
oauth-0.5.0 test/test_request_token.rb