Пример #1
0
def test_ensure_strategy(caplog):
    """test ensure_strategy."""
    obj = AwesomeVersion("1.0.0", AwesomeVersionStrategy.SEMVER)
    assert obj.strategy == AwesomeVersionStrategy.SEMVER

    obj = AwesomeVersion(
        "1.0.0",
        [AwesomeVersionStrategy.SEMVER, AwesomeVersionStrategy.SPECIALCONTAINER],
    )
    assert obj.strategy in [
        AwesomeVersionStrategy.SEMVER,
        AwesomeVersionStrategy.SPECIALCONTAINER,
    ]

    with pytest.raises(AwesomeVersionStrategyException):
        AwesomeVersion("1", AwesomeVersionStrategy.SEMVER)

    with pytest.raises(AwesomeVersionStrategyException):
        AwesomeVersion(
            "1",
            [AwesomeVersionStrategy.SEMVER, AwesomeVersionStrategy.SPECIALCONTAINER],
        )

    obj = AwesomeVersion.ensure_strategy("1.0.0", AwesomeVersionStrategy.SEMVER)
    assert (
        "Using AwesomeVersion.ensure_strategy(version, strategy) is deprecated"
        in caplog.text
    )
Пример #2
0
def _validate_version(version: str) -> dict[str, str]:
    """Validate a version string from the user."""
    version_okay = False
    with suppress(AwesomeVersionStrategyException):
        version_okay = bool(
            AwesomeVersion.ensure_strategy(
                version,
                [AwesomeVersionStrategy.SIMPLEVER, AwesomeVersionStrategy.SEMVER],
            )
        )

    if version_okay:
        return {}
    return {CONF_VERSION: "invalid_version"}