"""Starts and runs releasse version of MoreThanText server.""" from asyncio import create_subprocess_exec from pathlib import Path from release_tests.support import ADDR, get_port EXECUTABLE = Path.cwd().joinpath("target", "release", "morethantext") class MTTServer: """Runs a MoreThanText server.""" def __init__(self): """Initialization""" self.port = get_port() self.cmd = [EXECUTABLE, "-a", ADDR, "-p", str(self.port)] self.server = None @property def baseurl(self): """URL to server""" return f"http://{ADDR}:{self.port}" async def start(self): """Starts the server.""" self.server = await create_subprocess_exec(*self.cmd)