update cdn checker
This commit is contained in:
@@ -225,16 +225,22 @@ class CDN(Challenge):
|
|||||||
self.logger.error(f" ✗ View post failed: {e}")
|
self.logger.error(f" ✗ View post failed: {e}")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# [9/9] Metadata must be real ExifTool output (no fallbacks)
|
# [9/9] Metadata must appear somewhere in the post HTML (no fallback)
|
||||||
self.logger.info("[9/9] Verifying metadata via /post/<id> (ExifTool) ...")
|
self.logger.info("[9/9] Verifying metadata presence (File Name / Date Created) ...")
|
||||||
try:
|
try:
|
||||||
mr = s.get(base_url + f"/post/{created_post_id}", timeout=10)
|
mr = s.get(base_url + f"/post/{created_post_id}", timeout=10)
|
||||||
assert mr.status_code == 200, f"Meta HTTP {mr.status_code}"
|
assert mr.status_code == 200, f"Meta HTTP {mr.status_code}"
|
||||||
meta = (mr.text or "").strip()
|
html = (mr.text or "")
|
||||||
assert meta, "Empty metadata"
|
assert html.strip(), "Empty metadata HTML"
|
||||||
assert "no-metadata" not in meta and "exif_err:" not in meta, "App fallback metadata detected"
|
|
||||||
assert all(k in meta for k in self._exif_must_have), "Metadata is not ExifTool output"
|
# Reject app fallbacks
|
||||||
self.logger.info(" ✓ Metadata present and produced by ExifTool")
|
assert "no-metadata" not in html and "exif_err:" not in html, "App fallback metadata detected"
|
||||||
|
|
||||||
|
# Required keys appear anywhere in the HTML
|
||||||
|
assert "File Name:" in html, "Missing 'File Name:' in post HTML"
|
||||||
|
assert "Date Created:" in html, "Missing 'Date Created:' in post HTML"
|
||||||
|
|
||||||
|
self.logger.info(" ✓ Required metadata keys found in page HTML")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f" ✗ Metadata verification failed: {e}")
|
self.logger.error(f" ✗ Metadata verification failed: {e}")
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user