_PREFIX_FILE = 'file'
_PREFIX_LEDGER = 'ledger'
_SERVER_HOST = '127.0.0.1'
-_SERVER_PORT = 8084
+SERVER_PORT = 8084
_SUFFIX_HTML = '.html'
_SUFFIX_JS = '.js'
_SUFFIX_STRUCTURED = 'structured'
def __init__(self, path_dat: Path, *args, **kwargs) -> None:
super().__init__(_PATH_TEMPLATES,
- (_SERVER_HOST, _SERVER_PORT),
+ (_SERVER_HOST, SERVER_PORT),
_Handler)
self.ledger = Ledger(path_dat)
self.jinja.trim_blocks = True
# requirements.txt
from playwright.sync_api import sync_playwright
# ourselves
-from ledgplom.http import Server
+from ledgplom.http import Server, SERVER_PORT
from plomlib.web import PlomHttpServer
'Run tests from tests directory.'
paths = tuple(_PATH_TESTS.iterdir())
- def f(dat_path: Path, server: PlomHttpServer):
+ def run_tests_on_dat(dat_path: Path, server: PlomHttpServer) -> None:
def fail(abort_msg: str, msg_prefix: str, idx: Optional[int]) -> None:
for jdx, line in enumerate(lines_rendered[:idx], start=1):
for test_path in [p for p in paths
if p != dat_path
and p.parts[-1].startswith(f'{test_name}.')]:
- path = str(test_path.parts[-1]
- ).split('.', maxsplit=1)[1].replace('.', '/')
- page.goto(f'http://localhost:8084/{path}')
+ page.goto(f'http://localhost:{SERVER_PORT}/'
+ + str(test_path.parts[-1]).split('.', maxsplit=1
+ )[1].replace('.', '/'))
lines_rendered = page.content().split('\n')
with test_path.open('r', encoding='utf8') as f:
lines_expected = tuple(line.rstrip('\n')
for dat_path in [p for p in paths if p.parts[-1].endswith(_EXT_DAT)]:
server = Server(dat_path)
- Thread(target=f, args=(dat_path, server,)).start()
+ Thread(target=run_tests_on_dat, args=(dat_path, server,)).start()
server.serve()