1- from mock import patch
1+ from mock import Mock , patch
22
33from django .contrib .auth import get_user_model
44from django .core .urlresolvers import reverse
@@ -26,14 +26,18 @@ def test_invalid_token(self, request_mock, token_mock):
2626 """Test authentication with an invalid token."""
2727
2828 token_mock .return_value = None
29- request_mock .get .return_value = {
29+ get_json_mock = Mock ()
30+ get_json_mock .json .return_value = {
3031 'username' : 'username' ,
3132 'verified_email' :
'[email protected] ' 3233 }
33- request_mock .post .return_value = {
34+ request_mock .get .return_value = get_json_mock
35+ post_json_mock = Mock ()
36+ post_json_mock .json .return_value = {
3437 'id_token' : 'id_token' ,
3538 'accesss_token' : 'access_token'
3639 }
40+ request_mock .post .return_value = post_json_mock
3741 self .assertEqual (self .backend .authenticate (code = 'foo' , state = 'bar' ), None )
3842
3943 def test_get_user (self ):
@@ -55,14 +59,19 @@ def test_successful_authentication_existing_user(self, token_mock, request_mock)
5559 user = User .objects .create_user (username = 'a_username' ,
56605761 token_mock .return_value = True
58- request_mock .get .return_value = {
62+ get_json_mock = Mock ()
63+ get_json_mock .json .return_value = {
5964 'username' : 'a_username' ,
6065 'verified_email' :
'[email protected] ' 6166 }
62- request_mock .post .return_value = {
67+ request_mock .get .return_value = get_json_mock
68+ post_json_mock = Mock ()
69+ post_json_mock .json .return_value = {
6370 'id_token' : 'id_token' ,
6471 'access_token' : 'access_granted'
6572 }
73+ request_mock .post .return_value = post_json_mock
74+
6675 post_data = {
6776 'client_id' : 'example_id' ,
6877 'client_secret' : 'example_secret' ,
@@ -73,7 +82,7 @@ def test_successful_authentication_existing_user(self, token_mock, request_mock)
7382 self .assertEqual (self .backend .authenticate (code = 'foo' , state = 'bar' ), user )
7483 token_mock .assert_called_once_with ('id_token' )
7584 request_mock .post .assert_called_once_with ('https://server.example.com/token' ,
76- data = post_data ,
85+ json = post_data ,
7786 verify = True )
7887 request_mock .get .assert_called_once_with (
7988 'https://server.example.com/user?access_token=access_granted'
@@ -85,14 +94,18 @@ def test_successful_authentication_new_user(self, token_mock, request_mock):
8594 """Test successful authentication and user creation."""
8695
8796 token_mock .return_value = True
88- request_mock .get .return_value = {
97+ get_json_mock = Mock ()
98+ get_json_mock .json .return_value = {
8999 'username' : 'a_username' ,
90100 'verified_email' :
'[email protected] ' 91101 }
92- request_mock .post .return_value = {
102+ request_mock .get .return_value = get_json_mock
103+ post_json_mock = Mock ()
104+ post_json_mock .json .return_value = {
93105 'id_token' : 'id_token' ,
94106 'access_token' : 'access_granted'
95107 }
108+ request_mock .post .return_value = post_json_mock
96109 post_data = {
97110 'client_id' : 'example_id' ,
98111 'client_secret' : 'example_secret' ,
@@ -109,7 +122,7 @@ def test_successful_authentication_new_user(self, token_mock, request_mock):
109122
110123 token_mock .assert_called_once_with ('id_token' )
111124 request_mock .post .assert_called_once_with ('https://server.example.com/token' ,
112- data = post_data ,
125+ json = post_data ,
113126 verify = True )
114127 request_mock .get .assert_called_once_with (
115128 'https://server.example.com/user?access_token=access_granted'
@@ -125,14 +138,18 @@ def test_authenticate_no_code_no_state(self):
125138 def test_jwt_decode_params (self , request_mock , jwt_mock ):
126139 """Test jwt verification signature."""
127140
128- request_mock .get .return_value = {
141+ get_json_mock = Mock ()
142+ get_json_mock .json .return_value = {
129143 'username' : 'username' ,
130144 'verified_email' :
'[email protected] ' 131145 }
132- request_mock .post .return_value = {
146+ request_mock .get .return_value = get_json_mock
147+ post_json_mock = Mock ()
148+ post_json_mock .json .return_value = {
133149 'id_token' : 'token' ,
134150 'access_token' : 'access_token'
135151 }
152+ request_mock .post .return_value = post_json_mock
136153 self .backend .authenticate (code = 'foo' , state = 'bar' )
137154 jwt_mock .decode .assert_called_once_with ('token' , 'example_secret' , verify = True )
138155
@@ -142,13 +159,18 @@ def test_jwt_decode_params(self, request_mock, jwt_mock):
142159 def test_jwt_decode_params_verify_false (self , request_mock , jwt_mock ):
143160 """Test jwt verification signature with verify False"""
144161
145- request_mock .get .return_value = {
162+ get_json_mock = Mock ()
163+ get_json_mock .json .return_value = {
146164 'username' : 'username' ,
147165 'verified_email' :
'[email protected] ' 148166 }
149- request_mock .post .return_value = {
167+ request_mock .get .return_value = get_json_mock
168+ post_json_mock = Mock ()
169+ post_json_mock .json .return_value = {
150170 'id_token' : 'token' ,
151171 'access_token' : 'access_token'
152172 }
173+ request_mock .post .return_value = post_json_mock
174+
153175 self .backend .authenticate (code = 'foo' , state = 'bar' )
154176 jwt_mock .decode .assert_called_once_with ('token' , 'example_secret' , verify = False )
0 commit comments