Files
Web-Parser-Constructor/tests/browser_server.py
T
2026-10-01 00:28:16 +10:00

20 lines
1.1 KiB
Python

"""Isolated application fixture used by test_browser.py, never production."""
import os
from pathlib import Path
import uvicorn
from parser_lab.app import create_app
from parser_lab.config import Settings
from parser_lab.views import default_view
port=int(os.environ['LAB_TEST_PORT'])
app=create_app(Settings(Path(os.environ['LAB_TEST_DATA']),'teacher','test-browser-password',
'browser-tests-only-secret-123456789',False,(f'http://127.0.0.1:{port}',)))
records=[{'name':f'Person {n:03}','text':'A walk' if n%3==0 else 'Rest','score':n,'secret':'DO-NOT-PUBLISH'} for n in range(1,52)]
d=app.state.repo.create('Browser study',b'[]','fixture.json',records);d['slug']='browser-study'
for kind in ('table','cards','messages','questionnaire'):
v=default_view(kind,['/name','/text','/score'])
v.update(title_pointer='/name',text_pointer='/text',author_pointer='/name',search_pointer='/text',category_pointer='/text')
d['views'][kind]=v
d=app.state.repo.save(d,1);app.state.repo.publish(d['id'],d['revision'])
uvicorn.run(app,host='127.0.0.1',port=port,access_log=False)