Encamina.Enmarcha.Testing.Smtp 8.1.6

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Encamina.Enmarcha.Testing.Smtp --version 8.1.6
NuGet\Install-Package Encamina.Enmarcha.Testing.Smtp -Version 8.1.6
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="Encamina.Enmarcha.Testing.Smtp" Version="8.1.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Encamina.Enmarcha.Testing.Smtp --version 8.1.6
#r "nuget: Encamina.Enmarcha.Testing.Smtp, 8.1.6"
#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.
// Install Encamina.Enmarcha.Testing.Smtp as a Cake Addin
#addin nuget:?package=Encamina.Enmarcha.Testing.Smtp&version=8.1.6

// Install Encamina.Enmarcha.Testing.Smtp as a Cake Tool
#tool nuget:?package=Encamina.Enmarcha.Testing.Smtp&version=8.1.6

Testing - SMPT

Nuget package

This project provides utilities for tests related to SMTP servers, allowing you to perform unit tests simulating all the aspects related to SMTP.

Setup

Nuget package

First, install NuGet. Then, install Encamina.Enmarcha.Testing.Smtp from the package manager console:

PM> Install-Package Encamina.Enmarcha.Testing.Smtp

.NET CLI:

Install .NET CLI. Next, install Encamina.Enmarcha.Testing.Smtp from the .NET CLI:

dotnet add package Encamina.Enmarcha.Testing.Smtp

How to use

At some initial point in your tests, for example, in the constructor of a test class, you can initialize a new instance of the SMTP server.

public class EmailServiceTests : FakerProviderFixturedBase, IDisposable
{
    private SmtpServer smtpServer;

    public EmailServiceTests(FakerProvider fakerFixture) : base(fakerFixture)
    {
        smtpServer = Configuration.Configure()
                                  .WithRandomPort()
                                  .Build();
    }

    public void Dispose()
    {
        smtpServer.Dispose();
        smtpServer = null;
    }
}

With this, you will achieve having the basic functionalities of an SMTP server locally to perform tests on an email service without external dependencies.

[Fact]
public void EmailService_SmtpClientOptions_ValidOptions_WithCustomName_Succeeds()
{
    // Arrange
    var smtpClientOptions = new SmtpClientOptions()
    {
        Host = smtpServer.Configuration.Domain,
        Port = smtpServer.Configuration.Port,
        Name = "dummy name",
        Password = "dummy password",
        User = "dummy user",
        // For test porposes, SSL should not be used. Otherwise, a `MailKit.Security.SslHandshakeException` might be thrown...
        UseSSL = false,
    };

    var emailService = new EmailService(smtpClientOptions);

    // ....

    // Act...
    emailService.SendAsync();

    // Assert
    // ...
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
8.1.7-preview-07 57 6/10/2024
8.1.7-preview-06 52 6/10/2024
8.1.7-preview-05 64 6/6/2024
8.1.7-preview-04 64 6/6/2024
8.1.7-preview-03 68 5/24/2024
8.1.7-preview-02 49 5/10/2024
8.1.7-preview-01 48 5/8/2024
8.1.6 93 5/7/2024
8.1.6-preview-08 32 5/2/2024
8.1.6-preview-07 75 4/29/2024
8.1.6-preview-06 77 4/26/2024
8.1.6-preview-05 76 4/24/2024
8.1.6-preview-04 55 4/22/2024
8.1.6-preview-03 71 4/22/2024
8.1.6-preview-02 63 4/17/2024
8.1.6-preview-01 56 4/15/2024
8.1.5 94 4/15/2024
8.1.5-preview-15 56 4/10/2024
8.1.5-preview-14 72 3/20/2024
8.1.5-preview-13 43 3/18/2024
8.1.5-preview-12 80 3/13/2024
8.1.5-preview-11 60 3/13/2024
8.1.5-preview-10 62 3/13/2024
8.1.5-preview-09 58 3/12/2024
8.1.5-preview-08 57 3/12/2024
8.1.5-preview-07 60 3/8/2024
8.1.5-preview-06 53 3/8/2024
8.1.5-preview-05 59 3/7/2024
8.1.5-preview-04 62 3/7/2024
8.1.5-preview-03 63 3/7/2024
8.1.5-preview-02 83 2/28/2024
8.1.5-preview-01 67 2/19/2024
8.1.4 87 2/15/2024
8.1.3 90 2/13/2024
8.1.3-preview-07 53 2/13/2024
8.1.3-preview-06 68 2/12/2024
8.1.3-preview-05 65 2/9/2024
8.1.3-preview-04 56 2/8/2024
8.1.3-preview-03 60 2/7/2024
8.1.3-preview-02 74 2/2/2024
8.1.3-preview-01 61 2/2/2024
8.1.2 88 2/1/2024
8.1.2-preview-9 76 1/22/2024
8.1.2-preview-8 62 1/19/2024
8.1.2-preview-7 65 1/19/2024
8.1.2-preview-6 63 1/19/2024
8.1.2-preview-5 63 1/19/2024
8.1.2-preview-4 71 1/19/2024
8.1.2-preview-3 72 1/18/2024
8.1.2-preview-2 63 1/18/2024
8.1.2-preview-16 63 1/31/2024
8.1.2-preview-15 63 1/31/2024
8.1.2-preview-14 47 1/25/2024
8.1.2-preview-13 63 1/25/2024
8.1.2-preview-12 55 1/23/2024
8.1.2-preview-11 55 1/23/2024
8.1.2-preview-10 57 1/22/2024
8.1.2-preview-1 63 1/18/2024
8.1.1 99 1/18/2024
8.1.0 76 1/18/2024
8.0.3 119 12/29/2023
8.0.1 135 12/14/2023
8.0.0 120 12/7/2023
6.0.4.3 95 12/29/2023
6.0.4.2 105 12/20/2023
6.0.4.1 78 12/19/2023
6.0.4 114 12/4/2023
6.0.3.20 115 11/27/2023
6.0.3.19 116 11/22/2023