mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
Any privileged action (a method) can be marked as such with the new decorator. A call to the method will be serialized into a sudo call (or later into a D-Bus call). The method arguments are turned to JSON and method is called as superuser. Arguments are de-serialized and are verified for type before the actual call as superuser. Return values are serialized and returned where they are de-serialized. Exceptions are also serialized and de-serialized. The method must have be strictly typed and should not have keyword-only arguments. Currently supported types are int, float, str, dict/Dict, list/List and Optional. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
16 lines
445 B
Python
16 lines
445 B
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
"""
|
|
Test module for module loading mechanism.
|
|
"""
|
|
|
|
from unittest.mock import mock_open, patch
|
|
|
|
from plinth import module_loader
|
|
|
|
|
|
@patch('pathlib.Path.open', mock_open(read_data='plinth.modules.apache\n'))
|
|
def test_get_module_import_path():
|
|
"""Returning the module import path."""
|
|
import_path = module_loader.get_module_import_path('apache')
|
|
assert import_path == 'plinth.modules.apache'
|