Allow stream log level to change at runtime (#66153)
This commit is contained in:
parent
a4ba511276
commit
4efada7db0
3 changed files with 48 additions and 5 deletions
46
tests/components/stream/test_init.py
Normal file
46
tests/components/stream/test_init.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
"""Test stream init."""
|
||||
|
||||
import logging
|
||||
|
||||
import av
|
||||
|
||||
from homeassistant.components.stream import __name__ as stream_name
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
|
||||
async def test_log_levels(hass, caplog):
|
||||
"""Test that the worker logs the url without username and password."""
|
||||
|
||||
logging.getLogger(stream_name).setLevel(logging.INFO)
|
||||
|
||||
await async_setup_component(hass, "stream", {"stream": {}})
|
||||
|
||||
# These namespaces should only pass log messages when the stream logger
|
||||
# is at logging.DEBUG or below
|
||||
namespaces_to_toggle = (
|
||||
"mp4",
|
||||
"h264",
|
||||
"hevc",
|
||||
"rtsp",
|
||||
"tcp",
|
||||
"tls",
|
||||
"mpegts",
|
||||
"NULL",
|
||||
)
|
||||
|
||||
# Since logging is at INFO, these should not pass
|
||||
for namespace in namespaces_to_toggle:
|
||||
av.logging.log(av.logging.ERROR, namespace, "SHOULD NOT PASS")
|
||||
|
||||
logging.getLogger(stream_name).setLevel(logging.DEBUG)
|
||||
|
||||
# Since logging is now at DEBUG, these should now pass
|
||||
for namespace in namespaces_to_toggle:
|
||||
av.logging.log(av.logging.ERROR, namespace, "SHOULD PASS")
|
||||
|
||||
# Even though logging is at DEBUG, these should not pass
|
||||
av.logging.log(av.logging.WARNING, "mp4", "SHOULD NOT PASS")
|
||||
av.logging.log(av.logging.WARNING, "swscaler", "SHOULD NOT PASS")
|
||||
|
||||
assert "SHOULD PASS" in caplog.text
|
||||
assert "SHOULD NOT PASS" not in caplog.text
|
Loading…
Add table
Add a link
Reference in a new issue