Skip to content

Commit cb23e54

Browse files
committed
Change: Rename container_task to import_task and deprecate old API
1 parent 97ce133 commit cb23e54

File tree

6 files changed

+84
-14
lines changed

6 files changed

+84
-14
lines changed

gvm/protocols/gmp/_gmpnext.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -682,18 +682,29 @@ def create_container_image_task(
682682
)
683683
)
684684

685-
def create_container_task(
685+
def create_import_task(
686686
self, name: str, *, comment: Optional[str] = None
687687
) -> T:
688-
"""Create a new container task
688+
"""Create a new import task
689689
690-
A container task is a "meta" task to import and view reports from other
690+
An import task is a "meta" task to import and view reports from other
691691
systems.
692692
693693
Args:
694694
name: Name of the task
695695
comment: Comment for the task
696696
"""
697+
return self._send_request_and_transform_response(
698+
Tasks.create_import_task(name=name, comment=comment)
699+
)
700+
701+
def create_container_task(
702+
self, name: str, *, comment: Optional[str] = None
703+
) -> T:
704+
"""[DEPRECATED] Use create_import_task instead.
705+
706+
This method will be removed in a future version.
707+
"""
697708
return self._send_request_and_transform_response(
698709
Tasks.create_container_task(name=name, comment=comment)
699710
)

gvm/protocols/gmp/requests/next/_tasks.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from gvm.errors import InvalidArgument, RequiredArgument
99
from gvm.protocols.core import Request
10-
from gvm.utils import SupportsStr, to_bool, to_comma_list
10+
from gvm.utils import SupportsStr, deprecated, to_bool, to_comma_list
1111
from gvm.xml import XmlCommand
1212

1313
from .._entity_id import EntityID
@@ -210,12 +210,12 @@ def create_container_image_task(
210210
return cmd
211211

212212
@classmethod
213-
def create_container_task(
213+
def create_import_task(
214214
cls, name: str, *, comment: Optional[str] = None
215215
) -> Request:
216-
"""Create a new container task
216+
"""Create a new import task
217217
218-
A container task is a "meta" task to import and view reports from other
218+
An import task is a "meta" task to import and view reports from other
219219
systems.
220220
221221
Args:
@@ -224,7 +224,7 @@ def create_container_task(
224224
"""
225225
if not name:
226226
raise RequiredArgument(
227-
function=cls.create_container_task.__name__, argument="name"
227+
function=cls.create_import_task.__name__, argument="name"
228228
)
229229

230230
cmd = XmlCommand("create_task")
@@ -236,6 +236,19 @@ def create_container_task(
236236

237237
return cmd
238238

239+
@classmethod
240+
@deprecated(
241+
"The function is obsolete. Please use create_import_task instead."
242+
)
243+
def create_container_task(
244+
cls, name: str, *, comment: Optional[str] = None
245+
) -> "Request":
246+
"""[DEPRECATED] Use create_import_task instead.
247+
248+
This method will be removed in a future version.
249+
"""
250+
return cls.create_import_task(name=name, comment=comment)
251+
239252
@classmethod
240253
def create_task(
241254
cls,

tests/protocols/gmpnext/entities/tasks/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
GmpCreateContainerImageTaskTestMixin,
1010
)
1111
from .test_create_container_task import GmpCreateContainerTaskTestMixin
12+
from .test_create_import_task import GmpCreateImportTaskTestMixin
1213
from .test_create_task import GmpCreateTaskTestMixin
1314
from .test_delete_task import GmpDeleteTaskTestMixin
1415
from .test_get_task import GmpGetTaskTestMixin
@@ -24,6 +25,7 @@
2425
"GmpCreateAgentGroupTaskTestMixin",
2526
"GmpCreateContainerImageTaskTestMixin",
2627
"GmpCreateContainerTaskTestMixin",
28+
"GmpCreateImportTaskTestMixin",
2729
"GmpCreateTaskTestMixin",
2830
"GmpDeleteTaskTestMixin",
2931
"GmpGetTaskTestMixin",

tests/protocols/gmpnext/entities/tasks/test_create_container_task.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77

88

99
class GmpCreateContainerTaskTestMixin:
10-
def test_create_task(self):
11-
self.gmp.create_container_task(name="foo")
10+
def test_create_container_task_emits_deprecation_warning_and_sends_xml(
11+
self,
12+
):
13+
with self.assertWarns(DeprecationWarning):
14+
self.gmp.create_container_task(name="foo")
1215

1316
self.connection.send.has_been_called_with(
1417
b"<create_task>"
@@ -17,15 +20,16 @@ def test_create_task(self):
1720
b"</create_task>"
1821
)
1922

20-
def test_create_task_missing_name(self):
23+
def test_create_container_task_missing_name(self):
2124
with self.assertRaises(RequiredArgument):
2225
self.gmp.create_container_task(name=None)
2326

2427
with self.assertRaises(RequiredArgument):
2528
self.gmp.create_container_task(name="")
2629

27-
def test_create_task_with_comment(self):
28-
self.gmp.create_container_task(name="foo", comment="bar")
30+
def test_create_container_task_with_comment_emits_warning(self):
31+
with self.assertWarns(DeprecationWarning):
32+
self.gmp.create_container_task(name="foo", comment="bar")
2933

3034
self.connection.send.has_been_called_with(
3135
b"<create_task>"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# SPDX-FileCopyrightText: 2018-2025 Greenbone AG
2+
#
3+
# SPDX-License-Identifier: GPL-3.0-or-later
4+
#
5+
6+
from gvm.errors import RequiredArgument
7+
8+
9+
class GmpCreateImportTaskTestMixin:
10+
def test_create_task(self):
11+
self.gmp.create_import_task(name="foo")
12+
13+
self.connection.send.has_been_called_with(
14+
b"<create_task>"
15+
b"<name>foo</name>"
16+
b'<target id="0"/>'
17+
b"</create_task>"
18+
)
19+
20+
def test_create_task_missing_name(self):
21+
with self.assertRaises(RequiredArgument):
22+
self.gmp.create_import_task(name=None)
23+
24+
with self.assertRaises(RequiredArgument):
25+
self.gmp.create_import_task(name="")
26+
27+
def test_create_task_with_comment(self):
28+
self.gmp.create_import_task(name="foo", comment="bar")
29+
30+
self.connection.send.has_been_called_with(
31+
b"<create_task>"
32+
b"<name>foo</name>"
33+
b'<target id="0"/>'
34+
b"<comment>bar</comment>"
35+
b"</create_task>"
36+
)

tests/protocols/gmpnext/entities/test_tasks.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#
33
# SPDX-License-Identifier: GPL-3.0-or-later
44
#
5-
65
from ...gmpnext import GMPTestCase
76
from ...gmpnext.entities.tasks import (
87
GmpCloneTaskTestMixin,
98
GmpCreateAgentGroupTaskTestMixin,
109
GmpCreateContainerImageTaskTestMixin,
1110
GmpCreateContainerTaskTestMixin,
11+
GmpCreateImportTaskTestMixin,
1212
GmpCreateTaskTestMixin,
1313
GmpDeleteTaskTestMixin,
1414
GmpGetTasksTestMixin,
@@ -43,6 +43,10 @@ class GMPCreateContainerTaskTestCase(
4343
pass
4444

4545

46+
class GMPCreateImportTaskTestCase(GmpCreateImportTaskTestMixin, GMPTestCase):
47+
pass
48+
49+
4650
class GMPCreateTaskTestCase(GmpCreateTaskTestMixin, GMPTestCase):
4751
pass
4852

0 commit comments

Comments
 (0)