def test_get_hash(self, config: ConfigHelper): opts = config.get_options() expected_hash = hashlib.sha256() for opt, val in opts.items(): expected_hash.update(opt.encode()) expected_hash.update(val.encode()) cfg_hash = config.get_hash().hexdigest() assert cfg_hash == expected_hash.hexdigest()
def __init__(self, config: ConfigHelper, cmd_helper: CommandHelper, name: Optional[str] = None, prefix: str = "", cfg_hash: Optional[str] = None) -> None: if name is None: name = config.get_name().split()[-1] self.name = name if prefix: prefix = f"{prefix} {self.name}: " self.prefix = prefix self.server = config.get_server() self.cmd_helper = cmd_helper self.refresh_interval = cmd_helper.get_refresh_interval() refresh_interval = config.getint('refresh_interval', None) if refresh_interval is not None: self.refresh_interval = refresh_interval * 60 * 60 if cfg_hash is None: cfg_hash = config.get_hash().hexdigest() self.cfg_hash = cfg_hash