Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""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=[]):
|
|
"""Initialize"""
|
|
|
|
if not replies:
|
|
replies = ["hello."]
|
|
|
|
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()
|
|
|
|
async def stop(self):
|
|
"""Stops the application."""
|
|
await self.runner.cleanup()
|