Skip to content

Commit 45ec6fb

Browse files
committed
Changed _trigger_release
1 parent 86173f4 commit 45ec6fb

File tree

2 files changed

+20
-26
lines changed

2 files changed

+20
-26
lines changed

exasol/toolbox/nox/_release.py

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import nox
99
from nox import Session
1010

11-
import noxconfig
1211
from exasol.toolbox.nox._shared import (
1312
Mode,
1413
_version,
@@ -20,6 +19,7 @@
2019
ReleaseTypes,
2120
Version,
2221
)
22+
from noxconfig import PROJECT_CONFIG
2323

2424

2525
def _create_parser() -> argparse.ArgumentParser:
@@ -72,7 +72,7 @@ class ReleaseError(Exception):
7272
"""Error during trigger release"""
7373

7474

75-
def _trigger_release() -> Version:
75+
def _trigger_release(project_config) -> Version:
7676
def run(*args: str):
7777
try:
7878
return subprocess.run(
@@ -103,8 +103,8 @@ def run(*args: str):
103103
run("git", "push", "origin", str(release_version))
104104

105105
if (
106-
hasattr(noxconfig.PROJECT_CONFIG, "create_major_version_tags")
107-
and noxconfig.PROJECT_CONFIG.create_major_version_tags
106+
hasattr(project_config, "create_major_version_tags")
107+
and project_config.create_major_version_tags
108108
):
109109
major_release_version = f"v{release_version.major}"
110110
run("git", "tag", "-f", str(major_release_version))
@@ -128,28 +128,26 @@ def prepare_release(session: Session) -> None:
128128
_ = _update_project_version(session, new_version)
129129

130130
changelogs = Changelogs(
131-
changes_path=noxconfig.PROJECT_CONFIG.doc / "changes",
132-
root_path=noxconfig.PROJECT_CONFIG.root,
131+
changes_path=PROJECT_CONFIG.doc / "changes",
132+
root_path=PROJECT_CONFIG.root,
133133
version=new_version,
134134
)
135135
changelogs.update_changelogs_for_release()
136136
changed_files = changelogs.get_changed_files()
137137

138-
pm = NoxTasks.plugin_manager(noxconfig.PROJECT_CONFIG)
138+
pm = NoxTasks.plugin_manager(PROJECT_CONFIG)
139139
pm.hook.prepare_release_update_version(
140-
session=session, config=noxconfig.PROJECT_CONFIG, version=new_version
140+
session=session, config=PROJECT_CONFIG, version=new_version
141141
)
142142

143143
if args.no_add:
144144
return
145145

146146
changed_files += [
147-
noxconfig.PROJECT_CONFIG.root / "pyproject.toml",
148-
noxconfig.PROJECT_CONFIG.version_file,
147+
PROJECT_CONFIG.root / "pyproject.toml",
148+
PROJECT_CONFIG.version_file,
149149
]
150-
results = pm.hook.prepare_release_add_files(
151-
session=session, config=noxconfig.PROJECT_CONFIG
152-
)
150+
results = pm.hook.prepare_release_add_files(session=session, config=PROJECT_CONFIG)
153151
changed_files += [f for plugin_response in results for f in plugin_response]
154152
_add_files_to_index(
155153
session,
@@ -172,4 +170,4 @@ def prepare_release(session: Session) -> None:
172170
@nox.session(name="release:trigger", python=False)
173171
def trigger_release(session: Session) -> None:
174172
"""trigger an automatic project release"""
175-
print(f"new version: {_trigger_release()}")
173+
print(f"new version: {_trigger_release(PROJECT_CONFIG)}")

test/unit/release_test.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ def simulate_pass(args, **kwargs):
4141
return self._get_subprocess_run_mock(args)
4242

4343
with patch("subprocess.run", side_effect=simulate_pass):
44-
result = _trigger_release()
44+
result = _trigger_release(noxconfig.PROJECT_CONFIG)
4545
assert result == mock_from_poetry.return_value
4646

4747
def test_creates_major_version_tag(self, mock_from_poetry):
4848
def simulate_pass(args, **kwargs):
4949
return self._get_subprocess_run_mock(args)
5050

5151
with patch("subprocess.run", side_effect=simulate_pass) as subprocess_mock:
52-
result = _trigger_release()
52+
result = _trigger_release(noxconfig.PROJECT_CONFIG)
5353
assert subprocess_mock.mock_calls == [
5454
call(
5555
("git", "remote", "show", "origin"),
@@ -97,19 +97,15 @@ def simulate_pass(args, **kwargs):
9797
]
9898
assert result == mock_from_poetry.return_value
9999

100-
@pytest.fixture
101-
def mock_project_config(self, monkeypatch):
100+
def test_not_creates_major_version_tag(self, mock_from_poetry):
102101
class DummyConfig:
103102
pass
104103

105-
monkeypatch.setattr(noxconfig, "PROJECT_CONFIG", DummyConfig())
106-
107-
def test_not_creates_major_version_tag(self, mock_from_poetry, mock_project_config):
108104
def simulate_pass(args, **kwargs):
109105
return self._get_subprocess_run_mock(args)
110106

111107
with patch("subprocess.run", side_effect=simulate_pass) as subprocess_mock:
112-
result = _trigger_release()
108+
result = _trigger_release(DummyConfig)
113109
assert subprocess_mock.mock_calls == [
114110
call(
115111
("git", "remote", "show", "origin"),
@@ -167,7 +163,7 @@ def simulate_fail(args, **kwargs):
167163

168164
with patch("subprocess.run", side_effect=simulate_fail):
169165
with pytest.raises(ReleaseError) as ex:
170-
_trigger_release()
166+
_trigger_release(noxconfig.PROJECT_CONFIG)
171167
assert str(error_cmd) in str(ex)
172168

173169
def test_default_branch_could_not_be_found(self, mock_from_poetry):
@@ -178,7 +174,7 @@ def simulate_fail(args, **kwargs):
178174

179175
with patch("subprocess.run", side_effect=simulate_fail):
180176
with pytest.raises(ReleaseError) as ex:
181-
_trigger_release()
177+
_trigger_release(noxconfig.PROJECT_CONFIG)
182178
assert "default branch could not be found" in str(ex)
183179

184180
def test_tag_already_exists(self, mock_from_poetry):
@@ -191,7 +187,7 @@ def simulate_fail(args, **kwargs):
191187

192188
with patch("subprocess.run", side_effect=simulate_fail):
193189
with pytest.raises(ReleaseError) as ex:
194-
_trigger_release()
190+
_trigger_release(noxconfig.PROJECT_CONFIG)
195191
assert f"tag {version} already exists" in str(ex)
196192

197193
def test_release_already_exists(self, mock_from_poetry):
@@ -204,5 +200,5 @@ def simulate_fail(args, **kwargs):
204200

205201
with patch("subprocess.run", side_effect=simulate_fail):
206202
with pytest.raises(ReleaseError) as ex:
207-
_trigger_release()
203+
_trigger_release(noxconfig.PROJECT_CONFIG)
208204
assert f"release {version} already exists" in str(ex)

0 commit comments

Comments
 (0)