Skip to content

Commit cdbefd9

Browse files
author
rob
committed
fix regression for as_user() and as_admin()
1 parent 556b6b3 commit cdbefd9

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

dropbox/dropbox.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,4 +596,12 @@ def _get_dropbox_client_with_select_header(self, select_header_name, team_member
596596

597597
new_headers = self._headers.copy() if self._headers else {}
598598
new_headers[select_header_name] = team_member_id
599-
return self.clone(headers=new_headers)
599+
return Dropbox(
600+
self._oauth2_access_token,
601+
max_retries_on_error=self._max_retries_on_error,
602+
max_retries_on_rate_limit=self._max_retries_on_rate_limit,
603+
timeout=self._timeout,
604+
user_agent=self._raw_user_agent,
605+
session=self._session,
606+
headers=new_headers,
607+
)

test/test_dropbox.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,28 @@ def test_team(self, dbxt):
144144
team_member_id = r.members[0].profile.team_member_id
145145
dbxt.as_user(team_member_id).files_list_folder('')
146146

147+
@dbx_team_from_env
148+
def test_as_user(self, dbxt):
149+
dbx_as_user = dbxt.as_user('1')
150+
self.assertIsInstance(dbx_as_user, Dropbox)
151+
152+
@dbx_team_from_env
153+
def test_as_admin(self, dbxt):
154+
dbx_as_admin = dbxt.as_admin('1')
155+
self.assertIsInstance(dbx_as_admin, Dropbox)
156+
157+
@dbx_from_env
158+
def test_clone_when_user_linked(self, dbx):
159+
new_dbx = dbx.clone()
160+
self.assertIsNot(dbx, new_dbx)
161+
self.assertIsInstance(new_dbx, dbx.__class__)
162+
163+
@dbx_team_from_env
164+
def test_clone_when_team_linked(self, dbxt):
165+
new_dbxt = dbxt.clone()
166+
self.assertIsNot(dbxt, new_dbxt)
167+
self.assertIsInstance(new_dbxt, dbxt.__class__)
168+
147169
@dbx_from_env
148170
def test_with_path_root_constructor(self, dbx):
149171
# Verify valid mode types

0 commit comments

Comments
 (0)