Skip to main content

ResQ.Simulation

ScenarioRunner Class

Orchestrates simulation scenarios to stress-test ResQ services.
public class ScenarioRunner
Inheritance System.Object → ScenarioRunner
Constructors
ScenarioRunner(CoordinationHceClient, InfrastructureApiClient)Initializes a new instance of the ScenarioRunner class.
ScenarioRunner(string, string)Initializes a new instance of the ScenarioRunner class using service URLs.
Methods
CheckServicesAsync(CancellationToken)Checks if services are healthy before running scenarios.
RunIncidentFloodAsync(int)Scenario 4: Incident flood - all drones detect same incident (30 seconds). Tests spike handling when many drones report simultaneously.
RunSingleDroneSurveyAsync()Scenario 1: Single drone survey mission (2 minutes). Tests basic telemetry, detection, and blockchain recording.
RunStressTestAsync(int, CancellationToken)Scenario 3: Stress test with many drones (3 minutes). Tests system limits and concurrent load handling.
RunSwarmSurveyAsync(int, CancellationToken)Scenario 2: Swarm of N drones coordinated search (5 minutes). Tests coordination and concurrent telemetry.
ValidateDroneCount(int, string)Validates drone count parameter is within safe bounds.
ValidateLocation(Location, string)Validates location coordinates are within valid GPS bounds.