From 9303c35d3bd591fbdbd227db3ec7098eb23e461d Mon Sep 17 00:00:00 2001 From: Jim Madge Date: Mon, 7 Aug 2023 16:05:41 +0100 Subject: [PATCH] Expect exact number of columns --- .../administration/users/active_directory_users.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data_safe_haven/administration/users/active_directory_users.py b/data_safe_haven/administration/users/active_directory_users.py index 02b874cd60..1e207e16f8 100644 --- a/data_safe_haven/administration/users/active_directory_users.py +++ b/data_safe_haven/administration/users/active_directory_users.py @@ -93,7 +93,7 @@ def list(self, sre_name: str | None = None) -> Sequence[ResearchUser]: # noqa: expected_columns = 6 for line in output.split("\n"): tokens = line.split(";") - if len(tokens) >= expected_columns: + if (n_tokens := len(tokens)) == expected_columns: users.append( ResearchUser( email_address=tokens[4], @@ -106,8 +106,8 @@ def list(self, sre_name: str | None = None) -> Sequence[ResearchUser]: # noqa: ) else: msg = ( - "Fewer than expected number of fields returned for Active Directory" - f" user: {tokens}" + "Unexpected number of fields returned for Active Directory user.\n" + f"Expected {expected_columns}, got {n_tokens}" ) raise DataSafeHavenActiveDirectoryError(msg) return users