Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testen von API-Integrationen mit Shopware

Testen von API-Integrationen mit Shopware

Avatar for Martin Bens

Martin Bens

November 22, 2023

Other Decks in Programming

Transcript

  1. Um welche Art von Integration geht es hier? Systeme, die

    auf die Store API zugreifen Externe Systeme, die auf die Shopware Admin API zugreifen Plugins
  2. Wie kann so eine Integration getestet werden? E2E Integration Unit

    Benötigt Shopware-Instanz oder Mock Nur innerhalb der eigenen Applikation Benötigt Mocks/Stubs von Services, die auf Shopware zugreifen
  3. Wofür brauchen wir E2E-Tests? Warum sind Mocks problematisch?  Authentifizierung/Authorisierung

     Payload Formatierung / Verschachtelung  Shopware: Header! Der Mock eines externen Systems ist nur eine Interpretation!!!
  4. Was ist ES? ▪ Ein Wrapper um den Shopware Core

    mit Front Controller ▪ Eine gekapselte, konfigurierbare und zurücksetzbare Shopware Instanz
  5. Was tut ES? Front Controller Environment Bootstrap Shopware Test Flow

    Front Controller von Webserver Shopware übernimmt das <3 Shopware macht Shopware Sachen Antwort geht an Client / Exceptions ebenfalls
  6. Wann wird ES im Laden stehen damit ich ES kaufen

    kann? Kommt später … die South Park Anspielung sollte aber vollständig sein
  7. Shopware hat Tests!? Ja! Tests, Basisklassen und Helper (Traits) …

    und Shopware kann noch mehr! Bootstrapper übernimmt komplette Initialisierung der Shopware Instanz Traits stellen die Schnittstelle zum Shopware Core bereit und können die Umgebung konfigurieren
  8. Was passiert nach einem Test? Transaktionen Schreiboperationen (Datenbank und Dateisystem)

    können automatisch rückgängig gemacht werden Reset Mit einem Aufruf von /reset wird ein hinterlegtes Backup über einen Shopware Command eingespielt
  9. Jetzt ABER: Wann wird ES im Laden stehen damit ich

    ES kaufen kann? ▪ Docker Images mit Webserver, Shopware Core und MariaDB Datenbank ▪ Images für unterschiedliche Shopware Versionen, Sprachen und Währungen ▪ Tests können Container als Service nutzen oder direkt im Container ausgeführt werden