microsoft / dev-proxy

Dev Proxy is an API simulator that helps you effortlessly test your app beyond the happy path.
https://aka.ms/devproxy
MIT License
471 stars 56 forks source link

[BUG]: ExecutionSummaryPlugin not being recognized #839

Closed qmatteoq closed 1 month ago

qmatteoq commented 1 month ago

Description

In my devproxyrc.json file, I have enabled to the ExecutionSummaryPlugin so that I can record and generate a summary of the requests and responses. This is the full definition of the file:

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "executionSummaryPlugin"
    },
    {
      "name": "GraphMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "graphConnectorMocks"
    }
  ],
  "urlsToWatch": [
    "https://graph.microsoft.com/v1.0/*",
    "https://graph.microsoft.com/beta/*",
    "https://graph.microsoft.us/v1.0/*",
    "https://graph.microsoft.us/beta/*",
    "https://dod-graph.microsoft.us/v1.0/*",
    "https://dod-graph.microsoft.us/beta/*",
    "https://microsoftgraph.chinacloudapi.cn/v1.0/*",
    "https://microsoftgraph.chinacloudapi.cn/beta/*"
  ],
  "graphConnectorMocks": {
    "mocksFile": ".devproxy/graph-connector-mocks.json" 
  },
  "executionSummaryPlugin": {
      "groupBy": "url"
  }
}

Expected behaviour

The plugin is correctly enabled and I can:

1) See the recorded activity in the terminal 2) Use the --summary-file-path parameter to store the recording in a file

Actual behaviour

The plugin is ignored:

1) When I turn on the recording, I don't see any activity being displayed in the terminal 2) When I try to launch devproxy with the parameter --summary-file-path, I'm getting the following error:

 fail    Unknown option(s): --summary-file-path
 info    TIP: Use --help view available options
 info    TIP: Are you missing a plugin? See: https://aka.ms/devproxy/plugins

Steps to reproduce

1) Open the devproxy.rc file 2) Add the following entry in the plugins section:

{
  "name": "ExecutionSummaryPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "executionSummaryPlugin"
},

3) Open the terminal 4) Launch the following command:

devproxy --summary-file-path report.md

Observe how devproxy fails to start because the --summary-file-path isn't recognized.

Dev Proxy Version

0.19.1

Operating system (environment)

Windows

Shell

PowerShell

Configuration file

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "executionSummaryPlugin"
    },
    {
      "name": "GraphMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "graphConnectorMocks"
    }
  ],
  "urlsToWatch": [
    "https://graph.microsoft.com/v1.0/*",
    "https://graph.microsoft.com/beta/*",
    "https://graph.microsoft.us/v1.0/*",
    "https://graph.microsoft.us/beta/*",
    "https://dod-graph.microsoft.us/v1.0/*",
    "https://dod-graph.microsoft.us/beta/*",
    "https://microsoftgraph.chinacloudapi.cn/v1.0/*",
    "https://microsoftgraph.chinacloudapi.cn/beta/*"
  ],
  "graphConnectorMocks": {
    "mocksFile": ".devproxy/graph-connector-mocks.json" 
  },
  "executionSummaryPlugin": {
      "groupBy": "url"
  }
}

Additional Info

No response

garrytrinder commented 1 month ago

Thanks for raising the issue.

Looking into this it seems like you've unfortunately hit an issue with our docs and they need to be updated.

The --summary-file-path option was removed and the plugin was updated to use a reporter plugin which outputs the report in the format of the reporter you specify.

The following is a modified version of your config file that creates a markdown report using the MarkdownReporter plugin.

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "executionSummaryPlugin"
    },
    {
      "name": "GraphMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "graphConnectorMocks"
    },
    {
      "name": "MarkdownReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://graph.microsoft.com/v1.0/*",
    "https://graph.microsoft.com/beta/*",
    "https://graph.microsoft.us/v1.0/*",
    "https://graph.microsoft.us/beta/*",
    "https://dod-graph.microsoft.us/v1.0/*",
    "https://dod-graph.microsoft.us/beta/*",
    "https://microsoftgraph.chinacloudapi.cn/v1.0/*",
    "https://microsoftgraph.chinacloudapi.cn/beta/*"
  ],
  "graphConnectorMocks": {
    "mocksFile": ".devproxy/graph-connector-mocks.json" 
  },
  "executionSummaryPlugin": {
      "groupBy": "url"
  }
}
garrytrinder commented 1 month ago

The PR to update docs has been merged, therefore I will close the issue.