Error-handling tests

Broken test feeds

Every feed below is intentionally defective. Point a Meta Commerce Manager data source at one to see how the catalog reports the failure. The working feed lives at /feed. Nothing here is cached, so each fetch hits the intended failure.

01 — Malformed XML

Open ↗

Not valid XML at all: an unclosed element, a bare & character, and no closing </rss>.

Expected: Feed should fail to parse; zero items ingested, parse error reported.

/test-feeds/01-malformed.xml

02 — Unknown tag names

Open ↗

Valid RSS with 20 items, but every product field uses a tag name Meta does not recognise (product_code, cost, photo, maker…).

Expected: Either zero products ingested, or ingestion only after manual field mapping rules.

/test-feeds/02-unknown-tags.xml

03 — Empty catalogue

Open ↗

Valid RSS 2.0 document with zero <item> elements.

Expected: Fetch succeeds, 0 products; existing catalogue items may be marked stale.

/test-feeds/03-empty.xml

04 — Correct fields, broken values

Open ↗

Ten price spellings, eight availability spellings, condition "Nieuw", HTML in descriptions, a title over 200 characters, a 404 image, an http link, a protocol-relative image.

Expected: Mix of auto-corrections, warnings, and dropped items — the main test for value tolerance.

/test-feeds/04-bad-values.xml

05 — Missing & duplicate required fields

Open ↗

One item per defect: no id, duplicate id, empty id, no image_link, no link, no title, no price, no description, no brand, no availability, no condition.

Expected: Defective items rejected individually; the remaining valid items should still ingest.

/test-feeds/05-missing-required.xml

06 — Wrong content type

Open ↗

A perfectly valid feed body served as text/html instead of application/xml.

Expected: Tests whether Meta sniffs the body or refuses the feed on content type alone.

/test-feeds/06-wrong-content-type.xml

07 — 404 Not Found

Open ↗

The URL always responds 404 with a short HTML body.

Expected: Scheduled fetch fails with a download error; catalogue left unchanged.

/test-feeds/07-not-found.xml

08 — 500 Server Error

Open ↗

The URL always responds 500.

Expected: Fetch failure and retry behaviour; catalogue left unchanged.

/test-feeds/08-server-error.xml

09 — Slow response (~25s)

Open ↗

A valid feed that stalls about 25 seconds before the body starts.

Expected: Tests fetch timeout handling on scheduled feeds.

/test-feeds/09-slow.xml

10 — Out-of-range values

Open ↗

Valid field names, but 200-character ids, a negative quantity, a 0.00 USD price, and two items sharing an id inside one item group.

Expected: Tests field length limits and numeric range validation.

/test-feeds/10-huge-ids.xml