Integration test evidence
How DPP Shield's store and data integrations are tested: the API runs against a real WooCommerce store, an SFTP server and a PIM feed, and every result is read back from the external system.
21 of 21 checks passed on 15 October 2026 · WordPress 7.1.3 · WooCommerce 11.2.1 · DPP Shield WordPress plugin 1.0.1
What is tested
The DPP Shield API, built from the same source as production, runs against external systems started for the test: a WooCommerce store behind HTTPS with the DPP Shield WordPress plugin, an SFTP server holding an ERP material-master export, and an HTTPS feed in Akeneo's REST format. Each check calls the public REST API the way a customer integration would, then reads the outcome from the store or the record it changed. Failures are tested as well as the normal path: a revoked store key, a change the catalogue must refuse, a changed SFTP host key and a wrong password.
Not covered here: Shopify, which needs a Shopify Partner development store, and customers' own systems. The store, SFTP server and feed are test instances with synthetic data.
WooCommerce
| Check | Result |
|---|---|
| store has products (fixture, created through the store's REST API) | pass |
| connect with REST API keys over HTTPS | pass |
| preview reads the catalogue (SKU, GTIN, brand) | pass |
| import creates catalogue products | pass |
| export a catalogue product as a draft listing | pass |
| publish a passport and write its link onto the store product | pass |
| the storefront shows the passport (DPP Shield plugin) | pass |
| instant sync: a signed product.updated webhook updates the catalogue | pass |
| a store change to a product with a published passport is refused and reported | pass |
| trashing the store product unlinks it (product.deleted webhook) | pass |
| a revoked API key is reported clearly, and a new key restores the connection | pass |
| disconnect removes the store webhooks | pass |
ERP over SFTP
| Check | Result |
|---|---|
| create a mapping for an SAP-style material master | pass |
| an unpinned host key is refused and reported for pinning | pass |
| with the host key pinned, the feed is read | pass |
| a dry run shows the changes and writes nothing | pass |
| applying the feed creates the products with mapped fields | pass |
| a changed server key is refused and nothing is written | pass |
| a wrong password is reported | pass |
PIM over HTTPS
| Check | Result |
|---|---|
| an Akeneo-style JSON feed updates descriptions | pass |
Push ingestion
| Check | Result |
|---|---|
| the source system pushes records with a mapping token | pass |
Run it yourself
The suite is part of the repository (npm run test:integrations:e2e) and needs Docker. Its last run took 72 seconds. For a question about a specific integration, contact us.