Skip to content

Probes

TL;DR — Probes perform setup, cleanup, and infrastructure actions before or after Runner sessions.

Probes are hooks that manipulate infrastructure before or after Sessions run. They are typically used for setup and cleanup tasks such as creating queues, flushing caches, scaling pods, truncating tables, or deleting data.

The QaaS.Common.Probes NuGet package ships the built-in probe library. You can author custom probes by implementing BaseProbe<TConfig> from QaaS.Framework.SDK.

Package QaaS.Common.Probes
Source QaaS.Common.Probes
Depends on QaaS.Framework.SDK

Installation

<PackageReference Include="QaaS.Common.Probes" Version="x.x.x" />

Writing Custom Probes

See Write Hooks for the pattern.

Available Hooks

The built-in hooks below are grouped by usage area so it is easier to shortlist the right hook before drilling into configuration details.

RabbitMQ administration

Redis maintenance

  • ExecuteRedisCommand: Executes one Redis command with optional arguments against the selected Redis database, optionally storing the result for later redisResults placeholder reuse.
  • ExecuteRedisCommands: Executes multiple Redis commands sequentially against the selected Redis database, allowing later commands to reuse earlier results through redisResults placeholders and optional looping.
  • EmptyRedisByChunks: Concrete Redis chunk-deletion probe that uses the standard Redis batch probe configuration.
  • FlushAllRedis: Runs Redis FLUSHALL against the configured server to remove keys from every database.
  • FlushDbRedis: Runs Redis FLUSHDB against the selected Redis database.

Databases

  • DeleteElasticIndices: Deletes every Elasticsearch index that matches the configured index pattern.
  • EmptyElasticIndices: Empties elastic indices by their index pattern
  • DropMongoDbCollection: Drops the configured MongoDB collection so a later run can recreate it from scratch.
  • EmptyMongoDbCollection: Deletes all documents from the configured MongoDB collection so it starts clean for the test run.
  • CreateS3Bucket: Ensures the configured S3 bucket exists by creating it when it is missing.
  • DeleteS3Bucket: Empties the configured S3 bucket and deletes it, treating a missing bucket as an already-satisfied state.
  • EmptyS3Bucket: Deletes objects from the configured S3 bucket, optionally constrained to a prefix, while treating a missing bucket as a no-op.

SQL maintenance

Cluster orchestration