Sentinel API Assurance is a .NET console application that executes API checks from versioned test suites.
User / CI
-> Test Suite Loader
-> Request Template Rendering
-> SOAP / REST Client
-> Response Parser
-> Assertion Engine
-> Report Generator
The framework keeps test definition, request body, environment configuration, execution, assertion, and reporting concerns separated.
| Component | Responsibility |
|---|---|
Configuration |
Load appsettings.json, JSON suites, and legacy XML call lists. |
Models |
Define runtime objects such as config, suite, test case, and run results. |
Services |
Execute SOAP and REST calls through HttpClient. |
Execution |
Coordinate test execution and evaluate assertions. |
Safety |
Block risky operations unless explicitly approved. |
Reporting |
Write HTML, JSON, and CSV reports. |
Utilities |
Provide CLI parsing, template rendering, and file logging. |
- The CLI selects environment, suite, config path, or legacy calls file.
ConfigLoaderloads and validates configuration.ConfigLoaderorLegacyCallImporterloads test cases.OperationSafetyPolicychecks whether a case should be skipped.SoapTestExecutororRestTestExecutorrenders placeholders and sends the request.AssertionEngineevaluates the response.- Report writers serialize the final
RunResult.
Each active test case goes through these states:
- Resolve service from the selected environment.
- Apply risky operation policy.
- Select an executor by protocol.
- Render request/header/path templates.
- Send HTTP request unless dry-run mode was selected.
- Capture response status, body, and elapsed time.
- Evaluate configured assertions.
- Store a passed, failed, or skipped result.
Executor-level failures are captured as failed raw responses with an explanatory message. Retry count and retry delay are configured in appsettings.json.
Configuration errors are detected early by ConfigLoader so invalid environments, missing service endpoints, or malformed suite cases fail before execution.
appsettings.json is the main source of runtime configuration. It defines:
- Environment names and base URLs
- Service endpoints and SOAP metadata
- Global headers
- Placeholder test data
- Safety keywords
- Default suite path and report directory
The CLI can override environment, suite, config path, or legacy call input.