def test_copy_model(message_ix_cli, tmp_path, tmp_env): r = message_ix_cli("copy-model", str(tmp_path)) assert r.exit_code == 0 # Copying again without --overwrite fails r = message_ix_cli("copy-model", str(tmp_path)) assert r.exit_code == 0 assert "will not overwrite" in r.output # Copying with --overwrite succeeds r = message_ix_cli("copy-model", "--overwrite", str(tmp_path)) assert r.exit_code == 0 assert "Overwriting" in r.output # --set-default causes a configuration change assert config.get("message model dir") == Path(message_ix.__file__).parent / "model" r = message_ix_cli("copy-model", "--set-default", str(tmp_path)) assert r.exit_code == 0 assert config.get("message model dir") == tmp_path # Check if specific directory will be skipped # Create a GAMS runtime directory; these have names like "225a", etc. model_path = Path(message_ix.__file__).parent.joinpath("model", "225c", "test.txt") model_path.parent.mkdir(parents=True, exist_ok=True) model_path.write_text("foo") message_ix_cli("copy-model", str(tmp_path)) # Directory is ignored assert not Path(tmp_path / "225c").exists() # Clean up shutil.rmtree(model_path.parent)
def test_copy_model(message_ix_cli, tmp_path, tmp_env): r = message_ix_cli("copy-model", str(tmp_path)) assert r.exit_code == 0 # Copying again without --overwrite fails r = message_ix_cli("copy-model", str(tmp_path)) assert r.exit_code == 0 assert "will not overwrite" in r.output # Copying with --overwrite succeeds r = message_ix_cli("copy-model", "--overwrite", str(tmp_path)) assert r.exit_code == 0 assert "Overwriting" in r.output # --set-default causes a configuration change assert config.get("message model dir") == Path(message_ix.__file__).parent / "model" r = message_ix_cli("copy-model", "--set-default", str(tmp_path)) assert r.exit_code == 0 assert config.get("message model dir") == tmp_path
def test_copy_model(message_ix_cli, tmp_path, tmp_env): r = message_ix_cli('copy-model', str(tmp_path)) assert r.exit_code == 0 # Copying again without --overwrite fails r = message_ix_cli('copy-model', str(tmp_path)) assert r.exit_code == 0 assert 'will not overwrite' in r.output # Copying with --overwrite succeeds r = message_ix_cli('copy-model', '--overwrite', str(tmp_path)) assert r.exit_code == 0 assert 'Overwriting' in r.output # --set-default causes a configuration change assert config.get('message model dir') == \ Path(message_ix.__file__).parent / 'model' r = message_ix_cli('copy-model', '--set-default', str(tmp_path)) assert r.exit_code == 0 assert config.get('message model dir') == tmp_path