37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
import os
|
|
|
|
from charms.unit_test import patch_module, identity, MockKV, flags, MockEndpoint
|
|
|
|
|
|
ch = patch_module("charmhelpers")
|
|
ch.core.hookenv.atexit = identity
|
|
ch.core.hookenv.charm_dir.return_value = "charm_dir"
|
|
ch.core.unitdata.kv.return_value = MockKV()
|
|
|
|
reactive = patch_module("charms.reactive")
|
|
reactive.when.return_value = identity
|
|
reactive.when_all.return_value = identity
|
|
reactive.when_any.return_value = identity
|
|
reactive.when_not.return_value = identity
|
|
reactive.when_not_all.return_value = identity
|
|
reactive.when_none.return_value = identity
|
|
reactive.hook.return_value = identity
|
|
reactive.set_flag.side_effect = flags.add
|
|
reactive.clear_flag.side_effect = flags.discard
|
|
reactive.set_state.side_effect = flags.add
|
|
reactive.remove_state.side_effect = flags.discard
|
|
reactive.toggle_flag.side_effect = lambda f, s: (
|
|
flags.add(f) if s else flags.discard(f)
|
|
)
|
|
reactive.is_flag_set.side_effect = lambda f: f in flags
|
|
reactive.is_state.side_effect = lambda f: f in flags
|
|
reactive.get_flags.side_effect = lambda: sorted(flags)
|
|
reactive.get_unset_flags.side_effect = lambda *f: sorted(set(f) - flags)
|
|
|
|
reactive.Endpoint = MockEndpoint
|
|
|
|
os.environ["JUJU_MODEL_UUID"] = "test-1234"
|
|
os.environ["JUJU_UNIT_NAME"] = "test/0"
|
|
os.environ["JUJU_MACHINE_ID"] = "0"
|
|
os.environ["JUJU_AVAILABILITY_ZONE"] = ""
|