Siemens.AspNet.MsTest.Sdk 0.1.0-alpha.39

Prefix Reserved
This is a prerelease version of Siemens.AspNet.MsTest.Sdk.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Siemens.AspNet.MsTest.Sdk --version 0.1.0-alpha.39
                    
NuGet\Install-Package Siemens.AspNet.MsTest.Sdk -Version 0.1.0-alpha.39
                    
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="Siemens.AspNet.MsTest.Sdk" Version="0.1.0-alpha.39" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Siemens.AspNet.MsTest.Sdk" Version="0.1.0-alpha.39" />
                    
Directory.Packages.props
<PackageReference Include="Siemens.AspNet.MsTest.Sdk" />
                    
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 Siemens.AspNet.MsTest.Sdk --version 0.1.0-alpha.39
                    
#r "nuget: Siemens.AspNet.MsTest.Sdk, 0.1.0-alpha.39"
                    
#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.
#addin nuget:?package=Siemens.AspNet.MsTest.Sdk&version=0.1.0-alpha.39&prerelease
                    
Install Siemens.AspNet.MsTest.Sdk as a Cake Addin
#tool nuget:?package=Siemens.AspNet.MsTest.Sdk&version=0.1.0-alpha.39&prerelease
                    
Install Siemens.AspNet.MsTest.Sdk as a Cake Tool

Siemens.AspNet.MsTest.Sdk

This NuGet package provides utilities for API testing with a focus on AWS DynamoDB and Docker. It helps set up DynamoDB services within a Docker container for testing purposes and includes additional features to manage environment variables and API interactions.

Features

  • DynamoDB Helper: Set up and interact with AWS DynamoDB in a Docker container.
  • Docker Helper: Spin up Docker containers for AWS DynamoDB.
  • API Test Utilities: Provides utilities for setting up API testing environments, including the configuration of environment variables.
  • Support for Multiple Environments: Easily configure testing environments, such as Development, Staging, or Production, with environment variables.

Installation

You can install this package using the following NuGet command:

dotnet add package Siemens.AspNet.MsTest.Sdk

Setup Example

API Test Base Setup

The following example demonstrates how to initialize the testing environment, configure DynamoDB, and set up environment variables.

/// <summary>
///     The base class for API testing, providing utilities for setting up and interacting with the API.
/// </summary>
private static ApiTestBase<Program> _apiTestBase = null!;

protected static HttpClient Client { get; private set; } = null!;

private static readonly IDynamoDbService DynamoDbService = DynamoDbServiceFactory.Create();

[AssemblyInitialize]
public static async Task AssemblyInitializeAsync(TestContext _)
{
    // 0. Ensure that previous tests were not interrupted
    await AssemblyCleanupAsync().ConfigureAwait(false);

    // 1. Setup DynamoDB service
    await DynamoDbService.SetupAsync<Program>().ConfigureAwait(false);

    // 2. Load environment variables
    var environmentVariables = EmbeddedFile.GetFileContentFrom("Properties.EnvironmentVariables.json")
                                           .FromJsonStringAs<Dictionary<string, string>>()
                                           .Select(keyValue => (keyValue.Key, keyValue.Value)).ToArray();

    // 3. Setup API test base environment
    _apiTestBase = new ApiTestBase<Program>("Development", // The environment name
                                            (_, _) =>
                                            {
                                            }, // Register services action
                                            environmentVariables); // Configure environment variables  

    // Additional setup logic can be added here
}

DynamoDB Docker Setup

The package includes utilities to set up a Docker container with AWS DynamoDB to simulate a real database environment for testing.

// Factory creation
// Sample code for running DynamoDB in a Docker container
var DynamoDbService = DynamoDbServiceFactory.Create();
// Via service collection
serviceCollection.AddDynamoDbService();

Contributing

Feel free to open issues or submit pull requests. If you are interested in contributing, please ensure to follow the coding standards and best practices used in this repository.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.0-alpha.44 42 4/7/2025
0.1.0-alpha.41 38 4/7/2025
0.1.0-alpha.40 42 4/7/2025
0.1.0-alpha.39 56 4/4/2025
0.1.0-alpha.38 73 4/4/2025
0.1.0-alpha.37 108 4/4/2025