|
27 | 27 | import time
|
28 | 28 | import urllib
|
29 | 29 | import urlparse
|
30 |
| -import cgi |
31 | 30 |
|
32 | 31 | class TestError(unittest.TestCase):
|
33 | 32 | def test_message(self):
|
@@ -76,18 +75,27 @@ def test_gen_timestamp(self):
|
76 | 75 | self.assertEqual(exp, now)
|
77 | 76 |
|
78 | 77 | class TestConsumer(unittest.TestCase):
|
| 78 | + def setUp(self): |
| 79 | + self.key = 'my-key' |
| 80 | + self.secret = 'my-secret' |
| 81 | + self.consumer = oauth.Consumer(key=self.key, secret=self.secret) |
| 82 | + |
79 | 83 | def test_init(self):
|
80 |
| - key = 'my-key' |
81 |
| - secret = 'my-secret' |
82 |
| - consumer = oauth.Consumer(key, secret) |
83 |
| - self.assertEqual(consumer.key, key) |
84 |
| - self.assertEqual(consumer.secret, secret) |
| 84 | + self.assertEqual(self.consumer.key, self.key) |
| 85 | + self.assertEqual(self.consumer.secret, self.secret) |
85 | 86 |
|
86 | 87 | def test_basic(self):
|
87 | 88 | self.assertRaises(ValueError, lambda: oauth.Consumer(None, None))
|
88 | 89 | self.assertRaises(ValueError, lambda: oauth.Consumer('asf', None))
|
89 | 90 | self.assertRaises(ValueError, lambda: oauth.Consumer(None, 'dasf'))
|
90 | 91 |
|
| 92 | + def test_str(self): |
| 93 | + res = dict(urlparse.parse_qsl(str(self.consumer))) |
| 94 | + self.assertTrue('oauth_consumer_key' in res) |
| 95 | + self.assertTrue('oauth_consumer_secret' in res) |
| 96 | + self.assertEquals(res['oauth_consumer_key'], self.consumer.key) |
| 97 | + self.assertEquals(res['oauth_consumer_secret'], self.consumer.secret) |
| 98 | + |
91 | 99 | class TestToken(unittest.TestCase):
|
92 | 100 | def setUp(self):
|
93 | 101 | self.key = 'my-key'
|
@@ -420,7 +428,7 @@ def test_from_request(self):
|
420 | 428 | qs = urllib.urlencode(params)
|
421 | 429 | req = oauth.Request.from_request("GET", url, query_string=qs)
|
422 | 430 |
|
423 |
| - exp = cgi.parse_qs(qs, keep_blank_values=False) |
| 431 | + exp = urlparse.parse_qs(qs, keep_blank_values=False) |
424 | 432 | for k, v in exp.iteritems():
|
425 | 433 | exp[k] = urllib.unquote(v[0])
|
426 | 434 |
|
@@ -669,30 +677,59 @@ class TestClient(unittest.TestCase):
|
669 | 677 | consumer_secret = '0e9e6413a9ef49510a4f68ed02cd'
|
670 | 678 | host = 'http://oauth-sandbox.sevengoslings.net'
|
671 | 679 |
|
672 |
| -# host = "http://term.ie/oauth/example" |
673 |
| -# consumer_key = 'key' |
674 |
| -# consumer_secret = 'secret' |
675 |
| - |
676 | 680 | def setUp(self):
|
677 | 681 | self.consumer = oauth.Consumer(key=self.consumer_key,
|
678 | 682 | secret=self.consumer_secret)
|
679 | 683 |
|
| 684 | + self.body = { |
| 685 | + 'foo': 'bar', |
| 686 | + 'bar': 'foo', |
| 687 | + 'blah': 599999 |
| 688 | + } |
| 689 | + |
680 | 690 | def _uri(self, type):
|
681 | 691 | uri = self.oauth_uris.get(type)
|
682 | 692 | if uri is None:
|
683 | 693 | raise KeyError("%s is not a valid OAuth URI type." % type)
|
684 | 694 |
|
685 | 695 | return "%s%s" % (self.host, uri)
|
686 | 696 |
|
687 |
| - def test_get_access_token(self): |
| 697 | + def test_access_token_get(self): |
| 698 | + """Test getting an access token via GET.""" |
688 | 699 | client = oauth.Client(self.consumer, None)
|
689 | 700 | resp, content = client.request(self._uri('request_token'), "GET")
|
690 | 701 |
|
691 | 702 | self.assertEquals(int(resp['status']), 200)
|
692 | 703 |
|
693 |
| - def test_get_access_token(self): |
| 704 | + def test_access_token_post(self): |
| 705 | + """Test getting an access token via POST.""" |
694 | 706 | client = oauth.Client(self.consumer, None)
|
695 | 707 | resp, content = client.request(self._uri('request_token'), "POST")
|
| 708 | + print resp |
| 709 | + print content |
696 | 710 |
|
697 | 711 | self.assertEquals(int(resp['status']), 200)
|
698 | 712 |
|
| 713 | + res = dict(urlparse.parse_qsl(content)) |
| 714 | + self.assertTrue('oauth_token_key' in res) |
| 715 | + self.assertTrue('oauth_token_secret' in res) |
| 716 | + |
| 717 | + def _two_legged(self, method): |
| 718 | + client = oauth.Client(self.consumer, None) |
| 719 | + |
| 720 | + return client.request(self._uri('two_legged'), method, |
| 721 | + body=urllib.urlencode(self.body)) |
| 722 | + |
| 723 | + def test_two_legged_post(self): |
| 724 | + """A test of a two-legged OAuth POST request.""" |
| 725 | + resp, content = self._two_legged("POST") |
| 726 | + print resp |
| 727 | + print content |
| 728 | + |
| 729 | + self.assertEquals(int(resp['status']), 200) |
| 730 | + |
| 731 | + def test_two_legged_get(self): |
| 732 | + """A test of a two-legged OAuth GET request.""" |
| 733 | + resp, content = self._two_legged("GET") |
| 734 | + self.assertEquals(int(resp['status']), 200) |
| 735 | + |
0 commit comments