Files
navidrome-litefs/scripts/cluster_status/tests/test_formatter.py

62 lines
1.7 KiB
Python

import pytest
import output_formatter
def test_format_cluster_summary():
"""Test the summary string generation."""
cluster_data = {
"health": "Healthy",
"primary_count": 1,
"nodes": [],
"nomad_available": False
}
summary = output_formatter.format_summary(cluster_data)
assert "Healthy" in summary
assert "Primaries" in summary
assert "WARNING: Nomad CLI unavailable" in summary
def test_format_node_table():
"""Test the table generation."""
nodes = [
{
"node": "node1",
"role": "primary",
"status": "passing",
"uptime": 100,
"replication_lag": "N/A",
"litefs_primary": True
}
]
table = output_formatter.format_node_table(nodes, use_color=False)
assert "node1" in table
assert "primary" in table
assert "passing" in table
def test_format_diagnostics():
"""Test the diagnostics section generation."""
nodes = [
{
"node": "node3",
"status": "critical",
"check_output": "500 Internal Error",
"litefs_error": "Connection Timeout"
}
]
diagnostics = output_formatter.format_diagnostics(nodes, use_color=False)
assert "DIAGNOSTICS" in diagnostics
assert "node3" in diagnostics
assert "500 Internal Error" in diagnostics
assert "Connection Timeout" in diagnostics
def test_format_diagnostics_empty():
"""Test that diagnostics section is empty when no errors exist."""
nodes = [
{
"node": "node1",
"status": "passing",
"litefs_error": None
}
]
diagnostics = output_formatter.format_diagnostics(nodes, use_color=False)
assert diagnostics == ""