API: add performance constraints
This commit is contained in:
@@ -1,27 +1,23 @@
|
||||
import time
|
||||
|
||||
import pytest
|
||||
from fixtures_flakes import FlakeForTest
|
||||
|
||||
from clan_cli.api.modules import list_modules, show_module_info
|
||||
from clan_cli.api.modules import list_modules
|
||||
|
||||
|
||||
@pytest.mark.with_core
|
||||
def test_list_modules(test_flake_with_core: FlakeForTest) -> None:
|
||||
base_path = test_flake_with_core.path
|
||||
module_list = list_modules(base_path)
|
||||
assert isinstance(module_list, list)
|
||||
assert len(module_list) > 1
|
||||
st = time.time()
|
||||
modules_info = list_modules(base_path)
|
||||
et = time.time()
|
||||
elapsed = et - st
|
||||
|
||||
# Listing should take less than a second
|
||||
assert elapsed < 1
|
||||
|
||||
assert len(modules_info.items()) > 1
|
||||
# Random test for those two modules
|
||||
assert "borgbackup" in module_list
|
||||
assert "syncthing" in module_list
|
||||
|
||||
|
||||
@pytest.mark.with_core
|
||||
def test_modules_details(test_flake_with_core: FlakeForTest) -> None:
|
||||
base_path = test_flake_with_core.path
|
||||
test_module = "borgbackup"
|
||||
module_info = show_module_info(base_path, test_module)
|
||||
assert module_info.description is not None and module_info.description != ""
|
||||
assert module_info.categories and "backup" in module_info.categories
|
||||
assert module_info.roles
|
||||
assert set(module_info.roles) == {"server", "client"}
|
||||
assert module_info.readme is not None and module_info.readme != ""
|
||||
assert "borgbackup" in modules_info.keys()
|
||||
assert "syncthing" in modules_info.keys()
|
||||
|
||||
Reference in New Issue
Block a user