svrooij / m365-developer-proxy

Microsoft 365 Developer Proxy is a command line tool that simulates real world behaviors of Microsoft Graph and other APIs, locally.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Microsoft 365 Developer Proxy
Microsoft 365 Developer Proxy

Build reliable Microsoft 365 apps

Download Now

Discord

Get started | Documentation

Example | Features | Trademarks | Community Preview

📽️ Simulate throttling using Microsoft 365 Developer Proxy
Microsoft365DeveloperProxyDemo.mp4

Microsoft 365 Developer Proxy is a command line tool for testing Microsoft Graph, SharePoint Online and any other HTTP APIs.

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:

m365proxy --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
  • simulare 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.

Community Preview

We are working on getting the General Availability (GA) version published within the calendar year 2023. The current state of the Microsoft 365 Developer Proxy enables our team to be transparent and provide more insights on the upcoming features and to provide our worldwide ecosystem an option to directly influence the future of our capabilities. Your feedback is more than welcome! You can expect many more new features within the upcoming months before a version that is officially ready for production use and fully supported.

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

About

Microsoft 365 Developer Proxy is a command line tool that simulates real world behaviors of Microsoft Graph and other APIs, locally.

License:MIT License


Languages

Language:C# 100.0%