blob: 720b4a4c2c583748a678b1b507a489d6eadd5908 [file] [log] [blame] [edit]
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Test the telemetry config."""
import configparser
from chromite.lib import cros_test_lib
from chromite.utils.telemetry import config
class ConfigTest(cros_test_lib.TempDirTestCase):
"""Test Config class."""
def test_create_missing_config_file(self):
"""Test Config to create missing config file."""
path = self.tempdir / "telemetry.cfg"
cfg = config.Config(path)
self.assertFileContents(path, "[trace]\nenabled = False\n\n")
self.assertEqual(cfg.trace_config.enabled, False)
def test_load_config_file(self):
"""Test Config to load config file."""
path = "telemetry.cfg"
self.WriteTempFile(path, "[trace]\nenabled = True\n\n")
path = self.tempdir / path
cfg = config.Config(path)
self.assertEqual(cfg.trace_config.enabled, True)
def test_default_trace_config():
"""Test TraceConfig to load default values."""
cfg = configparser.ConfigParser()
cfg["a"] = {}
trace_config = config.TraceConfig(cfg["a"])
assert not trace_config.enabled
def test_trace_config():
"""Test TraceConfig to instantiate from passed dict."""
cfg = configparser.ConfigParser()
cfg[config.TRACE_KEY] = {config.ENABLED_KEY: True}
trace_config = config.TraceConfig(cfg[config.TRACE_KEY])
assert trace_config.enabled