Skip to content

Commit 5d36c79

Browse files
bjoernricksgreenbonebot
authored andcommitted
Change: Fix constructor signature of InvalidArgumentType exception
The argument must not be None and arg_type may be optional.
1 parent f1491f9 commit 5d36c79

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

Diff for: gvm/errors.py

+15-5
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,9 @@ class InvalidArgumentType(GvmError):
132132

133133
def __init__(
134134
self,
135-
argument: str = None,
136-
arg_type: str = None,
135+
argument: str,
137136
*,
137+
arg_type: Optional[str] = None,
138138
function: Optional[str] = None,
139139
):
140140
super().__init__(None)
@@ -144,11 +144,21 @@ def __init__(
144144

145145
def __str__(self):
146146
if self.function:
147+
if self.arg_type:
148+
return (
149+
f"In {self.function} the argument {self.argument} "
150+
f"must be of type {self.arg_type}."
151+
)
147152
return (
148-
f"In {self.function} the argument {self.argument} "
149-
f"must be of type {self.arg_type}."
153+
f"Invalid argument type for argument {self.argument} in "
154+
f"{self.function}."
150155
)
151-
return f"The argument {self.argument} must be of type {self.arg_type}."
156+
if self.arg_type:
157+
return (
158+
f"The argument {self.argument} must be of type {self.arg_type}."
159+
)
160+
161+
return f"Invalid argument type for argument {self.argument}."
152162

153163

154164
class RequiredArgument(GvmError):

Diff for: tests/test_errors.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -180,25 +180,25 @@ def test_raise_with_argument_and_arg_type(self):
180180
with self.assertRaisesRegex(
181181
InvalidArgumentType, "^The argument foo must be of type bar.$"
182182
):
183-
raise InvalidArgumentType("foo", "bar")
183+
raise InvalidArgumentType("foo", arg_type="bar")
184184

185185
def test_raise_with_function(self):
186186
with self.assertRaisesRegex(
187187
InvalidArgumentType,
188188
"^In baz the argument foo must be of type bar.$",
189189
):
190-
raise InvalidArgumentType("foo", "bar", function="baz")
190+
raise InvalidArgumentType("foo", arg_type="bar", function="baz")
191191

192192
def test_string_conversion(self):
193193
with self.assertRaises(InvalidArgumentType) as cm:
194-
raise InvalidArgumentType("foo", "bar")
194+
raise InvalidArgumentType("foo", arg_type="bar")
195195

196196
ex = cm.exception
197197
self.assertEqual(str(ex), "The argument foo must be of type bar.")
198198
self.assertIsNone(ex.function)
199199

200200
with self.assertRaises(InvalidArgumentType) as cm:
201-
raise InvalidArgumentType("foo", "bar", function="baz")
201+
raise InvalidArgumentType("foo", arg_type="bar", function="baz")
202202

203203
ex = cm.exception
204204
self.assertEqual(
@@ -207,7 +207,7 @@ def test_string_conversion(self):
207207

208208
def test_is_gvm_error(self):
209209
with self.assertRaises(GvmError):
210-
raise InvalidArgumentType("foo", "bar")
210+
raise InvalidArgumentType("foo", arg_type="bar")
211211

212212

213213
if __name__ == "__main__":

0 commit comments

Comments
 (0)