/dev-proxy

Dev Proxy is an API simulator that helps you effortlessly test your app beyond the happy path.

Primary LanguageC#MIT LicenseMIT

Dev Proxy
Dev Proxy

Test the untestable

Download Now

Discord

Get started | Documentation

Example | Features | Trademarks

📽️ Simulate throttling using Dev Proxy
Microsoft365DeveloperProxyDemo.mp4

Dev Proxy is a command line tool for simulating APIs for testing apps.

It aims to provide a better way to test applications.

Use the proxy to:

  • simulate errors
  • simulate API behaviours
  • mock responses

Identify and fix issues in your code before they reach production.

Get started

Begin with our tutorial. It will guide you through the installation process and running the proxy for the first time.

Example

Fail requests (with a 50% chance) and respond with 429 Too Many Requests or 503 Service Unavailable:

devproxy --failure-rate 50 --no-mocks --allowed-errors 429 503

Features

  • run on any OS
    • Windows
    • macOS
    • Linux
  • intercept requests from Microsoft Graph and other APIs
  • simulate errors
  • simulate throttling
  • simulate rate-limiting
  • mock responses
  • mock error responses
  • define wildcard paths to serve mocked responses
  • mock responses of different types (JSON, binary, etc.)
  • $select guidance to improve performance
  • caching guidance to improve performance
  • OData paging guidance
  • client-request-id header guidance
  • non-production beta endpoint guidance for Microsoft Graph
  • configure proxy to your needs, by setting:
    • failure rate
    • port
    • whether to use mock responses or not
    • URLs to intercept traffic
  • record proxy activity
  • get proxy activity summary report
  • detect minimal Microsoft Graph API permissions
  • check for excessive Microsoft Graph API permissions

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.

A Microsoft Hackathon 2022 Project

The initial build of this project was completed in the week of 5-9 September 2022 by Waldek Mastykarz, Gavin Barron and Garry Trinder