Beispiel #1
0
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",
        )
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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)