예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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