30
30
import urllib
31
31
import urlparse
32
32
from types import ListType
33
- import mox
33
+ import mock
34
34
import httplib2
35
35
36
36
# Fix for python2.5 compatibility
@@ -796,8 +796,7 @@ def test_invalid_version(self):
796
796
server = oauth .Server ()
797
797
server .add_signature_method (oauth .SignatureMethod_HMAC_SHA1 ())
798
798
799
- self .assertRaises (oauth .Error , server .verify_request , request ,
800
- consumer , token )
799
+ self .assertRaises (oauth .Error , server .verify_request , request , consumer , token )
801
800
802
801
def test_invalid_signature_method (self ):
803
802
url = "http://sp.example.com/"
@@ -885,7 +884,6 @@ class TestClient(unittest.TestCase):
885
884
host = 'http://oauth-sandbox.sevengoslings.net'
886
885
887
886
def setUp (self ):
888
- self .mox = mox .Mox ()
889
887
self .consumer = oauth .Consumer (key = self .consumer_key ,
890
888
secret = self .consumer_secret )
891
889
@@ -896,9 +894,6 @@ def setUp(self):
896
894
'blah' : 599999
897
895
}
898
896
899
- def tearDown (self ):
900
- self .mox .UnsetStubs ()
901
-
902
897
def _uri (self , type ):
903
898
uri = self .oauth_uris .get (type )
904
899
if uri is None :
@@ -973,8 +968,8 @@ def test_two_legged_get(self):
973
968
resp , content = self ._two_legged ("GET" )
974
969
self .assertEquals (int (resp ['status' ]), 200 )
975
970
976
- def test_multipart_post_does_not_alter_body ( self ):
977
- self . mox . StubOutWithMock ( httplib2 . Http , 'request' )
971
+ @ mock . patch ( 'httplib2.Http.request' )
972
+ def test_multipart_post_does_not_alter_body ( self , mockHttpRequest ):
978
973
random_result = random .randint (1 ,100 )
979
974
980
975
data = {
@@ -985,49 +980,53 @@ def test_multipart_post_does_not_alter_body(self):
985
980
client = oauth .Client (self .consumer , None )
986
981
uri = self ._uri ('two_legged' )
987
982
988
- expected_kwargs = {
989
- 'method' :'POST' ,
990
- 'body' :body ,
991
- 'redirections' :httplib2 .DEFAULT_MAX_REDIRECTS ,
992
- 'connection_type' :None ,
993
- 'headers' :mox .IsA (dict ),
994
- }
995
- httplib2 .Http .request (client , uri , ** expected_kwargs ).AndReturn (random_result )
983
+ def mockrequest (cl , ur , ** kw ):
984
+ self .failUnless (cl is client )
985
+ self .failUnless (ur is uri )
986
+ self .failUnlessEqual (frozenset (kw .keys ()), frozenset (['method' , 'body' , 'redirections' , 'connection_type' , 'headers' ]))
987
+ self .failUnlessEqual (kw ['body' ], body )
988
+ self .failUnlessEqual (kw ['connection_type' ], None )
989
+ self .failUnlessEqual (kw ['method' ], 'POST' )
990
+ self .failUnlessEqual (kw ['redirections' ], httplib2 .DEFAULT_MAX_REDIRECTS )
991
+ self .failUnless (isinstance (kw ['headers' ], dict ))
992
+
993
+ return random_result
994
+
995
+ mockHttpRequest .side_effect = mockrequest
996
996
997
- self .mox .ReplayAll ()
998
997
result = client .request (uri , 'POST' , headers = {'Content-Type' :content_type }, body = body )
999
998
self .assertEqual (result , random_result )
1000
- self .mox .VerifyAll ()
1001
999
1002
- def test_url_with_query_string ( self ):
1003
- self . mox . StubOutWithMock ( httplib2 . Http , 'request' )
1000
+ @ mock . patch ( 'httplib2.Http.request' )
1001
+ def test_url_with_query_string ( self , mockHttpRequest ):
1004
1002
uri = 'http://example.com/foo/bar/?show=thundercats&character=snarf'
1005
1003
client = oauth .Client (self .consumer , None )
1006
- expected_kwargs = {
1007
- 'method' : 'GET' ,
1008
- 'body' : None ,
1009
- 'redirections' : httplib2 .DEFAULT_MAX_REDIRECTS ,
1010
- 'connection_type' : None ,
1011
- 'headers' : mox .IsA (dict ),
1012
- }
1013
- def oauth_verifier (url ):
1004
+ random_result = random .randint (1 ,100 )
1005
+
1006
+ def mockrequest (cl , ur , ** kw ):
1007
+ self .failUnless (cl is client )
1008
+ self .failUnless (ur is uri )
1009
+ self .failUnlessEqual (frozenset (kw .keys ()), frozenset (['method' , 'body' , 'redirections' , 'connection_type' , 'headers' ]))
1010
+ self .failUnlessEqual (kw ['body' ], None )
1011
+ self .failUnlessEqual (kw ['connection_type' ], None )
1012
+ self .failUnlessEqual (kw ['method' ], 'GET' )
1013
+ self .failUnlessEqual (kw ['redirections' ], httplib2 .DEFAULT_MAX_REDIRECTS )
1014
+ self .failUnless (isinstance (kw ['headers' ], dict ))
1015
+
1014
1016
req = oauth .Request .from_consumer_and_token (self .consumer , None ,
1015
1017
http_method = 'GET' , http_url = uri , parameters = {})
1016
1018
req .sign_request (oauth .SignatureMethod_HMAC_SHA1 (), self .consumer , None )
1017
1019
expected = parse_qsl (urlparse .urlparse (req .to_url ()).query )
1018
1020
actual = parse_qsl (urlparse .urlparse (url ).query )
1019
- if len (expected ) != len (actual ):
1020
- return False
1021
+ self .failUnlessEqual (len (expected ), len (actual ))
1021
1022
actual = dict (actual )
1022
1023
for key , value in expected :
1023
1024
if key not in ('oauth_signature' , 'oauth_nonce' , 'oauth_timestamp' ):
1024
- if actual [key ] != value :
1025
- return False
1026
- return True
1027
- httplib2 .Http .request (client , mox .Func (oauth_verifier ), ** expected_kwargs )
1028
- self .mox .ReplayAll ()
1025
+ self .failUnlessEqual (actual [key ], value )
1026
+
1027
+ return random_result
1028
+
1029
1029
client .request (uri , 'GET' )
1030
- self .mox .VerifyAll ()
1031
1030
1032
1031
if __name__ == "__main__" :
1033
1032
unittest .main ()
0 commit comments