1
0
Fork 0
commitizen/tests/test_bump_hooks.py
Daniel Baumann 167a3f8553
Adding upstream version 4.6.0+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-04-21 11:40:48 +02:00

42 lines
1.1 KiB
Python

import os
from unittest.mock import call
import pytest
from pytest_mock import MockFixture
from commitizen import cmd, hooks
from commitizen.exceptions import RunHookError
def test_run(mocker: MockFixture):
bump_hooks = ["pre_bump_hook", "pre_bump_hook_1"]
cmd_run_mock = mocker.Mock()
cmd_run_mock.return_value.return_code = 0
mocker.patch.object(cmd, "run", cmd_run_mock)
hooks.run(bump_hooks)
cmd_run_mock.assert_has_calls(
[
call("pre_bump_hook", env=dict(os.environ)),
call("pre_bump_hook_1", env=dict(os.environ)),
]
)
def test_run_error(mocker: MockFixture):
bump_hooks = ["pre_bump_hook", "pre_bump_hook_1"]
cmd_run_mock = mocker.Mock()
cmd_run_mock.return_value.return_code = 1
mocker.patch.object(cmd, "run", cmd_run_mock)
with pytest.raises(RunHookError):
hooks.run(bump_hooks)
def test_format_env():
result = hooks._format_env("TEST_", {"foo": "bar", "bar": "baz"})
assert "TEST_FOO" in result and result["TEST_FOO"] == "bar"
assert "TEST_BAR" in result and result["TEST_BAR"] == "baz"