Files
colony/tests/helpers.py
T
2026-09-19 20:39:12 +02:00

37 lines
799 B
Python

import socket
import threading
from pathlib import Path
from colony.core.roles.role import Role
from colony.transport.listener import Listener
REPO_ROOT = Path(__file__).resolve().parent.parent
CERT = str(REPO_ROOT / "certs" / "server.crt")
KEY = str(REPO_ROOT / "certs" / "server.key")
def free_port():
with socket.socket() as s:
s.bind(("127.0.0.1", 0))
return s.getsockname()[1]
def start_listener(dispatcher):
listener = Listener(dispatcher, host="127.0.0.1", port=0, cert_file=CERT, keyfile=KEY)
listener.bind()
threading.Thread(target=listener.start, daemon=True).start()
return listener
class StubRole(Role):
def __init__(self, context):
super().__init__({}, context)
class RoleA(StubRole):
pass
class RoleB(StubRole):
pass