Skip to content

Commit 997f9e6

Browse files
authored
Reassign content on user removal (#1036)
1 parent 40d767c commit 997f9e6

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

tableauserverclient/server/endpoint/users_endpoint.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import copy
22
import logging
3-
from typing import List, Tuple
3+
from typing import List, Optional, Tuple
44

55
from .endpoint import QuerysetEndpoint, api
66
from .exceptions import MissingRequiredFieldError
@@ -64,11 +64,13 @@ def update(self, user_item: UserItem, password: str = None) -> UserItem:
6464

6565
# Delete 1 user by id
6666
@api(version="2.0")
67-
def remove(self, user_id: str) -> None:
67+
def remove(self, user_id: str, map_assets_to: Optional[str] = None) -> None:
6868
if not user_id:
6969
error = "User ID undefined."
7070
raise ValueError(error)
7171
url = "{0}/{1}".format(self.baseurl, user_id)
72+
if map_assets_to is not None:
73+
url += f"?mapAssetsTo={map_assets_to}"
7274
self.delete_request(url)
7375
logger.info("Removed single user (ID: {0})".format(user_id))
7476

test/test_user.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,16 @@ def test_remove(self) -> None:
111111
m.delete(self.baseurl + "/dd2239f6-ddf1-4107-981a-4cf94e415794", status_code=204)
112112
self.server.users.remove("dd2239f6-ddf1-4107-981a-4cf94e415794")
113113

114+
def test_remove_with_replacement(self) -> None:
115+
with requests_mock.mock() as m:
116+
m.delete(
117+
self.baseurl
118+
+ "/dd2239f6-ddf1-4107-981a-4cf94e415794"
119+
+ "?mapAssetsTo=4cc4c17f-898a-4de4-abed-a1681c673ced",
120+
status_code=204,
121+
)
122+
self.server.users.remove("dd2239f6-ddf1-4107-981a-4cf94e415794", "4cc4c17f-898a-4de4-abed-a1681c673ced")
123+
114124
def test_remove_missing_id(self) -> None:
115125
self.assertRaises(ValueError, self.server.users.remove, "")
116126

0 commit comments

Comments
 (0)