4f926fcb10ddd91f8cb4911fb4bafdf4519491a3
1 from typing
import Optional
, Union
2 from budget_sync
.util
import BugStatus
8 cf_budget_parent
: Optional
[int] = None,
10 cf_total_budget
: str = "0",
11 cf_nlnet_milestone
: Optional
[str] = None,
12 cf_payees_list
: str = "",
13 summary
: str = "<default summary>",
14 status
: Union
[str, BugStatus
] = BugStatus
.CONFIRMED
,
15 assigned_to
: str = "user@example.com",
16 cf_is_in_nlnet_mou2
: str = ""):
18 self
.__budget
_parent
= cf_budget_parent
19 self
.cf_budget
= cf_budget
20 self
.cf_total_budget
= cf_total_budget
21 if cf_nlnet_milestone
is None:
22 cf_nlnet_milestone
= "---"
23 self
.cf_nlnet_milestone
= cf_nlnet_milestone
24 self
.cf_payees_list
= cf_payees_list
25 self
.summary
= summary
26 self
.status
= str(status
)
27 self
.assigned_to
= assigned_to
28 self
.cf_is_in_nlnet_mou2
= cf_is_in_nlnet_mou2
31 def cf_budget_parent(self
) -> int:
32 if self
.__budget
_parent
is None:
34 "'MockBug' object has no attribute 'cf_budget_parent'")
35 return self
.__budget
_parent
37 @cf_budget_parent.setter
38 def cf_budget_parent(self
, value
: int):
39 if isinstance(value
, int):
40 self
.__budget
_parent
= value
42 raise TypeError("cf_budget_parent must be an int")
44 @cf_budget_parent.deleter
45 def cf_budget_parent(self
):
46 self
.cf_budget_parent
# trigger AttributeError if property cleared
47 self
.__budget
_parent
= None
50 cf_budget_parent
= getattr(self
, "cf_budget_parent", None)
51 status
= BugStatus
.cast(self
.status
, unknown_allowed
=True)
52 return (f
"MockBug(bug_id={self.id!r}, "
53 f
"cf_budget_parent={cf_budget_parent!r}, "
54 f
"cf_budget={self.cf_budget!r}, "
55 f
"cf_total_budget={self.cf_total_budget!r}, "
56 f
"cf_nlnet_milestone={self.cf_nlnet_milestone!r}, "
57 f
"cf_payees_list={self.cf_payees_list!r}, "
58 f
"summary={self.summary!r}, "
59 f
"status={status!r}, "
60 f
"assigned_to={self.assigned_to!r})")