From 4d6d1c8619d3e72dc3b87e1e05b4b318d849526b Mon Sep 17 00:00:00 2001
From: Florian Spreckelsen <f.spreckelsen@indiscale.com>
Date: Thu, 12 Dec 2024 11:40:58 +0100
Subject: [PATCH] TST: extend tests for
 https://gitlab.com/linkahead/linkahead-pylib/-/issues/87

---
 unittests/test_error_handling.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/unittests/test_error_handling.py b/unittests/test_error_handling.py
index c732534..64f743c 100644
--- a/unittests/test_error_handling.py
+++ b/unittests/test_error_handling.py
@@ -319,5 +319,22 @@ def test_container_with_faulty_elements():
 
 def test_incomplete_server_error_response():
     """The reason behind https://gitlab.com/linkahead/linkahead-pylib/-/issues/87."""
+    # Case 1: Response is no XML at all
     err = HTTPServerError("Bla")
     assert str(err) == "Bla"
+
+    # Case 2: Response is an incomplete XML, e.g. due to very unlucky timeout
+    err = HTTPServerError("<incomplete>XML</inc")
+    assert str(err) == "<incomplete>XML</inc"
+
+    # Case 3: Response is complete XML but doesn't have response and or error information
+    err = HTTPServerError("<complete>XML</complete>")
+    assert str(err) == "<complete>XML</complete>"
+
+    # Case 4: Response is an XML response but the error is lacking a description
+    err = HTTPServerError("<Response><Error>complete error</Error></Response>")
+    assert str(err) == "complete error"
+
+    # Case 5: Healthy error Response
+    err = HTTPServerError("<Response><Error description='Error'>complete error</Error></Response>")
+    assert str(err) == "Error\n\ncomplete error"
-- 
GitLab