28 lines
952 B
Python
28 lines
952 B
Python
import urllib.error
|
|
import urllib.request
|
|
import unittest
|
|
|
|
URL = 'https://howdoyouconvert.com/apothecary-ounces-to-amu'
|
|
|
|
|
|
class ApothecaryPageTests(unittest.TestCase):
|
|
def test_apothecary_page_returns_success(self) -> None:
|
|
"""The published URL should return a 200 so the calculator page stays healthy."""
|
|
request = urllib.request.Request(
|
|
URL,
|
|
headers={
|
|
'User-Agent': 'Mozilla/5.0',
|
|
'Accept': 'text/html,application/xhtml+xml',
|
|
},
|
|
)
|
|
|
|
try:
|
|
with urllib.request.urlopen(request, timeout=15) as response:
|
|
status = response.getcode()
|
|
except urllib.error.HTTPError as exc:
|
|
self.fail(f'{URL} returned HTTP {exc.code} ({exc.reason})')
|
|
except urllib.error.URLError as exc:
|
|
self.fail(f'{URL} could not be fetched: {exc}')
|
|
|
|
self.assertEqual(status, 200, f'{URL} returned {status}')
|