Simple testing suite to obtain performance metrics for confidential client applications using MSAL Node.
There are 2 samples to run tests against:
- Express web app acquiring tokens using OAuth 2.0 authorization code flow
- Express web api acquiring tokens using OAuth 2.0 on-behalf-of flow
Clone the repository. Then locate the cloned folder in your terminal and run:
Make sure you have Node.js v14 or later installed on your system, or get it from here
npm install
You'll also need to register an Azure AD application for each sample, and create a test user account in the tenant that the apps are registered at. To do so, you can run the provided Configure.ps1 PowerShell script, which will register the apps, create a test user and update the configuration files:
⚠️ Make sure you have PowerShell v7 installed on your system, or get it from here
cd scripts
.\Configure.ps1 -TenantId "your-test-tenant-id"
Run Cleanup.ps1 when you would like to clear resources after testing.
To run tests against the web app project, type:
cd web-app
npm run test:all
This will run all tests defined in the playwright.config.ts. Afterwards, the generated report will open in your system's default browser. If you like, you can run tests individually, or change the default parameters like instance mode, cache size and etc. See package.json for more.
To run tests against the web app project, type:
cd web-api
npm run test:all
This will run all tests defined in the loadTest.js. Afterwards, the generated report will open in your system's default browser. If you like, you can run tests individually, or change the default parameters like instance mode, cache size and etc. See loadTest.js for more.
You can use Clinic.js to do performance profiling for the samples in this repo. Read more on how to interpret Clinic.js results here.