diff --git a/watcher/db/sqlalchemy/api.py b/watcher/db/sqlalchemy/api.py index fba1afbde..ebe919773 100644 --- a/watcher/db/sqlalchemy/api.py +++ b/watcher/db/sqlalchemy/api.py @@ -815,7 +815,7 @@ class Connection(api.BaseConnection): query = self._set_eager_options(models.ActionPlan, query) query = self._add_action_plans_filters(query, filters) if not context.show_deleted: - query = query.filter_by(deleted_at=None) + query = query.filter(models.ActionPlan.deleted_at.is_(None)) return _paginate_query(models.ActionPlan, limit, marker, sort_key, sort_dir, query) diff --git a/watcher/tests/db/test_action_plan.py b/watcher/tests/db/test_action_plan.py index 7569990bc..94e5757b0 100644 --- a/watcher/tests/db/test_action_plan.py +++ b/watcher/tests/db/test_action_plan.py @@ -307,6 +307,14 @@ class DbActionPlanTestCase(base.DbTestCase): for r in res: self.assertEqual(audit['id'], r.audit_id) + self.dbapi.soft_delete_action_plan(action_plan1['uuid']) + res = self.dbapi.get_action_plan_list( + self.context, + filters={'audit_uuid': audit['uuid']}) + + self.assertEqual([action_plan2['id']], [r.id for r in res]) + self.assertNotEqual([action_plan1['id']], [r.id for r in res]) + def test_get_action_plan_list_with_filter_by_uuid(self): action_plan = self._create_test_action_plan() res = self.dbapi.get_action_plan_list(