| 12345678910111213141516171819202122232425262728293031323334353637 |
- """测试资料和执行快照;任务状态、结果仍由业务任务表管理。"""
- import json
- from db import db_conn
- def assets(user):
- return db_conn.query('SELECT * FROM test_lab_assets WHERE user_name=? ORDER BY created_at DESC,id DESC', (user,))
- def asset(identifier, user):
- row = db_conn.query_one('SELECT * FROM test_lab_assets WHERE id=? AND user_name=?', (identifier, user))
- if not row:
- raise ValueError('测试资料不存在')
- return row
- def save_asset(user, filename, digest, size, identifier):
- db_conn.execute('INSERT INTO test_lab_assets (id,user_name,filename,sha256,size,created_at) VALUES (?,?,?,?,?,?)',
- (identifier,user,filename,digest,size,db_conn.fmt_dt()))
- return asset(identifier, user)
- def save_run(job, label, scenario, mode, request):
- db_conn.execute('INSERT INTO test_lab_runs (job_id,user_name,agent_name,label,scenario_id,execution_mode,request_json,created_at) VALUES (?,?,?,?,?,?,?,?)',
- (job['id'],job['user_name'],job['agent_name'],label,scenario,mode,json.dumps(request,ensure_ascii=False,allow_nan=False),db_conn.fmt_dt()))
- def run(identifier, user):
- row = db_conn.query_one('SELECT * FROM test_lab_runs WHERE job_id=? AND user_name=?', (identifier,user))
- if not row:
- raise ValueError('测试记录不存在')
- return row
- def runs(user, limit=50):
- return db_conn.query('SELECT r.*,j.status,j.finished_at FROM test_lab_runs r JOIN business_jobs j ON j.id=r.job_id WHERE r.user_name=? ORDER BY r.created_at DESC,r.job_id DESC LIMIT ?', (user,limit))
|