mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
# SPDX-License-Identifier: 0BSD
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
ABLE_ROOT = (
|
|
Path(__file__).resolve().parents[2] / "android" / "app" / "src" / "main" / "python"
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
def able_path(monkeypatch):
|
|
monkeypatch.syspath_prepend(str(ABLE_ROOT))
|
|
for name in list(sys.modules):
|
|
if name == "able" or name.startswith("able."):
|
|
monkeypatch.delitem(sys.modules, name, raising=False)
|
|
yield
|
|
for name in list(sys.modules):
|
|
if name == "able" or name.startswith("able."):
|
|
monkeypatch.delitem(sys.modules, name, raising=False)
|
|
|
|
|
|
def test_able_services_search(able_path):
|
|
from able.structures import Services
|
|
|
|
services = Services(
|
|
{
|
|
"service0": {"c1-aa": 0, "aa-c2-aa": 1},
|
|
"service1": {"bb-c3-bb": 2},
|
|
},
|
|
)
|
|
assert services.search("c3") == 2
|
|
assert services.search("c4") is None
|
|
|
|
|
|
def test_able_queue_runs_immediate_tasks(able_path):
|
|
from able.queue import BLEQueue
|
|
|
|
seen = []
|
|
queue = BLEQueue(timeout=0)
|
|
queue.enque(lambda: seen.append("ok"))
|
|
assert seen == ["ok"]
|