Skip to content

Commit eb58253

Browse files
committed
Merge PR #702 into 18.0
Signed-off-by guewen
2 parents 1bfdd18 + 8e1d49b commit eb58253

1 file changed

Lines changed: 44 additions & 28 deletions

File tree

queue_job/tests/test_delayable.py

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,40 @@
11
# copyright 2019 Camptocamp
22
# license agpl-3.0 or later (http://www.gnu.org/licenses/agpl.html)
33

4-
import unittest
4+
import gc
5+
import logging
56
from unittest import mock
67

8+
from odoo.tests import common
9+
710
from odoo.addons.queue_job.delay import Delayable, DelayableGraph
811

912

10-
class TestDelayable(unittest.TestCase):
13+
class TestDelayable(common.BaseCase):
1114
def setUp(self):
1215
super().setUp()
1316
self.recordset = mock.MagicMock(name="recordset")
1417

1518
def test_delayable_set(self):
16-
dl = Delayable(self.recordset)
17-
dl.set(priority=15)
18-
self.assertEqual(dl.priority, 15)
19-
dl.set({"priority": 20, "description": "test"})
20-
self.assertEqual(dl.priority, 20)
21-
self.assertEqual(dl.description, "test")
19+
# Use gc for garbage collection and use assertLogs to suppress WARNING
20+
with self.assertLogs("odoo.addons.queue_job.delay", level=logging.WARNING):
21+
dl = Delayable(self.recordset)
22+
dl.set(priority=15)
23+
self.assertEqual(dl.priority, 15)
24+
dl.set({"priority": 20, "description": "test"})
25+
self.assertEqual(dl.priority, 20)
26+
self.assertEqual(dl.description, "test")
27+
del dl
28+
gc.collect()
2229

2330
def test_delayable_set_unknown(self):
24-
dl = Delayable(self.recordset)
25-
with self.assertRaises(ValueError):
26-
dl.set(foo=15)
31+
# Use gc for garbage collection and use assertLogs to suppress WARNING
32+
with self.assertLogs("odoo.addons.queue_job.delay", level=logging.WARNING):
33+
dl = Delayable(self.recordset)
34+
with self.assertRaises(ValueError):
35+
dl.set(foo=15)
36+
del dl
37+
gc.collect()
2738

2839
def test_graph_add_vertex_edge(self):
2940
graph = DelayableGraph()
@@ -55,23 +66,28 @@ def test_graph_edges(self):
5566
)
5667

5768
def test_graph_connect(self):
58-
node_tail = Delayable(self.recordset)
59-
node_tail2 = Delayable(self.recordset)
60-
node_middle = Delayable(self.recordset)
61-
node_top = Delayable(self.recordset)
62-
node_middle.on_done(node_tail)
63-
node_middle.on_done(node_tail2)
64-
node_top.on_done(node_middle)
65-
collected = node_top._graph._connect_graphs()
66-
self.assertEqual(
67-
collected._graph,
68-
{
69-
node_tail: set(),
70-
node_tail2: set(),
71-
node_middle: {node_tail, node_tail2},
72-
node_top: {node_middle},
73-
},
74-
)
69+
# Use gc for garbage collection and use assertLogs to suppress WARNING
70+
with self.assertLogs("odoo.addons.queue_job.delay", level=logging.WARNING):
71+
node_tail = Delayable(self.recordset)
72+
node_tail2 = Delayable(self.recordset)
73+
node_middle = Delayable(self.recordset)
74+
node_top = Delayable(self.recordset)
75+
node_middle.on_done(node_tail)
76+
node_middle.on_done(node_tail2)
77+
node_top.on_done(node_middle)
78+
collected = node_top._graph._connect_graphs()
79+
self.assertEqual(
80+
collected._graph,
81+
{
82+
node_tail: set(),
83+
node_tail2: set(),
84+
node_middle: {node_tail, node_tail2},
85+
node_top: {node_middle},
86+
},
87+
)
88+
89+
del node_tail, node_tail2, node_middle, node_top, collected
90+
gc.collect()
7591

7692
def test_graph_paths(self):
7793
graph = DelayableGraph(

0 commit comments

Comments
 (0)