From e325f735c92c2c5c672e6f09549dcbe457eac749 Mon Sep 17 00:00:00 2001 From: ChristineTChen Date: Fri, 28 Aug 2020 14:34:31 -0400 Subject: [PATCH] Add test for version metadata --- snowflake/datadog_checks/snowflake/check.py | 8 ++++---- snowflake/tests/test_snowflake.py | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/snowflake/datadog_checks/snowflake/check.py b/snowflake/datadog_checks/snowflake/check.py index 55397feaf6fc3..3a165438d0f1a 100644 --- a/snowflake/datadog_checks/snowflake/check.py +++ b/snowflake/datadog_checks/snowflake/check.py @@ -52,7 +52,7 @@ def __init__(self, *args, **kwargs): if not self.metric_queries: raise ConfigurationError('No valid metric_groups configured, please list at least one.') - self._query_manager = QueryManager(self, self.execute_query_raw, queries=self.metric_queries, tags=self._tags,) + self._query_manager = QueryManager(self, self.execute_query_raw, queries=self.metric_queries, tags=self._tags) self.check_initializations.append(self._query_manager.compile_queries) def check(self, _): @@ -108,6 +108,6 @@ def _collect_version(self): version = raw_version[0][0] except Exception as e: self.log.error("Error collecting version for Snowflake: %s", e) - - if version: - self.set_metadata('version', version) + else: + if version: + self.set_metadata('version', version) diff --git a/snowflake/tests/test_snowflake.py b/snowflake/tests/test_snowflake.py index 44bd8b19a3bf7..2194943e83297 100644 --- a/snowflake/tests/test_snowflake.py +++ b/snowflake/tests/test_snowflake.py @@ -171,3 +171,22 @@ def test_query_metrics(dd_run_check, aggregator, instance): aggregator.assert_metric('snowflake.query.bytes_scanned', value=0, count=1, tags=expected_tags) aggregator.assert_metric('snowflake.query.bytes_written', value=0, count=1, tags=expected_tags) aggregator.assert_metric('snowflake.query.bytes_deleted', value=0, count=1, tags=expected_tags) + + +def test_version_metadata(dd_run_check, instance, datadog_agent): + expected_version = [('4.30.2',)] + version_metadata = { + 'version.major': '4', + 'version.minor': '30', + 'version.patch': '2', + 'version.raw': '4.30.2', + 'version.scheme': 'semver', + } + with mock.patch('datadog_checks.snowflake.SnowflakeCheck.execute_query_raw', return_value=expected_version): + check = SnowflakeCheck(CHECK_NAME, {}, [instance]) + check.check_id = 'test:123' + check._conn = mock.MagicMock() + check._query_manager.queries = [] + dd_run_check(check) + + datadog_agent.assert_metadata('test:123', version_metadata)