source: trunk/src/allmydata/test/test_monitor.py

Last change on this file was 1cfe843d, checked in by Alexandre Detiste <alexandre.detiste@…>, at 2024-02-22T23:40:25Z

more python2 removal

  • Property mode set to 100644
File size: 1.2 KB
Line 
1"""
2Tests for allmydata.monitor.
3"""
4
5from twisted.trial import unittest
6
7from allmydata.monitor import Monitor, OperationCancelledError
8
9
10class MonitorTests(unittest.TestCase):
11    """Tests for the Monitor class."""
12
13    def test_cancellation(self):
14        """The monitor can be cancelled."""
15        m = Monitor()
16        self.assertFalse(m.is_cancelled())
17        m.raise_if_cancelled()
18        m.cancel()
19        self.assertTrue(m.is_cancelled())
20        with self.assertRaises(OperationCancelledError):
21            m.raise_if_cancelled()
22
23    def test_status(self):
24        """The monitor can have its status set."""
25        m = Monitor()
26        self.assertEqual(m.get_status(), None)
27        m.set_status("discombobulated")
28        self.assertEqual(m.get_status(), "discombobulated")
29
30    def test_finish(self):
31        """The monitor can finish."""
32        m = Monitor()
33        self.assertFalse(m.is_finished())
34        d = m.when_done()
35        self.assertNoResult(d)
36
37        result = m.finish(300)
38        self.assertEqual(result, 300)
39        self.assertEqual(m.get_status(), 300)
40        self.assertTrue(m.is_finished())
41
42        d.addBoth(self.assertEqual, 300)
43        return d
Note: See TracBrowser for help on using the repository browser.