QaaS.Framework.SDK
1.3.1
dotnet add package QaaS.Framework.SDK --version 1.3.1
NuGet\Install-Package QaaS.Framework.SDK -Version 1.3.1
<PackageReference Include="QaaS.Framework.SDK" Version="1.3.1" />
<PackageVersion Include="QaaS.Framework.SDK" Version="1.3.1" />
<PackageReference Include="QaaS.Framework.SDK" />
paket add QaaS.Framework.SDK --version 1.3.1
#r "nuget: QaaS.Framework.SDK, 1.3.1"
#:package QaaS.Framework.SDK@1.3.1
#addin nuget:?package=QaaS.Framework.SDK&version=1.3.1
#tool nuget:?package=QaaS.Framework.SDK&version=1.3.1
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.Json (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- QaaS.Framework.Configurations (>= 1.3.1)
- QaaS.Framework.Serialization (>= 1.3.1)
- Serilog.Extensions.Logging (>= 10.0.0)
- Serilog.Sinks.Console (>= 6.1.1)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on QaaS.Framework.SDK:
| Package | Downloads |
|---|---|
|
QaaS.Framework.Infrastructure
Shared infrastructure utilities for QaaS components. |
|
|
QaaS.Framework.Protocols
Protocol integrations for QaaS communication layers. |
|
|
QaaS.Framework.Providers
Provider abstractions and implementations for QaaS. |
|
|
QaaS.Framework.Executions
Execution orchestration for QaaS test workflows. |
|
|
QaaS.Mocker.CommunicationObjects
Shared communication contracts and routing helpers between QaaS.Mocker and QaaS.Runner. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.3.1 | 128 | 3/28/2026 |
| 1.3.0 | 189 | 3/25/2026 |
| 1.2.8 | 248 | 3/23/2026 |
| 1.2.7 | 174 | 3/23/2026 |
| 1.2.5 | 352 | 3/21/2026 |
| 1.2.5-alpha.4 | 222 | 3/22/2026 |
| 1.2.5-alpha.3 | 79 | 3/21/2026 |
| 1.2.5-alpha.2 | 44 | 3/21/2026 |
| 1.2.5-alpha.1 | 123 | 3/21/2026 |
| 1.2.4 | 333 | 3/17/2026 |
| 1.2.4-alpha.1 | 58 | 3/17/2026 |
| 1.2.3 | 113 | 3/16/2026 |
| 1.2.3-alpha.2 | 79 | 3/16/2026 |
| 1.2.3-alpha.1 | 53 | 3/16/2026 |
| 1.2.2 | 141 | 3/16/2026 |
| 1.2.1 | 293 | 3/16/2026 |
| 1.2.1-alpha.2 | 42 | 3/16/2026 |
| 1.2.1-alpha.1 | 42 | 3/16/2026 |
| 1.2.0 | 130 | 3/16/2026 |
| 1.2.0-alpha.17 | 43 | 3/15/2026 |