Skip to content

Commit

Permalink
feat(anta): Added the test case to verify syslog logging is enabled (a…
Browse files Browse the repository at this point in the history
  • Loading branch information
vitthalmagadum authored Jan 14, 2025
1 parent 44d34f3 commit 5389bb0
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
29 changes: 29 additions & 0 deletions anta/tests/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,35 @@ def _get_logging_states(logger: logging.Logger, command_output: str) -> str:
return log_states


class VerifySyslogLogging(AntaTest):
"""Verifies if syslog logging is enabled.
Expected Results
----------------
* Success: The test will pass if syslog logging is enabled.
* Failure: The test will fail if syslog logging is disabled.
Examples
--------
```yaml
anta.tests.logging:
- VerifySyslogLogging:
```
"""

categories: ClassVar[list[str]] = ["logging"]
commands: ClassVar[list[AntaCommand | AntaTemplate]] = [AntaCommand(command="show logging", ofmt="text")]

@AntaTest.anta_test
def test(self) -> None:
"""Main test function for VerifySyslogLogging."""
self.result.is_success()
log_output = self.instance_commands[0].text_output

if "Syslog logging: enabled" not in _get_logging_states(self.logger, log_output):
self.result.is_failure("Syslog logging is disabled.")


class VerifyLoggingPersistent(AntaTest):
"""Verifies if logging persistent is enabled and logs are saved in flash.
Expand Down
2 changes: 2 additions & 0 deletions examples/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,8 @@ anta.tests.logging:
vrf: default
- VerifyLoggingTimestamp:
# Verifies if logs are generated with the appropriate timestamp.
- VerifySyslogLogging:
# Verifies if syslog logging is enabled.
anta.tests.mlag:
- VerifyMlagConfigSanity:
# Verifies there are no MLAG config-sanity inconsistencies.
Expand Down
42 changes: 42 additions & 0 deletions tests/units/anta_tests/test_logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
VerifyLoggingPersistent,
VerifyLoggingSourceIntf,
VerifyLoggingTimestamp,
VerifySyslogLogging,
)
from tests.units.anta_tests import test

Expand Down Expand Up @@ -277,4 +278,45 @@
"inputs": None,
"expected": {"result": "failure", "messages": ["Device has reported syslog messages with a severity of ERRORS or higher"]},
},
{
"name": "success",
"test": VerifySyslogLogging,
"eos_data": [
"""Syslog logging: enabled
Buffer logging: level debugging
External configuration:
active:
inactive:
Facility Severity Effective Severity
-------------------- ------------- ------------------
aaa debugging debugging
accounting debugging debugging""",
],
"inputs": None,
"expected": {"result": "success"},
},
{
"name": "failure",
"test": VerifySyslogLogging,
"eos_data": [
"""Syslog logging: disabled
Buffer logging: level debugging
Console logging: level errors
Persistent logging: disabled
Monitor logging: level errors
External configuration:
active:
inactive:
Facility Severity Effective Severity
-------------------- ------------- ------------------
aaa debugging debugging
accounting debugging debugging""",
],
"inputs": None,
"expected": {"result": "failure", "messages": ["Syslog logging is disabled."]},
},
]

0 comments on commit 5389bb0

Please sign in to comment.