From 4a2ca6b2bfeb370caac026da337450f0982bb2c6 Mon Sep 17 00:00:00 2001 From: Nenad Noveljic <18366081+nenadnoveljic@users.noreply.github.com> Date: Mon, 23 Sep 2024 14:24:21 +0200 Subject: [PATCH] fixed test_deadlock_calls_obfuscator --- sqlserver/tests/test_deadlocks.py | 78 +++++++++++++++++++++++++++++++ sqlserver/tests/test_unit.py | 1 - 2 files changed, 78 insertions(+), 1 deletion(-) diff --git a/sqlserver/tests/test_deadlocks.py b/sqlserver/tests/test_deadlocks.py index f7a0da9a63eff..448f2bac7ab59 100644 --- a/sqlserver/tests/test_deadlocks.py +++ b/sqlserver/tests/test_deadlocks.py @@ -9,6 +9,7 @@ import xml.etree.ElementTree as ET import os import pytest +import re from copy import copy, deepcopy from datadog_checks.sqlserver import SQLServer @@ -223,3 +224,80 @@ def test_deadlock_xml_bad_format(deadlocks_collection_instance): assert result == "process-list element not found. The deadlock XML is in an unexpected format." else: assert False, "Should have raised an exception for bad XML format" + + +def test_deadlock_calls_obfuscator(deadlocks_collection_instance): + test_xml = """ + + + + + + + + + + + + \nunknown + \nunknown + + \nUPDATE [datadog_test-1].dbo.deadlocks SET b = b + 100 WHERE a = 2; + + + + \nunknown + \nunknown + + \nUPDATE [datadog_test-1].dbo.deadlocks SET b = b + 20 WHERE a = 1; + + + + + + + """ + + expected_xml_string = ( + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + "obfuscated " + "obfuscated " + " " + "obfuscated " + " " + " " + " " + "obfuscated " + "obfuscated " + " " + "obfuscated " + " " + " " + " " + " " + " " + "" + ) + + with patch( + 'datadog_checks.sqlserver.deadlocks.Deadlocks.obfuscate_no_except_wrapper', return_value="obfuscated" + ): + check = SQLServer(CHECK_NAME, {}, [deadlocks_collection_instance]) + deadlocks_obj = check.deadlocks + root = ET.fromstring(test_xml) + deadlocks_obj._obfuscate_xml(root) + result_string = ET.tostring(root, encoding='unicode') + result_string = result_string.replace('\t', '').replace('\n', '') + result_string = re.sub(r'\s{2,}', ' ', result_string) + assert expected_xml_string == result_string + diff --git a/sqlserver/tests/test_unit.py b/sqlserver/tests/test_unit.py index 813f8a739c293..bca846b6a434c 100644 --- a/sqlserver/tests/test_unit.py +++ b/sqlserver/tests/test_unit.py @@ -872,4 +872,3 @@ def test_exception_handling_by_do_for_dbs(instance_docker): 'datadog_checks.sqlserver.utils.is_azure_sql_database', return_value={} ): schemas._fetch_for_databases() -