refactor(tests): streamline test code by removing unused imports and optimizing function calls for performance benchmarks
This commit is contained in:
@@ -84,7 +84,7 @@ def test_db_performance():
|
|||||||
# Test unread states for all peers
|
# Test unread states for all peers
|
||||||
print("Testing get_conversations_unread_states()...")
|
print("Testing get_conversations_unread_states()...")
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
unread = db.messages.get_conversations_unread_states(peer_hashes)
|
_ = db.messages.get_conversations_unread_states(peer_hashes)
|
||||||
end_time = time.time()
|
end_time = time.time()
|
||||||
print(
|
print(
|
||||||
f"get_conversations_unread_states() for {len(peer_hashes)} peers took {end_time - start_time:.4f} seconds"
|
f"get_conversations_unread_states() for {len(peer_hashes)} peers took {end_time - start_time:.4f} seconds"
|
||||||
@@ -111,7 +111,7 @@ def test_db_performance():
|
|||||||
|
|
||||||
print("Testing get_filtered_announces()...")
|
print("Testing get_filtered_announces()...")
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
anns = db.announces.get_filtered_announces(limit=100)
|
_ = db.announces.get_filtered_announces(limit=100)
|
||||||
end_time = time.time()
|
end_time = time.time()
|
||||||
print(f"get_filtered_announces() took {end_time - start_time:.4f} seconds")
|
print(f"get_filtered_announces() took {end_time - start_time:.4f} seconds")
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import random
|
|||||||
import secrets
|
import secrets
|
||||||
import psutil
|
import psutil
|
||||||
import gc
|
import gc
|
||||||
from unittest.mock import MagicMock
|
|
||||||
from meshchatx.src.backend.database import Database
|
from meshchatx.src.backend.database import Database
|
||||||
from meshchatx.src.backend.recovery import CrashRecovery
|
from meshchatx.src.backend.recovery import CrashRecovery
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import shutil
|
|||||||
import tempfile
|
import tempfile
|
||||||
import random
|
import random
|
||||||
import secrets
|
import secrets
|
||||||
import gc
|
|
||||||
from unittest.mock import MagicMock
|
|
||||||
|
|
||||||
# Ensure we can import meshchatx
|
# Ensure we can import meshchatx
|
||||||
sys.path.append(os.getcwd())
|
sys.path.append(os.getcwd())
|
||||||
@@ -14,10 +12,8 @@ sys.path.append(os.getcwd())
|
|||||||
import json
|
import json
|
||||||
from meshchatx.src.backend.database import Database
|
from meshchatx.src.backend.database import Database
|
||||||
from meshchatx.src.backend.identity_manager import IdentityManager
|
from meshchatx.src.backend.identity_manager import IdentityManager
|
||||||
from meshchatx.src.backend.announce_manager import AnnounceManager
|
|
||||||
from meshchatx.src.backend.database.telephone import TelephoneDAO
|
from meshchatx.src.backend.database.telephone import TelephoneDAO
|
||||||
from tests.backend.benchmarking_utils import (
|
from tests.backend.benchmarking_utils import (
|
||||||
MemoryTracker,
|
|
||||||
benchmark,
|
benchmark,
|
||||||
get_memory_usage_mb,
|
get_memory_usage_mb,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import pytest
|
import pytest
|
||||||
import json
|
import json
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
from aiohttp import web
|
|
||||||
from meshchatx.meshchat import ReticulumMeshChat
|
from meshchatx.meshchat import ReticulumMeshChat
|
||||||
import RNS
|
import RNS
|
||||||
import asyncio
|
import asyncio
|
||||||
@@ -110,7 +108,7 @@ async def test_app_shutdown_endpoint(mock_rns_minimal, temp_dir):
|
|||||||
|
|
||||||
# We need to patch sys.exit to avoid stopping the test runner
|
# We need to patch sys.exit to avoid stopping the test runner
|
||||||
with (
|
with (
|
||||||
patch("sys.exit") as mock_exit,
|
patch("sys.exit"),
|
||||||
patch("asyncio.sleep", return_value=asyncio.sleep(0)),
|
patch("asyncio.sleep", return_value=asyncio.sleep(0)),
|
||||||
):
|
):
|
||||||
response = await shutdown_handler(request)
|
response = await shutdown_handler(request)
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import json
|
|
||||||
import pytest
|
import pytest
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
from aiohttp import web
|
|
||||||
from meshchatx.meshchat import ReticulumMeshChat
|
from meshchatx.meshchat import ReticulumMeshChat
|
||||||
import RNS
|
import RNS
|
||||||
|
|
||||||
@@ -97,9 +94,6 @@ async def test_app_status_endpoints(mock_rns_minimal, temp_dir):
|
|||||||
app_instance.config.set("changelog_seen_version", "4.0.0")
|
app_instance.config.set("changelog_seen_version", "4.0.0")
|
||||||
assert app_instance.config.get("changelog_seen_version") == "4.0.0"
|
assert app_instance.config.get("changelog_seen_version") == "4.0.0"
|
||||||
|
|
||||||
# Mock request for app_info
|
|
||||||
mock_request = MagicMock()
|
|
||||||
|
|
||||||
# Test app_info returns these values
|
# Test app_info returns these values
|
||||||
with ExitStack() as info_stack:
|
with ExitStack() as info_stack:
|
||||||
info_stack.enter_context(patch("psutil.Process"))
|
info_stack.enter_context(patch("psutil.Process"))
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import pytest
|
import pytest
|
||||||
import asyncio
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
from meshchatx.src.backend.community_interfaces import CommunityInterfacesManager
|
from meshchatx.src.backend.community_interfaces import CommunityInterfacesManager
|
||||||
from meshchatx.src.backend.rnstatus_handler import RNStatusHandler
|
from meshchatx.src.backend.rnstatus_handler import RNStatusHandler
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import os
|
import os
|
||||||
import sqlite3
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import shutil
|
import shutil
|
||||||
from meshchatx.src.backend.database.provider import DatabaseProvider
|
from meshchatx.src.backend.database.provider import DatabaseProvider
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
from unittest.mock import MagicMock, patch
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from meshchatx.src.backend.database import Database
|
from meshchatx.src.backend.database import Database
|
||||||
|
|||||||
@@ -25,15 +25,15 @@ def handler(db):
|
|||||||
def test_log_insertion(handler, db):
|
def test_log_insertion(handler, db):
|
||||||
persistent_handler, logger = handler
|
persistent_handler, logger = handler
|
||||||
logger.info("Test message")
|
logger.info("Test message")
|
||||||
|
|
||||||
# Wait for flush
|
# Wait for flush
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
logger.info("Trigger flush") # emit triggers flush if interval passed
|
logger.info("Trigger flush") # emit triggers flush if interval passed
|
||||||
|
|
||||||
logs = persistent_handler.get_logs(limit=10)
|
logs = persistent_handler.get_logs(limit=10)
|
||||||
assert len(logs) >= 2
|
assert len(logs) >= 2
|
||||||
# Logs are descending by timestamp, so newer is first
|
# Logs are descending by timestamp, so newer is first
|
||||||
messages = [l["message"] for l in logs]
|
messages = [log["message"] for log in logs]
|
||||||
assert "Test message" in messages
|
assert "Test message" in messages
|
||||||
assert "Trigger flush" in messages
|
assert "Trigger flush" in messages
|
||||||
|
|
||||||
@@ -42,15 +42,15 @@ def test_search_and_filter(handler, db):
|
|||||||
persistent_handler, logger = handler
|
persistent_handler, logger = handler
|
||||||
logger.info("Hello world")
|
logger.info("Hello world")
|
||||||
logger.error("Something went wrong")
|
logger.error("Something went wrong")
|
||||||
|
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
logger.debug("Force flush")
|
logger.debug("Force flush")
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
results = persistent_handler.get_logs(search="world")
|
results = persistent_handler.get_logs(search="world")
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
assert "Hello world" in results[0]["message"]
|
assert "Hello world" in results[0]["message"]
|
||||||
|
|
||||||
# Filter by level
|
# Filter by level
|
||||||
results = persistent_handler.get_logs(level="ERROR")
|
results = persistent_handler.get_logs(level="ERROR")
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
@@ -60,48 +60,47 @@ def test_search_and_filter(handler, db):
|
|||||||
def test_anomaly_flooding(handler, db):
|
def test_anomaly_flooding(handler, db):
|
||||||
persistent_handler, logger = handler
|
persistent_handler, logger = handler
|
||||||
persistent_handler.flooding_threshold = 5
|
persistent_handler.flooding_threshold = 5
|
||||||
|
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
logger.info(f"Message {i}")
|
logger.info(f"Message {i}")
|
||||||
|
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
logger.debug("Force flush")
|
logger.debug("Force flush")
|
||||||
|
|
||||||
logs = persistent_handler.get_logs(limit=20)
|
logs = persistent_handler.get_logs(limit=20)
|
||||||
anomalies = [l for l in logs if l["is_anomaly"]]
|
anomalies = [log for log in logs if log["is_anomaly"]]
|
||||||
assert len(anomalies) > 0
|
assert len(anomalies) > 0
|
||||||
assert any(l["anomaly_type"] == "flooding" for l in anomalies)
|
assert any(log["anomaly_type"] == "flooding" for log in anomalies)
|
||||||
|
|
||||||
|
|
||||||
def test_anomaly_repeat(handler, db):
|
def test_anomaly_repeat(handler, db):
|
||||||
persistent_handler, logger = handler
|
persistent_handler, logger = handler
|
||||||
persistent_handler.repeat_threshold = 3
|
persistent_handler.repeat_threshold = 3
|
||||||
|
|
||||||
for _ in range(5):
|
for _ in range(5):
|
||||||
logger.info("Same message")
|
logger.info("Same message")
|
||||||
|
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
logger.debug("Force flush")
|
logger.debug("Force flush")
|
||||||
|
|
||||||
logs = persistent_handler.get_logs(limit=20)
|
logs = persistent_handler.get_logs(limit=20)
|
||||||
anomalies = [l for l in logs if l["is_anomaly"]]
|
anomalies = [log for log in logs if log["is_anomaly"]]
|
||||||
assert len(anomalies) > 0
|
assert len(anomalies) > 0
|
||||||
assert any(l["anomaly_type"] == "repeat" for l in anomalies)
|
assert any(log["anomaly_type"] == "repeat" for log in anomalies)
|
||||||
|
|
||||||
|
|
||||||
def test_log_cleanup(handler, db):
|
def test_log_cleanup(handler, db):
|
||||||
persistent_handler, logger = handler
|
persistent_handler, logger = handler
|
||||||
|
|
||||||
# Insert many logs
|
# Insert many logs
|
||||||
for i in range(100):
|
for i in range(100):
|
||||||
logger.info(f"Log {i}")
|
logger.info(f"Log {i}")
|
||||||
|
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
logger.debug("Trigger cleanup")
|
logger.debug("Trigger cleanup")
|
||||||
|
|
||||||
# Force cleanup with small limit
|
# Force cleanup with small limit
|
||||||
db.debug_logs.cleanup_old_logs(max_logs=10)
|
db.debug_logs.cleanup_old_logs(max_logs=10)
|
||||||
|
|
||||||
count = db.debug_logs.get_total_count()
|
|
||||||
assert count <= 11 # 10 + the trigger log
|
|
||||||
|
|
||||||
|
count = db.debug_logs.get_total_count()
|
||||||
|
assert count <= 11 # 10 + the trigger log
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import asyncio
|
|
||||||
import json
|
|
||||||
from unittest.mock import AsyncMock, MagicMock, patch
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
from contextlib import ExitStack
|
from contextlib import ExitStack
|
||||||
import pytest
|
import pytest
|
||||||
@@ -243,7 +241,6 @@ async def test_hotswap_identity_recovery(mock_rns, temp_dir):
|
|||||||
|
|
||||||
# Mock setup_identity to fail first time (after hotswap start),
|
# Mock setup_identity to fail first time (after hotswap start),
|
||||||
# but the second call (recovery) should succeed.
|
# but the second call (recovery) should succeed.
|
||||||
original_setup = app.setup_identity
|
|
||||||
app.setup_identity = MagicMock(side_effect=[Exception("Setup failed"), None])
|
app.setup_identity = MagicMock(side_effect=[Exception("Setup failed"), None])
|
||||||
app.teardown_identity = MagicMock()
|
app.teardown_identity = MagicMock()
|
||||||
app.websocket_broadcast = AsyncMock()
|
app.websocket_broadcast = AsyncMock()
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import json
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from meshchatx.src.backend.integrity_manager import IntegrityManager
|
from meshchatx.src.backend.integrity_manager import IntegrityManager
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import asyncio
|
|
||||||
from unittest.mock import AsyncMock, MagicMock, patch
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
from contextlib import ExitStack
|
from contextlib import ExitStack
|
||||||
import pytest
|
import pytest
|
||||||
@@ -9,7 +7,6 @@ import RNS
|
|||||||
import LXMF
|
import LXMF
|
||||||
|
|
||||||
from meshchatx.meshchat import ReticulumMeshChat
|
from meshchatx.meshchat import ReticulumMeshChat
|
||||||
from meshchatx.src.backend.lxmf_message_fields import LxmfImageField
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import LXMF
|
|||||||
from meshchatx.src.backend.lxmf_utils import (
|
from meshchatx.src.backend.lxmf_utils import (
|
||||||
convert_lxmf_message_to_dict,
|
convert_lxmf_message_to_dict,
|
||||||
convert_lxmf_state_to_string,
|
convert_lxmf_state_to_string,
|
||||||
convert_lxmf_method_to_string,
|
|
||||||
convert_db_lxmf_message_to_dict,
|
convert_db_lxmf_message_to_dict,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,10 @@ import unittest
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import random
|
|
||||||
import secrets
|
import secrets
|
||||||
from meshchatx.src.backend.database import Database
|
from meshchatx.src.backend.database import Database
|
||||||
from meshchatx.src.backend.identity_manager import IdentityManager
|
from meshchatx.src.backend.identity_manager import IdentityManager
|
||||||
from meshchatx.src.backend.announce_manager import AnnounceManager
|
from tests.backend.benchmarking_utils import MemoryTracker
|
||||||
from tests.backend.benchmarking_utils import MemoryTracker, get_memory_usage_mb
|
|
||||||
|
|
||||||
|
|
||||||
class TestMemoryProfiling(unittest.TestCase):
|
class TestMemoryProfiling(unittest.TestCase):
|
||||||
@@ -111,8 +109,6 @@ class TestMemoryProfiling(unittest.TestCase):
|
|||||||
|
|
||||||
def test_announce_manager_leaks(self):
|
def test_announce_manager_leaks(self):
|
||||||
"""Test for memory leaks in AnnounceManager during repeated updates."""
|
"""Test for memory leaks in AnnounceManager during repeated updates."""
|
||||||
announce_manager = AnnounceManager(self.db)
|
|
||||||
|
|
||||||
with MemoryTracker("Announce Stress (2k unique announces)") as tracker:
|
with MemoryTracker("Announce Stress (2k unique announces)") as tracker:
|
||||||
for i in range(2000):
|
for i in range(2000):
|
||||||
data = {
|
data = {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock
|
||||||
from meshchatx.src.backend.message_handler import MessageHandler
|
from meshchatx.src.backend.message_handler import MessageHandler
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock
|
||||||
from meshchatx.src.backend.nomadnet_downloader import NomadnetDownloader
|
from meshchatx.src.backend.nomadnet_downloader import NomadnetDownloader
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import os
|
|||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
import random
|
|
||||||
import secrets
|
import secrets
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
from meshchatx.src.backend.database import Database
|
from meshchatx.src.backend.database import Database
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ def test_setup_receive_destination(mock_rns, temp_dir):
|
|||||||
handler = RNCPHandler(mock_rns["Reticulum"], mock_rns["id_instance"], temp_dir)
|
handler = RNCPHandler(mock_rns["Reticulum"], mock_rns["id_instance"], temp_dir)
|
||||||
|
|
||||||
mock_rns["Reticulum"].identitypath = temp_dir
|
mock_rns["Reticulum"].identitypath = temp_dir
|
||||||
dest_hash = handler.setup_receive_destination(
|
_ = handler.setup_receive_destination(
|
||||||
allowed_hashes=["abc123def456"], fetch_allowed=True, fetch_jail=temp_dir
|
allowed_hashes=["abc123def456"], fetch_allowed=True, fetch_jail=temp_dir
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import threading
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import RNS
|
import RNS
|
||||||
import LXMF
|
|
||||||
|
|
||||||
from meshchatx.meshchat import ReticulumMeshChat
|
from meshchatx.meshchat import ReticulumMeshChat
|
||||||
|
|
||||||
@@ -85,12 +82,8 @@ def test_reticulum_meshchat_init(mock_rns, temp_dir):
|
|||||||
patch("meshchatx.src.backend.identity_context.MapManager"),
|
patch("meshchatx.src.backend.identity_context.MapManager"),
|
||||||
patch("meshchatx.src.backend.identity_context.DocsManager"),
|
patch("meshchatx.src.backend.identity_context.DocsManager"),
|
||||||
patch("meshchatx.src.backend.identity_context.NomadNetworkManager"),
|
patch("meshchatx.src.backend.identity_context.NomadNetworkManager"),
|
||||||
patch(
|
patch("meshchatx.src.backend.identity_context.TelephoneManager"),
|
||||||
"meshchatx.src.backend.identity_context.TelephoneManager"
|
patch("meshchatx.src.backend.identity_context.VoicemailManager"),
|
||||||
) as mock_tel_class,
|
|
||||||
patch(
|
|
||||||
"meshchatx.src.backend.identity_context.VoicemailManager"
|
|
||||||
) as mock_vm_class,
|
|
||||||
patch("meshchatx.src.backend.identity_context.RingtoneManager"),
|
patch("meshchatx.src.backend.identity_context.RingtoneManager"),
|
||||||
patch("meshchatx.src.backend.identity_context.RNCPHandler"),
|
patch("meshchatx.src.backend.identity_context.RNCPHandler"),
|
||||||
patch("meshchatx.src.backend.identity_context.RNStatusHandler"),
|
patch("meshchatx.src.backend.identity_context.RNStatusHandler"),
|
||||||
@@ -206,7 +199,7 @@ def test_reticulum_meshchat_init_database_failure_recovery(mock_rns, temp_dir):
|
|||||||
# Fail the first initialize call
|
# Fail the first initialize call
|
||||||
mock_db_instance.initialize.side_effect = [Exception("DB Error"), None]
|
mock_db_instance.initialize.side_effect = [Exception("DB Error"), None]
|
||||||
|
|
||||||
app = ReticulumMeshChat(
|
_ = ReticulumMeshChat(
|
||||||
identity=mock_rns["id_instance"],
|
identity=mock_rns["id_instance"],
|
||||||
storage_dir=temp_dir,
|
storage_dir=temp_dir,
|
||||||
reticulum_config_dir=temp_dir,
|
reticulum_config_dir=temp_dir,
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import os
|
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import base64
|
import base64
|
||||||
@@ -153,7 +152,7 @@ def test_database_integrity_recovery(mock_rns, temp_dir):
|
|||||||
mock_config.auth_session_secret.get.return_value = "test_secret"
|
mock_config.auth_session_secret.get.return_value = "test_secret"
|
||||||
mock_config.display_name.get.return_value = "Test"
|
mock_config.display_name.get.return_value = "Test"
|
||||||
|
|
||||||
app = ReticulumMeshChat(
|
_ = ReticulumMeshChat(
|
||||||
identity=mock_rns["id_instance"],
|
identity=mock_rns["id_instance"],
|
||||||
storage_dir=temp_dir,
|
storage_dir=temp_dir,
|
||||||
reticulum_config_dir=temp_dir,
|
reticulum_config_dir=temp_dir,
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import asyncio
|
|
||||||
import time
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -26,7 +24,6 @@ async def test_initiation_status_updates(telephone_manager):
|
|||||||
|
|
||||||
telephone_manager.on_initiation_status_callback = status_callback
|
telephone_manager.on_initiation_status_callback = status_callback
|
||||||
destination_hash = b"\x01" * 32
|
destination_hash = b"\x01" * 32
|
||||||
destination_hash_hex = destination_hash.hex()
|
|
||||||
|
|
||||||
# Mock RNS.Identity.recall to return an identity immediately
|
# Mock RNS.Identity.recall to return an identity immediately
|
||||||
with patch.object(RNS.Identity, "recall") as mock_recall:
|
with patch.object(RNS.Identity, "recall") as mock_recall:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock, patch, mock_open
|
from unittest.mock import MagicMock, patch
|
||||||
from meshchatx.src.backend.translator_handler import TranslatorHandler
|
from meshchatx.src.backend.translator_handler import TranslatorHandler
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
import threading
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
import threading
|
|
||||||
import time
|
|
||||||
import socket
|
import socket
|
||||||
from meshchatx.src.backend.interfaces.WebsocketServerInterface import (
|
from meshchatx.src.backend.interfaces.WebsocketServerInterface import (
|
||||||
WebsocketServerInterface,
|
WebsocketServerInterface,
|
||||||
|
|||||||
Reference in New Issue
Block a user