QaaS.Framework.Serialization
1.2.4
See the version list below for details.
dotnet add package QaaS.Framework.Serialization --version 1.2.4
NuGet\Install-Package QaaS.Framework.Serialization -Version 1.2.4
<PackageReference Include="QaaS.Framework.Serialization" Version="1.2.4" />
<PackageVersion Include="QaaS.Framework.Serialization" Version="1.2.4" />
<PackageReference Include="QaaS.Framework.Serialization" />
paket add QaaS.Framework.Serialization --version 1.2.4
#r "nuget: QaaS.Framework.Serialization, 1.2.4"
#:package QaaS.Framework.Serialization@1.2.4
#addin nuget:?package=QaaS.Framework.Serialization&version=1.2.4
#tool nuget:?package=QaaS.Framework.Serialization&version=1.2.4
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
- Google.Protobuf (>= 3.34.0)
- MessagePack (>= 3.1.4)
- QaaS.Framework.Configurations (>= 1.2.4)
- System.Runtime.Serialization.Formatters (>= 10.0.5)
- YamlDotNet (>= 16.3.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on QaaS.Framework.Serialization:
| Package | Downloads |
|---|---|
|
QaaS.Framework.SDK
Core SDK APIs for building on the QaaS framework. |
|
|
QaaS.Common.Generators
Common generators for QaaS test workflows. |
|
|
QaaS.Common.Assertions
Common assertion library for QaaS test workflows. |
|
|
QaaS.Common.Probes
Common probes library for QaaS test workflows. |
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 | 192 | 3/25/2026 |
| 1.2.8 | 244 | 3/23/2026 |
| 1.2.7 | 178 | 3/23/2026 |
| 1.2.5 | 359 | 3/21/2026 |
| 1.2.5-alpha.4 | 222 | 3/22/2026 |
| 1.2.5-alpha.3 | 80 | 3/21/2026 |
| 1.2.5-alpha.2 | 47 | 3/21/2026 |
| 1.2.5-alpha.1 | 123 | 3/21/2026 |
| 1.2.4 | 340 | 3/17/2026 |
| 1.2.4-alpha.1 | 62 | 3/17/2026 |
| 1.2.3 | 123 | 3/16/2026 |
| 1.2.3-alpha.2 | 82 | 3/16/2026 |
| 1.2.3-alpha.1 | 55 | 3/16/2026 |
| 1.2.2 | 149 | 3/16/2026 |
| 1.2.1 | 305 | 3/16/2026 |
| 1.2.1-alpha.2 | 48 | 3/16/2026 |
| 1.2.1-alpha.1 | 40 | 3/16/2026 |
| 1.2.0 | 137 | 3/16/2026 |
| 1.2.0-alpha.17 | 40 | 3/15/2026 |