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 )
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"}