Skip to content

Commit 444fba5

Browse files
committed
Merge branch 'release/v9'
2 parents ca81037 + 4f0e23e commit 444fba5

File tree

3 files changed

+50
-11
lines changed

3 files changed

+50
-11
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ release:create:
6161
before_script:
6262
- export RELEASE_VERSION=`sed -n 's/.*<Version>\(.*\)<\/Version>.*/\1/p' ./src/Directory.Build.props`
6363
rules:
64-
- if: '$CI_COMMIT_REF_SLUG == "main"'
64+
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH =~ /^release\//
6565
when: manual
6666

6767
publish:

src/Email/src/SendEmail.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,6 @@ protected override async Task Handle(SendEmail request, CancellationToken cancel
5454
Subject = subject
5555
};
5656

57-
var headers = request.Headers ?? emailOptions.DefaultHeaders;
58-
59-
if (headers != null)
60-
{
61-
foreach (var (field, value) in headers)
62-
{
63-
message.Headers.Add(field, value);
64-
}
65-
}
66-
6757
if (!string.IsNullOrWhiteSpace(request.BccRecipient))
6858
{
6959
message.Bcc.Add(new MailboxAddress(request.BccRecipient, request.BccRecipient));
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Copyright (c) Fusonic GmbH. All rights reserved.
2+
// Licensed under the MIT License. See LICENSE file in the project root for license information.
3+
4+
using System.Globalization;
5+
using FluentAssertions;
6+
using Fusonic.Extensions.Email.Tests.Models;
7+
using MimeKit;
8+
using NSubstitute;
9+
using NSubstitute.ClearExtensions;
10+
using SimpleInjector;
11+
using Xunit;
12+
13+
namespace Fusonic.Extensions.Email.Tests;
14+
15+
public class SendEmailWithMockedClientTests : TestBase<SendEmailWithMockedClientTests.SendEmailFixture>
16+
{
17+
private readonly ISmtpClient smtpClient;
18+
19+
public SendEmailWithMockedClientTests(SendEmailFixture fixture) : base(fixture)
20+
{
21+
smtpClient = GetInstance<ISmtpClient>();
22+
smtpClient.ClearSubstitute();
23+
}
24+
25+
[Fact]
26+
public async Task SendEmail_StandardHeadersOverwritten()
27+
{
28+
await smtpClient.SendMailAsync(Arg.Do<MimeMessage>(ValidateEmail));
29+
30+
var model = new SendEmailTestEmailViewModel { SomeField = "Some field." };
31+
await SendAsync(new SendEmail("recipient@fusonic.net", "The Recipient", new CultureInfo("de-AT"), model, Headers: new Dictionary<string, string> { ["Message-Id"] = "value" }));
32+
33+
await smtpClient.Received(1).SendMailAsync(Arg.Any<MimeMessage>());
34+
35+
static void ValidateEmail(MimeMessage email)
36+
{
37+
email.Headers.Should().ContainSingle(s => s.Field.Equals("Message-Id", StringComparison.OrdinalIgnoreCase));
38+
email.Headers["Message-Id"].Should().Be("value");
39+
}
40+
}
41+
42+
public class SendEmailFixture : TestFixture
43+
{
44+
protected override void RegisterDependencies(Container container)
45+
{
46+
container.RegisterSingleton(() => Substitute.For<ISmtpClient>());
47+
}
48+
}
49+
}

0 commit comments

Comments
 (0)