Skip to content

Commit 27143a7

Browse files
fix
1 parent 02b6fb5 commit 27143a7

File tree

2 files changed

+34
-22
lines changed

2 files changed

+34
-22
lines changed

exasol/toolbox/nox/_release.py

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
from __future__ import annotations
22

33
import argparse
4+
import re
5+
import subprocess
46
import sys
7+
from enum import Enum
58
from pathlib import Path
69
from typing import (
710
List,
@@ -25,9 +28,7 @@
2528
new_unreleased,
2629
)
2730
from noxconfig import PROJECT_CONFIG
28-
from enum import Enum
29-
import subprocess
30-
import re
31+
3132

3233
def _create_parser() -> argparse.ArgumentParser:
3334
parser = argparse.ArgumentParser(
@@ -37,19 +38,21 @@ def _create_parser() -> argparse.ArgumentParser:
3738
)
3839
group = parser.add_mutually_exclusive_group(required=True)
3940
group.add_argument(
40-
"-v", "--version",
41+
"-v",
42+
"--version",
4143
type=cli.version,
4244
help="A version string of the following format:" '"NUMBER.NUMBER.NUMBER"',
4345
required=False,
44-
default=argparse.SUPPRESS
46+
default=argparse.SUPPRESS,
4547
)
4648
group.add_argument(
47-
"-t", "--type",
49+
"-t",
50+
"--type",
4851
type=ReleaseTypes,
4952
help="specifies which type of upgrade is to be performed",
5053
required=False,
5154
choices=[rt.value for rt in list(ReleaseTypes)],
52-
default=argparse.SUPPRESS
55+
default=argparse.SUPPRESS,
5356
)
5457
parser.add_argument(
5558
"--no-add",
@@ -113,20 +116,22 @@ def _type_release(release_type: ReleaseTypes, old_version: Version) -> Version:
113116
upgrade = {
114117
ReleaseTypes.Major: Version(old_version.major + 1, 0, 0),
115118
ReleaseTypes.Minor: Version(old_version.major, old_version.minor + 1, 0),
116-
ReleaseTypes.Patch: Version(old_version.major, old_version.minor, old_version.patch + 1),
119+
ReleaseTypes.Patch: Version(
120+
old_version.major, old_version.minor, old_version.patch + 1
121+
),
117122
}
118123
return upgrade[release_type]
119124

120125

121-
def _version_control(session: Session, args: argparse.Namespace,) -> Version:
126+
def _version_control(
127+
session: Session,
128+
args: argparse.Namespace,
129+
) -> Version:
122130
has_release_version = hasattr(args, "version")
123131
has_release_type = hasattr(args, "type")
124132

125133
old_version = Version.from_poetry()
126134

127-
if has_release_version and has_release_type:
128-
session.error("choose either a release version or a release type")
129-
130135
if has_release_version and not has_release_type:
131136
if not _is_valid_version(old=old_version, new=args.version):
132137
session.error(
@@ -138,6 +143,8 @@ def _version_control(session: Session, args: argparse.Namespace,) -> Version:
138143
if not has_release_version and has_release_type:
139144
return _type_release(release_type=args.type, old_version=old_version)
140145

146+
session.error("error in _version_control")
147+
141148

142149
@nox.session(name="release:prepare", python=False)
143150
def prepare_release(session: Session, python=False) -> None:
@@ -201,17 +208,19 @@ def release(session: Session) -> None:
201208
)
202209
group = parser.add_mutually_exclusive_group(required=True)
203210
group.add_argument(
204-
"-v", "--version",
211+
"-v",
212+
"--version",
205213
type=cli.version,
206214
help="A version string of the following format:" '"NUMBER.NUMBER.NUMBER"',
207-
default=argparse.SUPPRESS
215+
default=argparse.SUPPRESS,
208216
)
209217
group.add_argument(
210-
"-t", "--type",
218+
"-t",
219+
"--type",
211220
type=ReleaseTypes,
212221
help="specifies which type of upgrade is to be performed",
213222
choices=list(ReleaseTypes),
214-
default=argparse.SUPPRESS
223+
default=argparse.SUPPRESS,
215224
)
216225

217226
args = parser.parse_args(session.posargs)

test/unit/release_test.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55

66
import pytest
77

8+
from exasol.toolbox.nox._release import (
9+
ReleaseTypes,
10+
_type_release,
11+
)
812
from exasol.toolbox.release import (
913
Version,
1014
extract_release_notes,
1115
new_changelog,
1216
)
13-
from exasol.toolbox.nox._release import (
14-
ReleaseTypes,
15-
_type_release
16-
)
17+
18+
1719
@pytest.mark.parametrize(
1820
"input,expected",
1921
[
@@ -148,11 +150,12 @@ def test_extract_release_notes(unreleased_md):
148150

149151

150152
@pytest.mark.parametrize(
151-
"rtype,old,expected",[
153+
"rtype,old,expected",
154+
[
152155
("major", "1.2.3", "2.0.0"),
153156
("minor", "1.2.3", "1.3.0"),
154157
("patch", "1.2.3", "1.2.4"),
155-
]
158+
],
156159
)
157160
def test_type_release(rtype, old, expected):
158161
actual = _type_release(ReleaseTypes(rtype), Version.from_string(old))

0 commit comments

Comments
 (0)