"""this mocks a translate serve for etsting.""" from aiohttp import web from release_tests.support import ADDR, get_port class Translate: """Creates a translation mock for release testing.""" def __init__(self, url="/", replies=["Hello"]): """Initialize""" async def reply(_): """response to return""" nonlocal replies return web.Response(text=replies.pop(0)) self.port = get_port() self.app = web.Application() self.app.add_routes([web.get(url, reply)]) self.runner = None @property def baseurl(self): """Base URL""" return f"http://{ADDR}:{self.port}" async def start(self): """Start the mock translateer.""" if self.runner: return self.runner = web.AppRunner(self.app) await self.runner.setup() site = web.TCPSite(self.runner, ADDR, self.port) await site.start()