20 lines
1.1 KiB
Python
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)
|