From a6c90397c9da0328c411a129d8ea25e7a25fd0c9 Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Tue, 23 Jan 2024 15:48:38 +0100 Subject: [PATCH] NAT-410: added method to validate tt number --- gso/utils/helpers.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gso/utils/helpers.py b/gso/utils/helpers.py index 2476cd8e..e9025a95 100644 --- a/gso/utils/helpers.py +++ b/gso/utils/helpers.py @@ -270,3 +270,24 @@ def validate_interface_name_list(interface_name_list: list, vendor: str) -> list ) raise ValueError(error_msg) return interface_name_list + + +def validate_tt_number(tt_number: str) -> str: + """Validate a string to match a specific pattern. + + This method checks if the input string starts with 'TT#' and is followed by exactly 16 digits. + + :param str tt_number: The TT number as string to validate + + :return str: The tt number string, if tt number match was successful, otherwise it will throw a ValueError + exception. + """ + pattern = r"^TT#\d{16}$" + if not bool(re.match(pattern, tt_number)): + err_msg = ( + f"The given TT number: {tt_number} is not valid. " + f" A valid TT number starts with 'TT#' followed by 16 digits." + ) + raise ValueError(err_msg) + + return tt_number -- GitLab