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