class FakeSdp: def __init__(self, /, get_value=None, extend_exists=None, get_alt_value=None, populate=None): self.get_value = get_value self.extend_exists = extend_exists self.populate_function = populate self.get_alt_value = get_alt_value def get(self, cache_name, key): return self.get_value(cache_name, key) def exists(self, cache_name, key): return self.extend_exists(cache_name, key) def alt_get(self, cache_name, key): return self.get_alt_value(cache_name, key) def populate(self): return self.populate_function() if callable(self.populate_function) else self.populate_function