From 7ae6948d2cef8da3079a8c695748187646a6d9e3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 2 Aug 2023 12:24:17 +0530 Subject: [PATCH] Address review comments --- .../module/sql/query/test_sql_mssql.py | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/x-pack/metricbeat/module/sql/query/test_sql_mssql.py b/x-pack/metricbeat/module/sql/query/test_sql_mssql.py index 257b23df766..49160365ff9 100644 --- a/x-pack/metricbeat/module/sql/query/test_sql_mssql.py +++ b/x-pack/metricbeat/module/sql/query/test_sql_mssql.py @@ -12,45 +12,29 @@ class Test(XPackTest): def test_query_without_fetch_from_all_databases(self): """ SQL MSSQL custom query with fetch_from_all_databases=false - """ - self.render_config_template(modules=[{ - "name": "sql", - "metricsets": ["query"], - "hosts": ['sqlserver://{}:{}@{}'.format(self.get_username(), self.get_password(), self.compose_host())], - "period": "5s", - "additional_content": """ - driver: mssql - fetch_from_all_databases: false - sql_query: SELECT DB_NAME() AS 'database_name'; - sql_response_format: table""" - }]) - - proc = self.start_beat() - self.wait_until(lambda: self.output_lines() > 0) - proc.check_kill_and_wait() - self.assert_no_logged_warnings() - output = self.read_output_json() - self.assertEqual(len(output), 1) - - for evt in output: - self.assert_fields_are_documented(evt) - self.assertIn("sql", evt.keys(), evt) - self.assertIn("query", evt["sql"].keys(), evt) + 1 document will be received from the default selected database: 'master'. + """ + self.run_query_test(fetch_from_all_databases=False, expected_output_count=1) @unittest.skipUnless(metricbeat.INTEGRATION_TESTS, "integration test") def test_query_with_fetch_from_all_databases(self): """ SQL MSSQL custom query with fetch_from_all_databases=true + + 4 documents will be received because 4 databases are present by default in MSSQL and 1 document per database will received. """ + self.run_query_test(fetch_from_all_databases=True, expected_output_count=4) + + def run_query_test(self, fetch_from_all_databases: bool, expected_output_count: int) -> list: self.render_config_template(modules=[{ "name": "sql", "metricsets": ["query"], "hosts": ['sqlserver://{}:{}@{}'.format(self.get_username(), self.get_password(), self.compose_host())], "period": "5s", - "additional_content": """ + "additional_content": f""" driver: mssql - fetch_from_all_databases: true + fetch_from_all_databases: {str(fetch_from_all_databases).lower()} sql_query: SELECT DB_NAME() AS 'database_name'; sql_response_format: table""" }]) @@ -61,7 +45,7 @@ def test_query_with_fetch_from_all_databases(self): self.assert_no_logged_warnings() output = self.read_output_json() - self.assertEqual(len(output), 4) + self.assertEqual(len(output), expected_output_count) for evt in output: self.assert_fields_are_documented(evt)