"""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)