97966da60aa37033d370e978115a74eb879be891
4 class TestObserver(unittest
.TestCase
):
5 def _make_observer(self
, *args
):
6 from juju
.model
import _Observer
7 return _Observer(*args
)
9 def _make_delta(self
, entity
, type_
, data
=None):
10 from juju
.delta
import ApplicationDelta
11 return ApplicationDelta([entity
, type_
, data
])
13 def test_cares_about_id(self
):
16 o
= self
._make
_observer
(
17 None, None, None, id_
, None)
19 delta
= self
._make
_delta
(
20 'application', 'change', dict(name
=id_
))
22 self
.assertTrue(o
.cares_about(delta
))
24 def test_cares_about_type(self
):
27 o
= self
._make
_observer
(
28 None, type_
, None, None, None)
30 delta
= self
._make
_delta
(
31 type_
, 'change', dict(name
='foo'))
33 self
.assertTrue(o
.cares_about(delta
))
35 def test_cares_about_action(self
):
38 o
= self
._make
_observer
(
39 None, None, action
, None, None)
41 delta
= self
._make
_delta
(
42 'application', action
, dict(name
='foo'))
44 self
.assertTrue(o
.cares_about(delta
))
46 def test_cares_about_predicate(self
):
48 return delta
.data
.get('fizz') == 'bang'
50 o
= self
._make
_observer
(
51 None, None, None, None, predicate
)
53 delta
= self
._make
_delta
(
54 'application', 'change', dict(fizz
='bang'))
56 self
.assertTrue(o
.cares_about(delta
))