docs: Update Phase 0 with specific test fix requirements
Per ADR-012, Phase 0 now specifies: - 5 tests to REMOVE (broken multiprocessing) - 4 tests to FIX (brittle assertions) - 1 test to RENAME (misleading name) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -68,8 +68,12 @@ class TestExplicitEndpoints:
|
||||
response = client.get('/feed.rss')
|
||||
assert response.status_code == 200
|
||||
assert response.headers['Content-Type'] == 'application/rss+xml; charset=utf-8'
|
||||
assert b'<?xml version="1.0" encoding="UTF-8"?>' in response.data
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
# Check for XML declaration (quotes may be single or double)
|
||||
assert b'<?xml version=' in response.data
|
||||
assert b'encoding=' in response.data
|
||||
# Check for RSS element (version attribute may be at any position)
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
|
||||
def test_feed_atom_endpoint(self, client):
|
||||
"""GET /feed.atom returns ATOM feed"""
|
||||
@@ -95,8 +99,12 @@ class TestExplicitEndpoints:
|
||||
response = client.get('/feed.xml')
|
||||
assert response.status_code == 200
|
||||
assert response.headers['Content-Type'] == 'application/rss+xml; charset=utf-8'
|
||||
assert b'<?xml version="1.0" encoding="UTF-8"?>' in response.data
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
# Check for XML declaration (quotes may be single or double)
|
||||
assert b'<?xml version=' in response.data
|
||||
assert b'encoding=' in response.data
|
||||
# Check for RSS element (version attribute may be at any position)
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
|
||||
|
||||
class TestContentNegotiation:
|
||||
@@ -107,7 +115,8 @@ class TestContentNegotiation:
|
||||
response = client.get('/feed', headers={'Accept': 'application/rss+xml'})
|
||||
assert response.status_code == 200
|
||||
assert response.headers['Content-Type'] == 'application/rss+xml; charset=utf-8'
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
|
||||
def test_accept_atom(self, client):
|
||||
"""Accept: application/atom+xml returns ATOM"""
|
||||
@@ -137,14 +146,16 @@ class TestContentNegotiation:
|
||||
response = client.get('/feed', headers={'Accept': '*/*'})
|
||||
assert response.status_code == 200
|
||||
assert response.headers['Content-Type'] == 'application/rss+xml; charset=utf-8'
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
|
||||
def test_no_accept_header(self, client):
|
||||
"""No Accept header defaults to RSS"""
|
||||
response = client.get('/feed')
|
||||
assert response.status_code == 200
|
||||
assert response.headers['Content-Type'] == 'application/rss+xml; charset=utf-8'
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
|
||||
def test_quality_factor_atom_wins(self, client):
|
||||
"""Higher quality factor wins"""
|
||||
@@ -250,6 +261,10 @@ class TestBackwardCompatibility:
|
||||
def test_feed_xml_contains_rss(self, client):
|
||||
"""GET /feed.xml contains RSS XML"""
|
||||
response = client.get('/feed.xml')
|
||||
assert b'<?xml version="1.0" encoding="UTF-8"?>' in response.data
|
||||
assert b'<rss version="2.0"' in response.data
|
||||
# Check for XML declaration (quotes may be single or double)
|
||||
assert b'<?xml version=' in response.data
|
||||
assert b'encoding=' in response.data
|
||||
# Check for RSS element (version attribute may be at any position)
|
||||
assert b'<rss' in response.data
|
||||
assert b'version="2.0"' in response.data
|
||||
assert b'</rss>' in response.data
|
||||
|
||||
Reference in New Issue
Block a user