def test_next_version_unsupported_strategy(): with pytest.raises(ValueError): next_version( strategy_settings=StrategySettings(target_strategy="dummy", current_version="1.0.0", version_format=""), part="minor", force_value="2", )
def test_next_semantic_version(part, force_value, expected_next_version): actual_next_version = next_version( strategy_settings=StrategySettings( target_strategy=SEMVER_STRATEGY, current_version="1.2.3-alpha+exp.sha.1234f56", version_format=None, ), part=part, force_value=force_value, ) assert expected_next_version == actual_next_version
def test_next_version_semver(): expected_next_version = "2.0.0" actual_next_version = next_version( strategy_settings=StrategySettings( target_strategy=SEMVER_STRATEGY, current_version="1.2.3-alpha+exp.sha.1234f56", version_format=None, ), part="major", force_value=None, ) assert expected_next_version == actual_next_version
def test_next_calendar_version(part, force_value, expected_next_version): today = date(2020, 1, 1) with freeze_time(today): actual_new_version = next_version( strategy_settings=StrategySettings( target_strategy=CALVER_STRATEGY, current_version="201910.1.10.100.abc", version_format="YYYY0M.MAJOR.MINOR.MICRO.MODIFIER", ), part=part, force_value=force_value, ) assert expected_next_version == actual_new_version
def test_next_version_calver(): expected_next_version = "2019.11.03" with freeze_time(date(2019, 11, 3)): actual_next_version = next_version( strategy_settings=StrategySettings( target_strategy=CALVER_STRATEGY, current_version="2019.11.02", version_format="YYYY.0M.0D", ), part="date", force_value=None, ) assert expected_next_version == actual_next_version
def run(config, logger, run_settings): configuration = Configuration.parse(config) executor = BumpIt(configuration, run_settings.dry_run, logger) part = run_settings.target_part or configuration.strategy.part bumped_version = next_version( strategy_settings=StrategySettings( target_strategy=configuration.strategy.name, version_format=configuration.strategy.version_format, current_version=configuration.current_version, ), part=part, force_value=run_settings.force_value, ) executor.execute(bumped_version)