def test_set_default_driver_conf(): # Docker Agent with ODBCSYSINI env var # The only case where we set ODBCSYSINI to the the default odbcinst.ini folder with EnvVars({'DOCKER_DD_AGENT': 'true'}, ignore=['ODBCSYSINI']): set_default_driver_conf() assert os.environ['ODBCSYSINI'].endswith(os.path.join('data', 'driver_config')) # `set_default_driver_conf` have no effect on the cases below with EnvVars({'ODBCSYSINI': 'ABC', 'DOCKER_DD_AGENT': 'true'}): set_default_driver_conf() assert os.environ['ODBCSYSINI'] == 'ABC' with EnvVars({}, ignore=['ODBCSYSINI']): set_default_driver_conf() assert 'ODBCSYSINI' not in os.environ with EnvVars({'ODBCSYSINI': 'ABC'}): set_default_driver_conf() assert os.environ['ODBCSYSINI'] == 'ABC'
from datadog_checks.sqlserver.utils import set_default_driver_conf try: import adodbapi except ImportError: adodbapi = None try: import pyodbc except ImportError: pyodbc = None if adodbapi is None and pyodbc is None: raise ImportError('adodbapi or pyodbc must be installed to use this check.') set_default_driver_conf() class SQLServer(AgentCheck): __NAMESPACE__ = 'sqlserver' def __init__(self, name, init_config, instances): super(SQLServer, self).__init__(name, init_config, instances) self._resolved_hostname = None self._agent_hostname = None self.connection = None self.failed_connections = {} self.instance_metrics = [] self.instance_per_type_metrics = defaultdict(set) self.do_check = True