dánwòdánwò

Where danwo runs

Overview

What danwo can emulate and break depends on where your app runs. One rule decides it.

danwo can test an app on your laptop, a deployed staging site, or production. What it can do there depends on one thing: whether the app's traffic goes through danwo's proxy, the local server danwo puts between your app and the internet.

The one rule

danwo can only emulate and break what passes through its proxy.

inside danwo's proxyBrowser or devicedanwo drives itApps danwo startsyour dev serversdanwo proxyrecords, faultsEmulatorsStripe, Clerk, …Data proxiesPostgres, Redisoutside: danwo sees nothingServers danwo didn't startstaging, a remote APIReal providerswhat those servers call
Everything inside the dashed line goes through danwo's proxy. Outside it, danwo sees nothing.

Three things go through the proxy:

  • The browser or Android device danwo drives. Always.
  • Apps danwo starts. When your config gives a start command (npm run dev), danwo runs it with its proxy settings, so every call the app makes reaches the proxy. No code changes.
  • Databases behind danwo's data proxies. Postgres and Redis, when your config puts them there.

Everything else is outside: a staging server, a remote API, the real Stripe it calls. danwo can't see those calls, so it can't emulate or break them.

What works where

SetupUI tests and agentRecording and videoServer-side providers emulatedBrowser-side providers emulatedProvider and webhook faultsFrontend→API faultsDatabase faultsIsolation and reset
Full-stack app, run locally✓✓✓✓✓✓✓¹✓
Frontend and backend, both local✓✓✓✓✓✓✓¹✓
Frontend only, against a remote API✓✓✗partial²partial³✓✗partial⁴
A deployed staging environment✓✓✗✗✗partial⁵✗partial⁴
Productionsmoke only✓✗✗✗✗✗✗
Mobile app (Android)✓✓as its backend✓as its backend✓as its backendas its backend
  1. When the database sits behind one of danwo's data proxies.
  2. Only providers the remote API doesn't also talk to. See the one-provider rule.
  3. Faults on the browser's own calls to emulated providers. Webhooks go to the remote API, which danwo can't see.
  4. The browser and any emulators reset between tests. The remote backend's data doesn't.
  5. Possible, but every fault hits a real shared server. Use test accounts.

A mobile app goes through the proxy itself (danwo sets the emulator's proxy). Its backend is whichever row above matches it: run it locally for the full set, or point at staging.

Which one is for you

Which should I use? walks through the choice.

Next

On this page

Run it on every pull request

A GitHub check and one comment per pull request, with the flight records attached.

Set up CI