Skip to content

Commit b113d39

Browse files
committed
Added tests for get_new_access_tokens
1 parent cb7bf24 commit b113d39

File tree

3 files changed

+53
-4
lines changed

3 files changed

+53
-4
lines changed

dev_requirements.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
coverage==4.5.1
2+
ipdb==0.11
3+
mock==2.0.0
4+
nose==1.3.7

quickbooks/auth.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,16 +255,15 @@ def get_auth_header(self):
255255

256256
return 'Basic ' + auth_header
257257

258-
def get_new_access_tokens(self, refresh_token):
259-
258+
def get_new_access_tokens(self):
260259
headers = {
261260
'Accept': 'application/json',
262261
'content-type': 'application/x-www-form-urlencoded',
263262
'Authorization': self.get_auth_header()
264263
}
265264

266265
payload = {
267-
'refresh_token': refresh_token,
266+
'refresh_token': self.refresh_token,
268267
'grant_type': 'refresh_token'
269268
}
270269

tests/unit/test_auth.py

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from quickbooks.exceptions import QuickbooksException
44

5-
from quickbooks.auth import Oauth1SessionManager
5+
from quickbooks.auth import Oauth1SessionManager, Oauth2SessionManager
66

77
try:
88
from mock import patch
@@ -116,3 +116,49 @@ def test_start_session_no_token_secret(self):
116116
self.failUnlessRaises(QuickbooksException, session_manager.start_session)
117117

118118
self.assertEqual(session_manager.started, False)
119+
120+
@patch('quickbooks.auth.requests.post')
121+
def test_get_new_access_tokens_success(self, request_post):
122+
123+
request_post.return_value = SuccessResponse()
124+
125+
session_manager = Oauth2SessionManager(
126+
sandbox=True,
127+
client_id='CLIENT_ID',
128+
client_secret='CLIENT_SECRET',
129+
access_token='AUTH2_ACCESS_TOKEN',
130+
)
131+
132+
session_manager.get_new_access_tokens()
133+
134+
self.assertEqual(session_manager.x_refresh_token_expires_in, 'expires')
135+
self.assertEqual(session_manager.access_token, 'access')
136+
self.assertEqual(session_manager.token_type, 'type')
137+
self.assertEqual(session_manager.refresh_token, 'refresh')
138+
self.assertEqual(session_manager.expires_in, 'expires')
139+
self.assertEqual(session_manager.id_token, 'id')
140+
141+
@patch('quickbooks.auth.requests.post')
142+
def test_get_new_access_tokens_failure(self, request_post):
143+
request_post.return_value = FailureResponse()
144+
145+
session_manager = Oauth2SessionManager(
146+
sandbox=True,
147+
client_id='CLIENT_ID',
148+
client_secret='CLIENT_SECRET',
149+
access_token='AUTH2_ACCESS_TOKEN',
150+
)
151+
152+
result = session_manager.get_new_access_tokens()
153+
self.assertEqual(result, 'error')
154+
155+
156+
class SuccessResponse(object):
157+
status_code = 200
158+
text = '{"x_refresh_token_expires_in": "expires", "access_token": "access", "token_type": "type", ' \
159+
'"refresh_token": "refresh", "expires_in": "expires", "id_token": "id"}'
160+
161+
162+
class FailureResponse(object):
163+
status_code = 403
164+
text = 'error'

0 commit comments

Comments
 (0)