mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-02-04 08:13:38 +00:00
- Ensure that each diagnostic test category can be identified by easy prefix matching on the test ID. - Give a different unique IDs each different kind of test. More specific tests of a type get a different kind of ID. - Make comparison of diagnostic test results in test cases more comprehensive. - Simplify code that shows the number if issues identified. - In many languages, there is complex logic to write plural forms. Plurals can't be handled by assuming singular = 1 item and plural is > 1. Translation of messages in Notification does not support plurals properly. Avoid this for now by using sometimes incorrect plural form. - For i18n we should avoid joining phrases/words. Words don't always maintain order after translation. - Notify about the total number of issues in diagnostics and not just the most severe category. This is likely to draw more attention and avoid i18n complexity. - Dismiss the diagnostic notification if the latest run succeeded completely. Tests: - Unit tests pass. - Diagnostics for following apps works: networks (drop-in config), apache (daemon, listen address, internal firewall, external firewall), tor (netcat), torproxy (internal only firewall, torproxy url, torproxy using tor), privoxy (privoxy url, package available, package latest), - Untested: Is release file available method in upgrades app. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
31 lines
982 B
Python
31 lines
982 B
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
"""Tests for diagnostic check data type."""
|
|
|
|
import pytest
|
|
|
|
from plinth.modules.diagnostics.check import DiagnosticCheck, Result
|
|
|
|
|
|
def test_result():
|
|
"""Test result enum type."""
|
|
assert Result.__members__['ERROR'].name == 'ERROR'
|
|
assert Result.__members__['ERROR'].value == 'error'
|
|
assert Result.NOT_DONE == 'not_done'
|
|
assert Result.PASSED == 'passed'
|
|
assert Result.WARNING == 'warning'
|
|
assert Result.FAILED == 'failed'
|
|
assert Result.ERROR == 'error'
|
|
|
|
|
|
def test_diagnostic_check():
|
|
"""Test the diagnostic check data class."""
|
|
with pytest.raises(TypeError):
|
|
DiagnosticCheck()
|
|
|
|
check = DiagnosticCheck('some-check-id', 'sample check')
|
|
assert check.check_id == 'some-check-id'
|
|
assert check.description == 'sample check'
|
|
assert check.result == Result.NOT_DONE
|
|
check = DiagnosticCheck('some-check-id', 'sample check', Result.PASSED)
|
|
assert check.result == Result.PASSED
|