add new binutils 1259 grant temporary name
[utils.git] / src / budget_sync / test / test_mock_bug.py
1 import unittest
2 from budget_sync.test.mock_bug import MockBug
3 from budget_sync.util import BugStatus
4
5
6 class TestBugStatus(unittest.TestCase):
7 def test_values(self):
8 for i in BugStatus:
9 self.assertIs(i, getattr(BugStatus, i.value))
10 self.assertEqual(str(i), i.value)
11 self.assertEqual(repr(i), f"BugStatus.{i.value}")
12
13 def test_cast(self):
14 for i in BugStatus:
15 self.assertEqual(i, BugStatus.cast(i))
16 self.assertEqual(i, BugStatus.cast(str(i)))
17 self.assertEqual(i, BugStatus.cast(str(i), unknown_allowed=True))
18 with self.assertRaises(ValueError):
19 BugStatus.cast("<unknown>")
20 self.assertEqual("<unknown>",
21 BugStatus.cast("<unknown>", unknown_allowed=True))
22
23
24 class TestMockBug(unittest.TestCase):
25 maxDiff = None
26
27 def test_repr(self):
28 bug = MockBug(bug_id=12)
29 self.assertEqual(
30 repr(bug),
31 "MockBug(bug_id=12, cf_budget_parent=None, cf_budget='0', "
32 "cf_total_budget='0', cf_nlnet_milestone='---', "
33 "cf_payees_list='', summary='<default summary>', "
34 "status=BugStatus.CONFIRMED, "
35 "assigned_to='user@example.com')")
36 bug = MockBug(bug_id=34,
37 cf_budget_parent=1,
38 cf_budget="45",
39 cf_total_budget="23",
40 cf_nlnet_milestone="abc",
41 cf_payees_list="# a",
42 summary="blah blah",
43 status="blah",
44 assigned_to="fake-email@example.com")
45 self.assertEqual(
46 repr(bug),
47 "MockBug(bug_id=34, cf_budget_parent=1, cf_budget='45', "
48 "cf_total_budget='23', cf_nlnet_milestone='abc', "
49 "cf_payees_list='# a', summary='blah blah', status='blah', "
50 "assigned_to='fake-email@example.com')")
51
52 def test_cf_budget_parent(self):
53 bug = MockBug(bug_id=1, cf_budget_parent=None)
54 with self.assertRaises(AttributeError):
55 bug.cf_budget_parent
56 self.assertIsNone(getattr(bug, "cf_budget_parent", None))
57 bug.cf_budget_parent = 1
58 self.assertEqual(bug.cf_budget_parent, 1)
59 with self.assertRaises(TypeError):
60 bug.cf_budget_parent = "abc"
61 del bug.cf_budget_parent
62 with self.assertRaises(AttributeError):
63 bug.cf_budget_parent
64 with self.assertRaises(AttributeError):
65 del bug.cf_budget_parent
66 with self.assertRaises(AttributeError):
67 bug.cf_budget_parent
68 bug.cf_budget_parent = 5
69 self.assertEqual(bug.cf_budget_parent, 5)
70 bug = MockBug(bug_id=1, cf_budget_parent=2)
71 self.assertEqual(bug.cf_budget_parent, 2)
72
73
74 if __name__ == "__main__":
75 unittest.main()