UStackUStack
Decoy icon

Decoy

Decoy è un mock server nativo per macOS: simula API e webhook locali, definisci endpoint, ispeziona richieste e restituisci risposte configurabili.

Decoy

Cos'è Decoy?

Decoy è un mock server nativo per macOS pensato per sviluppatori che devono simulare endpoint HTTP e comportamenti webhook in locale. Ti permette di definire route, ispezionare le richieste in arrivo e restituire risposte mock controllate per testare wrapper API, gestione richieste, redirect e modalità di errore senza dover avviare servizi esterni.

Lo scopo principale di Decoy è il testing locale on-demand: punti il tuo client al dominio e porta locali di Decoy, osservi ogni richiesta in arrivo e regoli le risposte degli endpoint per esercitare il tuo codice contro gli scenari che scegli.

Caratteristiche Principali

  • App nativa macOS con avvio istantaneo: Funziona come applicazione SwiftUI e si avvia rapidamente senza richiedere Docker, tunnel cloud o passaggi di setup.
  • Controlli endpoint e richiesta/risposta: Definisci coppie metodo + path, raggruppate in progetti, poi scegli codici di stato risposta, tipo body, header e delay opzionale.
  • Ispezione richieste live: Ogni richiesta in arrivo è visualizzata con header, body, IP sorgente, timestamp e identificativi richiesta (UUID). I body JSON sono formattati automaticamente.
  • Percorsi e progetti parametrizati: Supporto per parametri di path (es. /users/:id corrisponde a /users/42) e organizzazione endpoint in progetti.
  • Formati risposta per scenari web comuni: Scegli tra testo semplice, JSON, HTML, XML, file, vuoto o redirect; configura automaticamente header Location per i redirect.
  • Supporto browser e CORS: Le richieste browser “funzionano subito”, con header CORS aggiunti automaticamente. Supportati codici redirect (301, 302, 307, 308).
  • Snapshot e export richieste/risposte: Visualizza cosa è stato effettivamente inviato per ogni richiesta ed esporta come cURL, JavaScript fetch o Ruby.
  • Logging richieste durevole via SQLite: Le richieste sono scritte in SQLite immediatamente, così i dati non vanno persi se l’app si chiude inaspettatamente.

Come Usare Decoy

  1. Installa Decoy dall’App Store su Mac, poi avvia l’app su macOS 14 Sonoma o successivo.
  2. Crea o seleziona un progetto, poi definisci endpoint usando una coppia metodo e path.
  3. Configura la risposta mock di ogni endpoint: imposta un codice di stato, scegli un tipo body (incluso JSON, HTML, XML o file), aggiungi header e opzionalmente un delay.
  4. Punta la tua app o tool di test al dominio e porta locali di Decoy (decoy.my:8998 è indicato nella descrizione prodotto).
  5. Invia richieste dal tuo client o browser. Decoy mostrerà i dettagli di ogni richiesta in arrivo e applicherà le modifiche risposta alla successiva.

Casi d'Uso

  • Testing gestione webhook e casi limite: Invia richieste webhook a Decoy per verificare come il tuo codice processa codici di stato diversi, body risposta, header e latenza simulata.
  • Verifica logica wrapper API: Esercita un client API contro endpoint mock che controlli, regolando payload e header risposta mentre osservi ogni richiesta in arrivo.
  • Riproduzione comportamenti redirect: Configura endpoint per restituire redirect (con header Location appropriato) per testare come la tua app segue o reagisce a 301/302/307/308.
  • Servire contenuti statici-like in sviluppo: Usa risposte file per servire immagini, PDF o altri file direttamente, o pagine HTML complete impostando il tipo body su HTML.
  • Cattura e riutilizzo interazioni reali richiesta/risposta: Usa snapshot richieste ed esporta equivalenti cURL o fetch/Ruby generati per riprodurre issue o condividere esempi.

FAQ

Decoy richiede Docker, tunnel cloud o file di configurazione?
No. La descrizione prodotto specifica che funziona senza Docker, tunnel cloud o file di config.

Quali piattaforme e versioni sono supportate?
Decoy richiede macOS 14 Sonoma o successivo.

Come vengono applicate le modifiche alle risposte mock?
Le modifiche (come aggiornamento JSON, header o codici di stato) hanno effetto sulla prossima richiesta in arrivo.

Decoy gestisce richieste browser e CORS?
Sì. Le richieste browser sono supportate e i header CORS sono aggiunti automaticamente.

Dove sono memorizzati i dati delle richieste?
Le richieste sono scritte in SQLite immediatamente, e la descrizione prodotto nota che nulla va perso se l’app si chiude inaspettatamente.

Alternative

  • Server HTTP mock locali (strumenti generici): Gli strumenti di questa categoria forniscono anche endpoint locali e risposte controllabili, tipicamente tramite file di configurazione o container; Decoy enfatizza un’interfaccia nativa macOS senza Docker.
  • Piattaforme dedicate al mocking di API (servizi hosted): Queste possono simulare endpoint sulla rete, ma richiedono solitamente configurazione e deployment esterni anziché un mock server locale.
  • Librerie per stubbing di request/response o framework di test: Alcune squadre usano stub basati su codice all’interno della suite di test; ciò differisce dal server standalone locale di Decoy con UI per ispezionare richieste e modificare risposte.
  • Strumenti di test API con supporto al mocking: Alcuni client API interattivi supportano mocking o simulazioni locali; i workflow possono differire, specialmente per ispezione dedicata delle richieste, progetti e funzionalità di snapshot/esportazione delle risposte.
Decoy | UStack