1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
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"
|