Fix Markdown port checks and distinguish review parsing errors
This commit is contained in:
@@ -112,3 +112,28 @@ def test_failed_final_review_labels_corrected_draft():
|
||||
r,_=run([BAD,json.dumps({'issues':ISSUES}),ORIGINAL,503])
|
||||
assert r['review']['draft_kind']=='corrected'
|
||||
assert r['review']['failed_stage']=='final_review'
|
||||
|
||||
|
||||
def test_markdown_port_and_prose_slash_regression():
|
||||
from atelier.provider import literal_checks
|
||||
assert literal_checks('Use port 8099 for retro games.', 'Use **port** **8099** for 8-bit/retro games.') == []
|
||||
assert literal_checks('port 8099', 'port **8080**')
|
||||
assert literal_checks('at /app/data', 'at /app/new')
|
||||
|
||||
|
||||
def test_fenced_review_json_is_accepted():
|
||||
r,_=run([ORIGINAL,'```json\n{"issues": []}\n```'])
|
||||
assert r['review']['status']=='passed'
|
||||
|
||||
|
||||
def test_quote_wrapping_does_not_fail_validation():
|
||||
issues=[{'description':'Zeit verändert','original_quote':'There is no\ntime limit.','draft_quote':'Time limit: 5 hours.'}]
|
||||
r,_=run([BAD,json.dumps({'issues':issues}),ORIGINAL,'{"issues":[]}'])
|
||||
assert r['review']['status']=='corrected'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('output,code', [('oops','ReviewInvalidJSON'),('{"issues":false}','ReviewInvalidSchema'),('{"issues":[{"description":"Problem","original_quote":"fabricated","draft_quote":""}]}','ReviewQuoteMismatch')])
|
||||
def test_review_errors_distinguishable(output,code,caplog):
|
||||
r,_=run([BAD,output])
|
||||
assert r['review']['status']=='unchecked'
|
||||
assert code in caplog.text
|
||||
|
||||
Reference in New Issue
Block a user