QaaS.Framework.Configurations
1.2.8
See the version list below for details.
dotnet add package QaaS.Framework.Configurations --version 1.2.8
NuGet\Install-Package QaaS.Framework.Configurations -Version 1.2.8
<PackageReference Include="QaaS.Framework.Configurations" Version="1.2.8" />
<PackageVersion Include="QaaS.Framework.Configurations" Version="1.2.8" />
<PackageReference Include="QaaS.Framework.Configurations" />
paket add QaaS.Framework.Configurations --version 1.2.8
#r "nuget: QaaS.Framework.Configurations, 1.2.8"
#:package QaaS.Framework.Configurations@1.2.8
#addin nuget:?package=QaaS.Framework.Configurations&version=1.2.8
#tool nuget:?package=QaaS.Framework.Configurations&version=1.2.8
QaaS.Framework
Composable .NET packages for building, running, and validating QaaS test workflows.
Contents
Overview
This repository contains one solution: QaaS.Framework.sln.
The solution is split into focused NuGet packages (SDK, protocols, policies, configuration, providers, serialization, infrastructure, and execution orchestration) so you can consume only what you need.
Packages
Functionalities
QaaS.Framework.Configurations
- Loads configuration from YAML files (local file system and HTTP GET sources).
- Resolves placeholders and collapses custom configuration path syntax.
- Binds
IConfigurationinto strongly typed objects (including nested lists/dictionaries). - Recursively validates configurations with DataAnnotations and custom validation attributes.
- Resolves shared references from external YAML files into target configuration lists.
QaaS.Framework.SDK
- Defines the core hook contracts:
IHook,IGenerator,IAssertion,IProbe,IProcessor, and transaction processors. - Provides runtime context and execution/session data models.
- Includes
DataSourceBuilderand serialization-aware session data conversion helpers. - Adds extension methods for context/data/session/logging workflows.
QaaS.Framework.Serialization
- Serializer/deserializer factories with pluggable types.
- Supported serialization types:
Binary,Json,MessagePack,Xml,Yaml,ProtobufMessage,XmlElement. - Supports per-message type hints via
SpecificTypeConfig.
QaaS.Framework.Protocols
- Factories for protocol abstractions:
IReader,ISender,ITransactor,IFetcher, chunked variants. - Protocol implementations for messaging, storage, SQL, HTTP, gRPC, and observability systems.
- Includes object-name generation strategies and protocol-specific configuration objects.
QaaS.Framework.Policies
- Chain-of-responsibility policy model (
Policy,PolicyBuilder). - Rate and stop control policies:
Count,Timeout,LoadBalance,IncreasingLoadBalance,AdvancedLoadBalance. - Stage-based load balancing with per-stage amount/timeout transitions.
QaaS.Framework.Providers
- Dynamically discovers hook implementations in loaded assemblies.
- Creates hook instances by type name and validates loaded hook configuration.
- Includes Autofac module support for provider wiring.
QaaS.Framework.Executions
- Base abstractions for execution runtime and execution builders.
- CLI parser/help builders (via CommandLineParser).
- Loader pipeline for options validation and Serilog logger construction (including optional Elastic sink).
QaaS.Framework.Infrastructure
- Shared filesystem utilities (safe directory-name normalization).
- Date/time conversion helpers with daylight-saving-aware offset conversion.
Protocol Support
Supported protocol families in QaaS.Framework.Protocols:
| Family | Implementations |
|---|---|
| Messaging / Queueing | RabbitMQ, Kafka, IBM MQ |
| HTTP / RPC | HTTP, gRPC |
| Databases | PostgreSQL, Oracle, MSSQL, Trino, MongoDB, Redis |
| Search / Monitoring | Elasticsearch, Prometheus |
| File / Storage | S3, SFTP, Socket |
Quick Start
Install package(s):
dotnet add package QaaS.Framework.SDK
dotnet add package QaaS.Framework.Protocols
dotnet add package QaaS.Framework.Executions
Update package(s):
dotnet add package QaaS.Framework.SDK --version 1.1.0
dotnet add package QaaS.Framework.Protocols --version 1.1.0
dotnet restore
Build and Test
dotnet restore QaaS.Framework.sln
dotnet build QaaS.Framework.sln -c Release --no-restore
dotnet test QaaS.Framework.sln -c Release --no-build
Documentation
- Official docs: thesmoketeam.github.io/qaas-docs
- CI workflow:
.github/workflows/ci.yml - NuGet feed query for all packages: QaaS.Framework on NuGet search
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.5)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.5)
- NetEscapades.Configuration.Yaml (>= 3.1.0)
- Serilog (>= 4.3.1)
- Serilog.Settings.Configuration (>= 10.0.0)
- YamlDotNet (>= 16.3.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on QaaS.Framework.Configurations:
| Package | Downloads |
|---|---|
|
QaaS.Framework.Serialization
Serialization helpers and format adapters for QaaS. |
|
|
QaaS.Framework.SDK
Core SDK APIs for building on the QaaS framework. |
|
|
QaaS.Framework.Policies
Policy definitions and evaluation for QaaS. |
|
|
QaaS.Common.Generators
Common generators for QaaS test workflows. |
|
|
QaaS.Common.Assertions
Common assertion library for QaaS test workflows. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.3.1 | 129 | 3/28/2026 |
| 1.3.0 | 192 | 3/25/2026 |
| 1.2.8 | 266 | 3/23/2026 |
| 1.2.7 | 194 | 3/23/2026 |
| 1.2.5 | 378 | 3/21/2026 |
| 1.2.5-alpha.4 | 223 | 3/22/2026 |
| 1.2.5-alpha.3 | 83 | 3/21/2026 |
| 1.2.5-alpha.2 | 48 | 3/21/2026 |
| 1.2.5-alpha.1 | 125 | 3/21/2026 |
| 1.2.4 | 357 | 3/17/2026 |
| 1.2.4-alpha.1 | 63 | 3/17/2026 |
| 1.2.3 | 134 | 3/16/2026 |
| 1.2.3-alpha.2 | 81 | 3/16/2026 |
| 1.2.3-alpha.1 | 62 | 3/16/2026 |
| 1.2.2 | 163 | 3/16/2026 |
| 1.2.1 | 328 | 3/16/2026 |
| 1.2.1-alpha.2 | 51 | 3/16/2026 |
| 1.2.1-alpha.1 | 42 | 3/16/2026 |
| 1.2.0 | 153 | 3/16/2026 |
| 1.2.0-alpha.17 | 44 | 3/15/2026 |