QaaS.Framework.Protocols 1.3.1

dotnet add package QaaS.Framework.Protocols --version 1.3.1
                    
NuGet\Install-Package QaaS.Framework.Protocols -Version 1.3.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QaaS.Framework.Protocols" Version="1.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QaaS.Framework.Protocols" Version="1.3.1" />
                    
Directory.Packages.props
<PackageReference Include="QaaS.Framework.Protocols" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add QaaS.Framework.Protocols --version 1.3.1
                    
#r "nuget: QaaS.Framework.Protocols, 1.3.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package QaaS.Framework.Protocols@1.3.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=QaaS.Framework.Protocols&version=1.3.1
                    
Install as a Cake Addin
#tool nuget:?package=QaaS.Framework.Protocols&version=1.3.1
                    
Install as a Cake Tool

QaaS.Framework

Composable .NET packages for building, running, and validating QaaS test workflows.

CI Line Coverage Branch Coverage Docs .NET

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

Package Latest Version Total Downloads
QaaS.Framework.Configurations NuGet Downloads
QaaS.Framework.Executions NuGet Downloads
QaaS.Framework.Infrastructure NuGet Downloads
QaaS.Framework.Policies NuGet Downloads
QaaS.Framework.Protocols NuGet Downloads
QaaS.Framework.Providers NuGet Downloads
QaaS.Framework.SDK NuGet Downloads
QaaS.Framework.Serialization NuGet Downloads

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 IConfiguration into 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 DataSourceBuilder and 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

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on QaaS.Framework.Protocols:

Package Downloads
QaaS.Framework.Executions

Execution orchestration for QaaS test workflows.

QaaS.Common.Generators

Common generators 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 92 3/28/2026
1.3.0 130 3/25/2026
1.2.8 154 3/23/2026
1.2.7 162 3/23/2026
1.2.5 259 3/21/2026
1.2.5-alpha.4 95 3/22/2026
1.2.5-alpha.3 66 3/21/2026
1.2.5-alpha.2 39 3/21/2026
1.2.5-alpha.1 102 3/21/2026
1.2.4 236 3/17/2026
1.2.4-alpha.1 55 3/17/2026
1.2.3 92 3/16/2026
1.2.3-alpha.2 73 3/16/2026
1.2.3-alpha.1 51 3/16/2026
1.2.2 123 3/16/2026
1.2.1 155 3/16/2026
1.2.1-alpha.2 43 3/16/2026
1.2.1-alpha.1 37 3/16/2026
1.2.0 103 3/16/2026
1.2.0-alpha.17 40 3/15/2026
Loading failed