Skip to content

Commit d759474

Browse files
committed
feat: ensure domain name is included if provided
1 parent 37eb094 commit d759474

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
@@ -256,7 +256,7 @@ def create_users_csv(users: Iterable[UserItem], identity_pool=None) -> bytes:
256256

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

test/test_user.py

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

242242
def test_bulk_add(self):
243+
def make_user(name: str, site_role: str = "", auth_setting: str = "", domain: str = "", fullname: str = "", email: str = "") -> TSC.UserItem:
244+
user = TSC.UserItem(name, site_role or None)
245+
if auth_setting:
246+
user.auth_setting = auth_setting
247+
if domain:
248+
user._domain_name = domain
249+
if fullname:
250+
user.fullname = fullname
251+
if email:
252+
user.email = email
253+
return user
254+
243255
self.server.version = "3.15"
244256
users = [
245-
TSC.UserItem(
246-
"test",
247-
"Viewer",
248-
)
257+
make_user("Alice", "Viewer"),
258+
make_user("Bob", "Explorer"),
259+
make_user("Charlie", "Creator", "SAML"),
260+
make_user("Dave"),
261+
make_user("Eve", "ServerAdministrator", "OpenID", "example.com", "Eve Example", "Eve@example.com"),
262+
make_user("Frank", "SiteAdministratorExplorer", "TableauIDWithMFA", email="Frank@example.com"),
263+
make_user("Grace", "SiteAdministratorCreator", "SAML", "example.com", "Grace Example", "gex@example.com"),
264+
make_user("Hank", "Unlicensed")
249265
]
250266
with requests_mock.mock() as m:
251267
m.post(f"{self.server.users.baseurl}/import", text=BULK_ADD_XML.read_text())
@@ -310,8 +326,9 @@ def test_bulk_add(self):
310326
csv_reader = csv.reader(csv_file)
311327
for user, row in zip(users, csv_reader):
312328
site_role = user.site_role or "Unlicensed"
329+
name = f"{user.domain_name}\\{user.name}" if user.domain_name else user.name
313330
csv_user = dict(zip(csv_columns, row))
314-
assert user.name == csv_user["name"]
331+
assert name == csv_user["name"]
315332
assert (user.fullname or "") == csv_user["fullname"]
316333
assert (user.email or "") == csv_user["email"]
317334
assert license_map[site_role] == csv_user["license"]

0 commit comments

Comments
 (0)