Sunil Mohan Adapa 4b09d91f93
*: Add type hints for diagnose method
Helps: #2410.

- Ensure that diagnostics methods and parameters are type checked so that we can
catch any potential issues.

- Move plinth/modules/diagnostics/check.py to plinth/diagnostic_check.py to
avoid many circular dependencies created. This is due to
plinth.modules.diagnostics automatically imported when
plinth.modules.diagnostics.check is imported. Also app.py is already (type)
dependent on diagnostic_check due to diagnose() method. To make the Check
classes independent of diagnostic module is okay.

Tests:

- Run make check-type.

- Run full diagnostics with following apps installed: torproxy, tor.
  - Test to netcat to 9051 in tor works.
  - Test 'port available for internal/external networks' in firewall works.
  - Test 'Package is latest' works.
  - Test 'Access url with proxy' in privoxy works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
[jvalleroy: Also move tests for diagnostic_check]
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-03-09 14:23:33 -05:00

45 lines
634 B
ReStructuredText

.. SPDX-License-Identifier: CC-BY-SA-4.0
Components
----------
.. toctree::
:caption: Available components:
info
enablestate
menu
packages
config
daemon
firewall
webserver
frontpage
domain
letsencrypt
users
staticfiles
backups
coturn
Base Classes
^^^^^^^^^^^^
.. autoclass:: plinth.app.Component
:members:
.. autoclass:: plinth.app.LeaderComponent
:members:
.. autoclass:: plinth.app.FollowerComponent
:members:
Other Classes
^^^^^^^^^^^^^
.. autoclass:: plinth.diagnostic_check.DiagnosticCheck
:members:
.. autoclass:: plinth.diagnostic_check.Result
:members: