Skip to content

Commit c786960

Browse files
committed
feat: ensure domain name is included if provided
1 parent 942b705 commit c786960

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

tableauserverclient/server/endpoint/users_endpoint.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ def create_users_csv(users: Iterable[UserItem], identity_pool=None) -> bytes:
255255

256256
writer.writerow(
257257
(
258-
user.name,
258+
f"{user.domain_name}\\{user.name}" if user.domain_name else user.name,
259259
getattr(user, "password", ""),
260260
user.fullname,
261261
license,

test/test_user.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,12 +242,28 @@ def test_get_users_from_file(self):
242242
assert failures == []
243243

244244
def test_bulk_add(self):
245+
def make_user(name: str, site_role: str = "", auth_setting: str = "", domain: str = "", fullname: str = "", email: str = "") -> TSC.UserItem:
246+
user = TSC.UserItem(name, site_role or None)
247+
if auth_setting:
248+
user.auth_setting = auth_setting
249+
if domain:
250+
user._domain_name = domain
251+
if fullname:
252+
user.fullname = fullname
253+
if email:
254+
user.email = email
255+
return user
256+
245257
self.server.version = "3.15"
246258
users = [
247-
TSC.UserItem(
248-
"test",
249-
"Viewer",
250-
)
259+
make_user("Alice", "Viewer"),
260+
make_user("Bob", "Explorer"),
261+
make_user("Charlie", "Creator", "SAML"),
262+
make_user("Dave"),
263+
make_user("Eve", "ServerAdministrator", "OpenID", "example.com", "Eve Example", "[email protected]"),
264+
make_user("Frank", "SiteAdministratorExplorer", "TableauIDWithMFA", email="[email protected]"),
265+
make_user("Grace", "SiteAdministratorCreator", "SAML", "example.com", "Grace Example", "[email protected]"),
266+
make_user("Hank", "Unlicensed")
251267
]
252268
with requests_mock.mock() as m:
253269
m.post(f"{self.server.users.baseurl}/import", text=BULK_ADD_XML.read_text())
@@ -312,8 +328,9 @@ def test_bulk_add(self):
312328
csv_reader = csv.reader(csv_file)
313329
for user, row in zip(users, csv_reader):
314330
site_role = user.site_role or "Unlicensed"
331+
name = f"{user.domain_name}\\{user.name}" if user.domain_name else user.name
315332
csv_user = dict(zip(csv_columns, row))
316-
assert user.name == csv_user["name"]
333+
assert name == csv_user["name"]
317334
assert (user.fullname or "") == csv_user["fullname"]
318335
assert (user.email or "") == csv_user["email"]
319336
assert license_map[site_role] == csv_user["license"]

0 commit comments

Comments
 (0)