Reviewed source snapshot: 6f61f862391424d7175263c87e76380218513617 Default compact display and repository layout from the prior accepted local baseline are included.
41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
"""Display filtering must not hide findings or alter machine-readable evidence."""
|
|
import json
|
|
import pytest
|
|
from proxydoctor.console import Console
|
|
|
|
|
|
@pytest.mark.parametrize('lang,empty', [('zh','未知'), ('en','Unknown')])
|
|
@pytest.mark.parametrize('framed', [False, True])
|
|
def test_only_empty_observations_hidden(capsys, lang, empty, framed):
|
|
out=Console(lang,'never',hide_unavailable=True)
|
|
if framed:out.frame_open('Test')
|
|
out.row('missing-row',empty,'unknown')
|
|
out.row('measured-failure','connection refused','bad')
|
|
out.row('limit','Exclusivity unconfirmed','unknown')
|
|
if framed:out.frame_close()
|
|
text=capsys.readouterr().out
|
|
assert 'missing-row' not in text
|
|
assert 'connection refused' in text
|
|
assert 'Exclusivity unconfirmed' in text
|
|
|
|
|
|
def test_verbose_display_preserves_unknown(capsys):
|
|
Console('en','never').row('missing','Unknown','unknown')
|
|
assert 'Unknown' in capsys.readouterr().out
|
|
|
|
|
|
def test_offline_compact_report_keeps_skipped_modules(tmp_path, monkeypatch, capsys):
|
|
from proxydoctor.suite import run_suite
|
|
monkeypatch.chdir(tmp_path)
|
|
report=tmp_path/'compact.json'
|
|
code=run_suite(lang='en',offline=True,json_output=report,color='never')
|
|
assert code in (0,1)
|
|
text=capsys.readouterr().out
|
|
assert 'Skipped offline' not in text
|
|
data=json.loads(report.read_text())
|
|
for name in ('network','route','media','ip_quality'):
|
|
assert data['modules'][name]['status']=='skipped'
|
|
verbose=tmp_path/'verbose.json'
|
|
assert run_suite(lang='en',offline=True,json_output=verbose,color='never',show_unavailable=True) in (0,1)
|
|
assert 'Skipped offline' in capsys.readouterr().out
|