core-lightning/tests/plugins/pretend_badlog.py
trueptolemy 4d08ed2fa6 pytest: Add a test for the 'warning' subscription and notification
1. Create a plugin: ./lightning/tests/plugins/pretend_badlog.py
This plugin subscribes 'warning' notification and log the payload of
'warning';
2. Add a new test: tests/test_plugin.py::test_warning_notification
This test runs the plugin-pretend_badlog.py and check if 'warning'
notification can be normal triggered and subscribed.
2019-06-07 01:23:51 +00:00

33 lines
822 B
Python
Executable File

#!/usr/bin/env python3
"""This plugin is used to check that warning(unusual/broken level log) calls are working correctly.
"""
from lightning import Plugin
plugin = Plugin()
@plugin.init()
def init(configuration, options, plugin):
plugin.log("initialized")
@plugin.subscribe("warning")
def notify_warning(plugin, warning):
plugin.log("Received warning")
plugin.log("level: {}".format(warning['level']))
plugin.log("time: {}".format(warning['time']))
plugin.log("source: {}".format(warning['source']))
plugin.log("log: {}".format(warning['log']))
@plugin.method("pretendbad")
def pretend_bad(event, level, plugin):
"""Log an specified level entry.
And in plugin, we use 'warn'/'error' instead of
'unusual'/'broken'
"""
plugin.log("{}".format(event), level)
plugin.run()