diff --git a/gvm/protocols/gmp/_gmp224.py b/gvm/protocols/gmp/_gmp224.py
index bc263e863..b3e21cd8c 100644
--- a/gvm/protocols/gmp/_gmp224.py
+++ b/gvm/protocols/gmp/_gmp224.py
@@ -3925,14 +3925,13 @@ def modify_task(
)
)
- def move_task(
- self, task_id: EntityID, *, slave_id: EntityID | None = None
- ) -> T:
+ def move_task(self, task_id: EntityID, *, slave_id: EntityID = "") -> T:
"""Move an existing task to another GMP slave scanner or the master
Args:
task_id: UUID of the task to be moved
- slave_id: UUID of the sensor to reassign the task to, empty for master.
+ slave_id: UUID of the sensor to reassign the task to. Defaults to
+ an empty string, which selects the master.
"""
return self._send_request_and_transform_response(
Tasks.move_task(task_id, slave_id=slave_id)
diff --git a/gvm/protocols/gmp/_gmpnext.py b/gvm/protocols/gmp/_gmpnext.py
index e5316957c..cd92aaeef 100644
--- a/gvm/protocols/gmp/_gmpnext.py
+++ b/gvm/protocols/gmp/_gmpnext.py
@@ -957,14 +957,13 @@ def modify_task(
)
)
- def move_task(
- self, task_id: EntityID, *, slave_id: EntityID | None = None
- ) -> T:
+ def move_task(self, task_id: EntityID, *, slave_id: EntityID = "") -> T:
"""Move an existing task to another GMP slave scanner or the master
Args:
task_id: UUID of the task to be moved
- slave_id: UUID of the sensor to reassign the task to, empty for master.
+ slave_id: UUID of the sensor to reassign the task to. Defaults to
+ an empty string, which selects the master.
"""
return self._send_request_and_transform_response(
Tasks.move_task(
diff --git a/gvm/protocols/gmp/requests/next/_tasks.py b/gvm/protocols/gmp/requests/next/_tasks.py
index 7b1158e38..23ca32b40 100644
--- a/gvm/protocols/gmp/requests/next/_tasks.py
+++ b/gvm/protocols/gmp/requests/next/_tasks.py
@@ -695,24 +695,27 @@ def modify_task(
@classmethod
def move_task(
- cls, task_id: EntityID, *, slave_id: EntityID | None = None
+ cls, task_id: EntityID, *, slave_id: EntityID = ""
) -> Request:
"""Move an existing task to another GMP slave scanner or the master
Args:
task_id: UUID of the task to be moved
- slave_id: UUID of the sensor to reassign the task to, empty for master.
+ slave_id: UUID of the sensor to reassign the task to. Defaults to
+ an empty string, which selects the master.
"""
if not task_id:
raise RequiredArgument(
function=cls.move_task.__name__, argument="task_id"
)
+ if slave_id is None:
+ raise RequiredArgument(
+ function=cls.move_task.__name__, argument="slave_id"
+ )
cmd = XmlCommand("move_task")
cmd.set_attribute("task_id", str(task_id))
-
- if slave_id is not None:
- cmd.set_attribute("slave_id", str(slave_id))
+ cmd.set_attribute("slave_id", str(slave_id))
return cmd
diff --git a/gvm/protocols/gmp/requests/v224/_tasks.py b/gvm/protocols/gmp/requests/v224/_tasks.py
index f6056cc90..8323db713 100644
--- a/gvm/protocols/gmp/requests/v224/_tasks.py
+++ b/gvm/protocols/gmp/requests/v224/_tasks.py
@@ -354,24 +354,27 @@ def modify_task(
@classmethod
def move_task(
- cls, task_id: EntityID, *, slave_id: EntityID | None = None
+ cls, task_id: EntityID, *, slave_id: EntityID = ""
) -> Request:
"""Move an existing task to another GMP slave scanner or the master
Args:
task_id: UUID of the task to be moved
- slave_id: UUID of the sensor to reassign the task to, empty for master.
+ slave_id: UUID of the sensor to reassign the task to. Defaults to
+ an empty string, which selects the master.
"""
if not task_id:
raise RequiredArgument(
function=cls.move_task.__name__, argument="task_id"
)
+ if slave_id is None:
+ raise RequiredArgument(
+ function=cls.move_task.__name__, argument="slave_id"
+ )
cmd = XmlCommand("move_task")
cmd.set_attribute("task_id", str(task_id))
-
- if slave_id is not None:
- cmd.set_attribute("slave_id", str(slave_id))
+ cmd.set_attribute("slave_id", str(slave_id))
return cmd
diff --git a/tests/protocols/gmp/requests/v224/test_tasks.py b/tests/protocols/gmp/requests/v224/test_tasks.py
index afe519964..2f785a9d0 100644
--- a/tests/protocols/gmp/requests/v224/test_tasks.py
+++ b/tests/protocols/gmp/requests/v224/test_tasks.py
@@ -664,7 +664,14 @@ def test_move_task(self):
request = Tasks().move_task("task_id")
self.assertEqual(
bytes(request),
- b'',
+ b'',
+ )
+
+ def test_move_task_to_master(self):
+ request = Tasks().move_task("task_id", slave_id="")
+ self.assertEqual(
+ bytes(request),
+ b'',
)
def test_move_task_with_slave_id(self):
@@ -681,6 +688,10 @@ def test_move_task_missing_task_id(self):
with self.assertRaises(RequiredArgument):
Tasks().move_task(None)
+ def test_move_task_none_slave_id(self):
+ with self.assertRaises(RequiredArgument):
+ Tasks().move_task("task_id", slave_id=None)
+
def test_start_task(self):
request = Tasks().start_task("task_id")
self.assertEqual(
diff --git a/tests/protocols/gmpnext/entities/tasks/test_move_task.py b/tests/protocols/gmpnext/entities/tasks/test_move_task.py
index efc58af50..e690b7ecb 100644
--- a/tests/protocols/gmpnext/entities/tasks/test_move_task.py
+++ b/tests/protocols/gmpnext/entities/tasks/test_move_task.py
@@ -10,7 +10,16 @@ class GmpMoveTaskTestMixin:
def test_move_task(self):
self.gmp.move_task("a1")
- self.connection.send.has_been_called_with(b'')
+ self.connection.send.has_been_called_with(
+ b''
+ )
+
+ def test_move_task_to_master(self):
+ self.gmp.move_task("a1", slave_id="")
+
+ self.connection.send.has_been_called_with(
+ b''
+ )
def test_move_task_to_slave(self):
self.gmp.move_task("a1", slave_id="s1")
@@ -25,3 +34,7 @@ def test_missing_id(self):
with self.assertRaises(GvmError):
self.gmp.move_task("")
+
+ def test_none_slave_id(self):
+ with self.assertRaises(GvmError):
+ self.gmp.move_task("a1", slave_id=None)
diff --git a/tests/protocols/gmpv224/entities/tasks/test_move_task.py b/tests/protocols/gmpv224/entities/tasks/test_move_task.py
index 6898abbc6..3c0095f64 100644
--- a/tests/protocols/gmpv224/entities/tasks/test_move_task.py
+++ b/tests/protocols/gmpv224/entities/tasks/test_move_task.py
@@ -10,7 +10,16 @@ class GmpMoveTaskTestMixin:
def test_move_task(self):
self.gmp.move_task("a1")
- self.connection.send.has_been_called_with(b'')
+ self.connection.send.has_been_called_with(
+ b''
+ )
+
+ def test_move_task_to_master(self):
+ self.gmp.move_task("a1", slave_id="")
+
+ self.connection.send.has_been_called_with(
+ b''
+ )
def test_move_task_to_slave(self):
self.gmp.move_task("a1", slave_id="s1")
@@ -25,3 +34,7 @@ def test_missing_id(self):
with self.assertRaises(GvmError):
self.gmp.move_task("")
+
+ def test_none_slave_id(self):
+ with self.assertRaises(GvmError):
+ self.gmp.move_task("a1", slave_id=None)