Coverage for custom_components/remote_logger/syslog/const.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2026-02-18 22:41 +0000

1import voluptuous as vol 

2 

3from custom_components.remote_logger.const import ( 

4 CONF_APP_NAME, 

5 CONF_BATCH_MAX_SIZE, 

6 CONF_FACILITY, 

7 CONF_HOST, 

8 CONF_PORT, 

9 CONF_PROTOCOL, 

10 CONF_USE_TLS, 

11 DEFAULT_BATCH_MAX_SIZE, 

12 DEFAULT_USE_TLS, 

13) 

14 

15# Syslog severity mapping: HA log level string -> RFC 5424 severity code 

16SYSLOG_SEVERITY_MAP: dict[str, int] = { 

17 "DEBUG": 7, 

18 "INFO": 6, 

19 "WARNING": 4, 

20 "ERROR": 3, 

21 "CRITICAL": 2, 

22} 

23 

24DEFAULT_SYSLOG_SEVERITY = 6 # Informational 

25 

26# Syslog facility mapping: name -> numeric code 

27SYSLOG_FACILITY_MAP: dict[str, int] = { 

28 "kern": 0, 

29 "user": 1, 

30 "mail": 2, 

31 "daemon": 3, 

32 "auth": 4, 

33 "syslog": 5, 

34 "lpr": 6, 

35 "news": 7, 

36 "local0": 16, 

37 "local1": 17, 

38 "local2": 18, 

39 "local3": 19, 

40 "local4": 20, 

41 "local5": 21, 

42 "local6": 22, 

43 "local7": 23, 

44} 

45 

46# Syslog defaults 

47DEFAULT_SYSLOG_PORT = 514 

48PROTOCOL_UDP = "udp" 

49PROTOCOL_TCP = "tcp" 

50DEFAULT_PROTOCOL = PROTOCOL_UDP 

51DEFAULT_APP_NAME = "homeassistant" 

52DEFAULT_FACILITY = "local0" 

53 

54SYSLOG_DATA_SCHEMA = vol.Schema({ 

55 vol.Required(CONF_HOST): str, 

56 vol.Optional(CONF_PORT, default=DEFAULT_SYSLOG_PORT): int, 

57 vol.Optional(CONF_PROTOCOL, default=DEFAULT_PROTOCOL): vol.In([PROTOCOL_UDP, PROTOCOL_TCP]), 

58 vol.Optional(CONF_USE_TLS, default=DEFAULT_USE_TLS): bool, 

59 vol.Optional(CONF_APP_NAME, default=DEFAULT_APP_NAME): str, 

60 vol.Optional(CONF_FACILITY, default=DEFAULT_FACILITY): vol.In(list(SYSLOG_FACILITY_MAP.keys())), 

61 vol.Optional(CONF_BATCH_MAX_SIZE, default=DEFAULT_BATCH_MAX_SIZE): vol.All(int, vol.Range(min=1, max=10000)), 

62})