diff --git a/swh/scheduler/backend.py b/swh/scheduler/backend.py --- a/swh/scheduler/backend.py +++ b/swh/scheduler/backend.py @@ -227,7 +227,9 @@ where.append('next_run >= %s') args.append(after) - query = 'select * from task where ' + ' and '.join(where) + query = 'select * from task' + if where: + query += ' where ' + ' and '.join(where) if limit: query += ' limit %s :: bigint' args.append(limit) diff --git a/swh/scheduler/tests/test_scheduler.py b/swh/scheduler/tests/test_scheduler.py --- a/swh/scheduler/tests/test_scheduler.py +++ b/swh/scheduler/tests/test_scheduler.py @@ -370,6 +370,13 @@ ret = self.backend.get_tasks(task['id'] for task in cur_tasks) self.assertCountEqual(ret, cur_tasks) + def test_search_tasks(self): + self._create_task_types() + t = utcnow() + tasks = self._tasks_from_template(TEMPLATES['git'], t, 100) + tasks = self.backend.create_tasks(tasks) + self.assertCountEqual(self.backend.search_tasks(), tasks) + def test_filter_task_to_archive(self): """Filtering only list disabled recurring or completed oneshot tasks