fix: resolve 6 integration test failures
1. patterns endpoint: fix query referencing non-existent column di.catalyst_type → dir.catalyst_type (column is on document_impact_records) 2. lockouts seed: use relative timestamps (now + 7d) so active lockout is always in the future regardless of when tests run 3. create_agent: make slug optional with auto-generation from name 4. create_source: json.dumps(config) + ::jsonb cast for asyncpg JSONB compat 5. approval_expiry: return count as int (len(expired)) not the list itself 6. metrics_consistency: fix test assertion to match API contract (total >= active + reserve, not total == active + reserve + unrealized)
This commit is contained in:
@@ -258,12 +258,13 @@ async def add_source(company_id: str, body: SourceCreate):
|
||||
exists = await pool.fetchval("SELECT 1 FROM companies WHERE id = $1", company_id)
|
||||
if not exists:
|
||||
raise HTTPException(404, "Company not found")
|
||||
import json as _json
|
||||
row = await pool.fetchrow(
|
||||
"""INSERT INTO sources (company_id, source_type, source_name, config, credibility_score, retention_days, access_policy)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||
VALUES ($1, $2, $3, $4::jsonb, $5, $6, $7)
|
||||
RETURNING id, source_type, source_name, credibility_score, active""",
|
||||
company_id, body.source_type, body.source_name,
|
||||
body.config, body.credibility_score, body.retention_days, body.access_policy,
|
||||
_json.dumps(body.config), body.credibility_score, body.retention_days, body.access_policy,
|
||||
)
|
||||
return _row_dict(row)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user