81 lines
3 KiB
Python
81 lines
3 KiB
Python
from unittest import TestCase
|
|
|
|
from nose.tools import raises
|
|
try:
|
|
from urlparse import parse_qs, parse_qsl
|
|
except ImportError:
|
|
from cgi import parse_qs, parse_qsl
|
|
|
|
import yql
|
|
|
|
|
|
class YahooTokenTest(TestCase):
|
|
def test_create_yahoo_token(self):
|
|
token = yql.YahooToken('test-key', 'test-secret')
|
|
self.assertEqual(token.key, 'test-key')
|
|
self.assertEqual(token.secret, 'test-secret')
|
|
|
|
def test_y_token_to_string(self):
|
|
token = yql.YahooToken('test-key', 'test-secret')
|
|
token_to_string = token.to_string()
|
|
string_data = dict(parse_qsl(token_to_string))
|
|
self.assertEqual(string_data.get('oauth_token'), 'test-key')
|
|
self.assertEqual(string_data.get('oauth_token_secret'), 'test-secret')
|
|
|
|
def test_y_token_to_string2(self):
|
|
token = yql.YahooToken('test-key', 'test-secret')
|
|
|
|
token.timestamp = '1111'
|
|
token.session_handle = 'poop'
|
|
token.callback_confirmed = 'basilfawlty'
|
|
|
|
token_to_string = token.to_string()
|
|
string_data = dict(parse_qsl(token_to_string))
|
|
self.assertEqual(string_data.get('oauth_token'), 'test-key')
|
|
self.assertEqual(string_data.get('oauth_token_secret'), 'test-secret')
|
|
self.assertEqual(string_data.get('token_creation_timestamp'), '1111')
|
|
self.assertEqual(string_data.get('oauth_callback_confirmed'), 'basilfawlty')
|
|
self.assertEqual(string_data.get('oauth_session_handle'), 'poop')
|
|
|
|
def test_y_token_from_string(self):
|
|
token_string = "oauth_token=foo&oauth_token_secret=bar&"\
|
|
"oauth_session_handle=baz&token_creation_timestamp=1111"
|
|
token_from_string = yql.YahooToken.from_string(token_string)
|
|
self.assertEqual(token_from_string.key, 'foo')
|
|
self.assertEqual(token_from_string.secret, 'bar')
|
|
self.assertEqual(token_from_string.session_handle, 'baz')
|
|
self.assertEqual(token_from_string.timestamp, '1111')
|
|
|
|
@raises(ValueError)
|
|
def test_y_token_raises_value_error(self):
|
|
yql.YahooToken.from_string('')
|
|
|
|
@raises(ValueError)
|
|
def test_y_token_raises_value_error2(self):
|
|
yql.YahooToken.from_string('foo')
|
|
|
|
@raises(ValueError)
|
|
def test_y_token_raises_value_error3(self):
|
|
yql.YahooToken.from_string('oauth_token=bar')
|
|
|
|
@raises(ValueError)
|
|
def test_y_token_raises_value_error4(self):
|
|
yql.YahooToken.from_string('oauth_token_secret=bar')
|
|
|
|
@raises(AttributeError)
|
|
def test_y_token_without_timestamp_raises(self):
|
|
token = yql.YahooToken('test', 'test2')
|
|
y = yql.ThreeLegged('test', 'test2')
|
|
y.check_token(token)
|
|
|
|
def test_y_token_without_timestamp_raises2(self):
|
|
|
|
def refresh_token_replacement(token):
|
|
return 'replaced'
|
|
|
|
y = yql.ThreeLegged('test', 'test2')
|
|
y.refresh_token = refresh_token_replacement
|
|
|
|
token = yql.YahooToken('test', 'test2')
|
|
token.timestamp = 11111
|
|
self.assertEqual(y.check_token(token), 'replaced')
|