"""pytest fixtures""" import os from pytest import fixture @fixture def preserve_config(request): """Fixture to save and restore config around tests""" # Import TLJH only when needed. This lets us run tests in places # where TLJH is not installed - particularly, the 'distro check' test. from tljh.config import CONFIG_FILE, reload_component if os.path.exists(CONFIG_FILE): with open(CONFIG_FILE) as f: save_config = f.read() else: save_config = None try: yield finally: if save_config: with open(CONFIG_FILE, "w") as f: f.write(save_config) elif os.path.exists(CONFIG_FILE): os.remove(CONFIG_FILE) reload_component("proxy") reload_component("hub")