Running the Postman Integration Tests
The Ed-Fi ODS / API includes several collections of Postman tests that can be executed against a Test Harness included in the ODS / API source code.
The following instructions assume that the Ed-Fi ODS / API has been successfully set up and is running in a local environment per the instructions in the Getting Started documentation. This documentation takes you through running two options for running postman test collections.
Running Postman Test Collections via PowerShell
-
Install Node.js 18+
tipMany Windows users choose nvm for Windows to manage Node.js installations.
-
As outlined in the Getting Started Guide from a PowerShell prompt run
Initialize-PowershellForDevelopment.ps1
script followed byinitdev -usePlugins
and finallyInvoke-PostmanIntegrationTests
PS D:\ed-fi\Ed-Fi-ODS-Implementation> .\Initialize-PowershellForDevelopment.ps1
Using repositories: Ed-Fi-ODS, Ed-Fi-ODS-Implementation
Importing Module: D:\ed-fi\Ed-Fi-ODS-Implementation\Application\SolutionScripts\InitializeDevelopmentEnvironment.psm1
PS D:\ed-fi\Ed-Fi-ODS-Implementation> initdev -usePlugins
----------------------------------------
Invoke-NewDevelopmentAppSettings
----------------------------------------
<trimmed output...>
PS D:\ed-fi\Ed-Fi-ODS-Implementation> Invoke-PostmanIntegrationTests
--------------------------------------
Invoke-PostmanIntegrationTests
--------------------------------------
Using repositories: Ed-Fi-ODS, Ed-Fi-ODS-Implementation
Importing Module: D:\ed-fi\Ed-Fi-ODS-Implementation\Application\SolutionScripts\InitializeDevelopmentEnvironment.psm1
<trimmed output...> -
Test results are presented as the tests run
<trimmed output...>
------------------------------------------------------------------
| | executed | failed |
--------------------------+-------------------+-------------------
| iterations | 1 | 0 |
--------------------------+-------------------+-------------------
| requests | 89 | 0 |
--------------------------+-------------------+-------------------
| test-scripts | 281 | 0 |
--------------------------+-------------------+-------------------
| prerequest-scripts | 282 | 0 |
--------------------------+-------------------+-------------------
| assertions | 109 | 0 |
------------------------------------------------------------------
| total run duration: 13.7s |
------------------------------------------------------------------
| total data received: 254.88kB (approx) |
------------------------------------------------------------------
| average response time: 41ms [min: 3ms, max: 410ms, s.d.: 52ms] |
------------------------------------------------------------------
Invoke-Newman done in 9m22s.
------------------------
Stop-TestHarness
------------------------
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
391 1,591.07 1,620.68 9.25 36520 1 EdFi.Ods.Api.IntegrationTestHarness
Stop-TestHarness done in 45ms.
Invoke-PostmanIntegrationTests done in 9m39s.
Duration Task
-------- ----
09:39.58 Invoke-PostmanIntegrationTests
To capture the execution output of the Postman tests into a log file for full review (since the console window buffer may not be large enough to review the entire results of the test), you can do the following:
- Create a script (e.g. run-postman-tests-core.ps1) in the Ed-Fi-ODS-Implementation folder with the following content:
.\Initialize-PowershellForDevelopment.ps1
Invoke-PostmanIntegrationTests
- Create a second script (e.g. run-postman-tests.ps1) in the Ed-Fi-ODS-Implementation folder with the following content:
Start-Process powershell.exe .\run-postman-tests-core.ps1 -RedirectStandardOutput .\tests.log
This will capture the stdout from the process and write it to the specified log file instead. The shell window that is opened won't show any activity during the test run, so you'll just need to wait until it finishes.
Running Postman Test Collections via Postman
-
Install and launch Postman.
-
Run the EdFi.Ods.Api.IntegrationTestHarness project from the ODS solution. This will create the Postman Environment file required for the tests to run.
-
Run the EdFi.Ods.Api.IntegrationTestHarness project. Test Harness will create test API clients in the
EdFi_Admin_Test
database, create a Postman environment file and run a test API instance for the Postman tests to interact with.tipIn Visual Studio, you can right click on the TestHarness project, then choose
Debug > Start New Instance
from the popup menu. -
After the test harness is running, open Postman and import the generated environment file located at
Ed-Fi-ODS-Implementation\logistics\scripts\modules
-
Ensure the environment is selected on the to right corner of Postman window.
tipSee Navigating Postman for additional help on choosing an environment in Postman
-
-
Locate (or download) the Ed-Fi ODS Integration Test Suite collections from the Ed-Fi-ODS GitHub repository. Look in
Ed-FI-ODS\Postman Test Suite
directory. -
Import one or more of the collections into Postman using the Import function located in the upper left corner of the Postman window.
-
Run the tests using the Collection Runner.
-
Monitor test execution and review the test results.