def test_activate(self, project): Project.deactivate() assert Project._default is None Project.activate(project) assert Project._default is project assert Project.find() is project
def test_activate(self, project): assert os.getenv("MELTANO_PROJECT") is None with open(".env", "w") as env: env.write(f"MELTANO_PROJECT={project.root}") # `Project.find()` always return the default instance Project.activate(project) assert os.getenv("MELTANO_PROJECT") == str(project.root) assert Project.find() is project
def project(test_dir, project_init_service): project = project_init_service.init() logging.debug(f"Created new project at {project.root}") # empty out the `plugins` with project.meltano_update() as meltano: meltano["plugins"] = {} # not setting the project as default to limit # the side effect in tests Project.activate(project) # cd into the new project root os.chdir(project.root) yield project # clean-up Project._default = None os.chdir(test_dir) shutil.rmtree(project.root) logging.debug(f"Cleaned project at {project.root}")
def deactivate_project(project): Project.deactivate() yield Project.activate(project)
def test_incompatible(self, project): with project.meltano_update() as meltano: meltano["version"] += 1 with pytest.raises(IncompatibleVersionError): Project.activate(project)