CLI-Referenz
Die mockzilla CLI ist der Open-Source-Mock-Server. Sie läuft auf deinem Rechner, braucht kein Konto und funktioniert offline. Diese Seite listet auf, was du eingeben kannst.
Siehe CLI installieren dafür, wie sie auf deine Maschine kommt.
Einen Mock ausliefern
Ein Argument, und worauf du zeigst, entscheidet, was läuft:
mockzilla petstore.yml # eine Spec-Datei
mockzilla https://petstore3.swagger.io/api/v3/openapi.json # eine Spec per URL
mockzilla ./services/ # ein Ordner
mockzilla petstore.mockz # ein Paket, von der Platte oder per URL
mockzilla response.json # eine statische Antwort, unter GET / ausgeliefertDer Server startet auf Port 2200, mit dem API-Explorer an seiner Wurzel. Dateien von der Platte werden beobachtet: Speicherst du eine Spec, eine config.yml oder eine context.yml, wird dieser Service live getauscht, ohne Neustart.
Ein Ordner wird als Haufen Specs gelesen, als einzelner Service oder als services/-Baum.
Siehe Portable Simulationen für die drei Ordnerformen und was in jede gehört.
Flags
--port Nwählt den Port.0nimmt irgendeinen freien Port, den die Maschine anbietet. Standard ist2200.--ready-stampgibt eine einzelne JSON-Zeile aus, sobald der Server lauscht, für Skripte, die darauf warten.
Vier weitere gelten, wenn genau ein Service registriert ist, also bei einer einzelnen Spec-Datei oder einem einzelnen Service-Ordner:
--latency Dverzögert jede Antwort um eine Dauer, etwa100msoder1s.--mount PATHsetzt das URL-Präfix, unter dem der Service antwortet, etwapets/v2.--errors RULESbeantwortet einen Teil der Anfragen mit einem Fehlerstatus.p5=500,p10=503schickt 500 an 5 Prozent der Anfragen und 503 an die nächsten 5.--context FILEzeigt auf eine Kontext-YAML, die flachen Ersetzungswerte, die generierte Daten formen.
Wie viel der Server protokolliert, ist eine Umgebungsvariable statt eines Flags. LOG_LEVEL nimmt debug, info, warn, error oder none und steht standardmäßig auf info.
In eine Spec hineinsehen
mockzilla info petstore.yml
mockzilla info https://petstore3.swagger.io/api/v3/openapi.json
mockzilla info petstore.mockzGibt ein einzelnes JSON-Objekt aus und beendet sich: Titel, Version, OpenAPI-Version, Anzahl der Endpunkte und jeden Pfad mit seiner Methode und seiner Operation-ID. Ein .mockz-Paket wird genauso ausgepackt und zusammengefasst, du kannst also lesen, was ein Archiv enthält, bevor du es ausführst.
Eine Spec vereinfachen
mockzilla simplify openapi.ymlWirft optionale Eigenschaften weg, die anyOf oder oneOf benutzen, reduziert eine erforderliche Union auf ihre erste Variante und entfernt x-*-Erweiterungsfelder. Beispiele bleiben unangetastet. Das Ergebnis geht nach stdout, solange --output keine Datei nennt.
Optionale Eigenschaften kürzt du auf eine von zwei Arten:
--optional Nbehält genau N davon pro Schema.--optional 0wirft alle weg.--optional-min A --optional-max Bbehält eine zufällige Anzahl in diesem Bereich. Beide Flags gehören zusammen.
Lässt du beide weg, überlebt jede optionale Eigenschaft. Kombinieren lassen sie sich nicht.
--output FILE, oder-o, schreibt in eine Datei statt nach stdout.--config FILEführt zuerst eine Codegen-Konfiguration aus: filtern nach Pfad, Tag oder Operation-ID, OpenAPI-Overlay-Deltas anwenden und dann die Refs entfernen, die dabei ins Leere zeigen.
Übergib - als Spec, um sie von stdin zu lesen:
curl -s https://example.com/openapi.json | mockzilla simplify -Die App macht dasselbe mit einer hochgeladenen Spec, unter Spec-Optionen.
Siehe Service-Einstellungen.
Einen Ordner packen
mockzilla pack ./Schreibt <ordner>.mockz neben den Ordner: jeden gefundenen Service plus ein Manifest, das jeden davon benennt, mit seinem Mount und seinen Dateien. Liefere das Ergebnis mit mockzilla mocks.mockz aus, oder gib es jemandem, der das tut.
--output FILE, oder-o, legt das Archiv an einen anderen Ort.--nameund--descriptionlanden im Manifest.--min-versionhält fest, welche CLI-Version das Archiv mindestens laden kann.--skip-gitlässt Git-Remote, Ref und Commit weg, die eingebettet werden, sobald der Ordner in einem Git-Arbeitsverzeichnis liegt.
Genau dieses Archiv packt und lädt die GitHub Action bei jedem Push hoch.
Siehe GitHub Action.
Codegen-Projekte laufen selbst
Ein Codegen-Projekt kompiliert seinen eigenen Server. go build erzeugt ein Binary, und dieses Binary liefert das Projekt aus, die CLI hat damit nichts zu tun. Zeigst du mockzilla auf den Projektordner, liest sie den Ordner stattdessen als Specs.
Siehe Codegen-Simulationen.
Eine Simulation aus deinem Konto ausführen
Eine Simulation, die du in der App gebaut hast, läuft lokal auf derselben Engine. Zeige die CLI auf ihren geteilten Link:
mockzilla https://mockz.io/fxygibahIhre .mockz-Datei funktioniert genauso, direkt von der Platte und ganz ohne Netz. Die Ansicht Lokal ausführen der Simulation schreibt dir beide Befehle aus, gefüllt mit ihrem eigenen Link.
Siehe Eine Simulation lokal ausführen.
Version und Hilfe
mockzilla --version
mockzilla --help
mockzilla simplify --helpJedes Unterkommando bringt sein eigenes --help mit, mit den Flags von oben und ihren Standardwerten.