Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"csharpier": {
"version": "1.2.1",
"version": "1.2.3",
"commands": [
"csharpier"
],
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.15.0.120848">
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.16.1.129956">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
6 changes: 4 additions & 2 deletions src/Processor/Models/Ipaffs/ClearanceRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,17 @@ private static ClearanceRequestItem[] MapItems(Commodity[]? commodities)
DocumentControl = document.DocumentControl,
DocumentQuantity = document.DocumentQuantity,
})
.ToArray() ?? [],
.ToArray()
?? [],
Checks =
commodity
.Checks?.Select(check => new ClearanceRequestCheck
{
CheckCode = check.CheckCode,
DepartmentCode = check.DepartmentCode,
})
.ToArray() ?? [],
.ToArray()
?? [],
})
.ToArray();
}
Expand Down
24 changes: 12 additions & 12 deletions src/Processor/Processor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,25 @@
<PackageReference Include="Defra.TradeImportsDataApi.Api.Client" Version="0.37.0" />
<PackageReference Include="Elastic.CommonSchema.Serilog" Version="9.0.0" />
<PackageReference Include="Elastic.Serilog.Enrichers.Web" Version="9.0.0" />
<PackageReference Include="FluentValidation" Version="12.1.0" />
<PackageReference Include="FluentValidation" Version="12.1.1" />
<PackageReference Include="Macross.Json.Extensions" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.HeaderPropagation" Version="9.0.11" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="2.6.0" />
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="2.8.0" />
<PackageReference Include="Serilog.Enrichers.Environment" Version="3.0.1" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />
<PackageReference Include="SlimMessageBus" Version="3.0.0" />
<PackageReference Include="SlimMessageBus.Host.AmazonSQS" Version="3.3.5" />
<PackageReference Include="SlimMessageBus.Host.AzureServiceBus" Version="3.3.5" />
<PackageReference Include="SlimMessageBus.Host.Serialization.SystemTextJson" Version="3.3.5" />
<PackageReference Include="SlimMessageBus.Host.AmazonSQS" Version="3.3.6" />
<PackageReference Include="SlimMessageBus.Host.AzureServiceBus" Version="3.3.6" />
<PackageReference Include="SlimMessageBus.Host.Serialization.SystemTextJson" Version="3.3.6" />
<PackageReference Include="Amazon.CloudWatch.EMF" Version="2.2.0" />
<PackageReference Include="MongoDB.Driver.Authentication.AWS" Version="3.5.0" />
<PackageReference Include="MongoDB.Driver" Version="3.5.0" />
<PackageReference Include="AWSSDK.Core" Version="4.0.3.1" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.12" />
<PackageReference Include="AWSSDK.SimpleNotificationService" Version="4.0.2.5" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.3" />
<PackageReference Include="MongoDB.Driver.Authentication.AWS" Version="3.5.2" />
<PackageReference Include="MongoDB.Driver" Version="3.5.2" />
<PackageReference Include="AWSSDK.Core" Version="4.0.3.6" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.17" />
<PackageReference Include="AWSSDK.SimpleNotificationService" Version="4.0.2.10" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.8" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,11 @@ await SendMessage(
MRN,
JsonSerializer.Serialize(resourceEvent, _jsonSerializerOptions),
ResourceEventsQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", MRN),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
MRN
),
false
);

Expand Down Expand Up @@ -161,7 +165,11 @@ await SendMessage(
MRN,
JsonSerializer.Serialize(resourceEvent),
ResourceEventsQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceRequest", MRN),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceRequest",
MRN
),
false
);

Expand Down Expand Up @@ -206,7 +214,11 @@ await SendMessage(
MRN,
JsonSerializer.Serialize(resourceEvent),
ResourceEventsQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "Finalisation", MRN),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"Finalisation",
MRN
),
false
);

Expand Down
37 changes: 31 additions & 6 deletions tests/Processor.IntegrationTests/Endpoints/Admin/AdminTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Net;
using Defra.TradeImportsDataApi.Domain.Events;
using Defra.TradeImportsProcessor.Processor.IntegrationTests.Helpers;
using Defra.TradeImportsProcessor.Processor.IntegrationTests.TestBase;
using Defra.TradeImportsProcessor.Processor.IntegrationTests.TestUtils;
Expand All @@ -24,7 +25,11 @@ await SendMessage(
mrn,
resourceEvent,
ResourceEventsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
),
false
);

Expand Down Expand Up @@ -64,7 +69,11 @@ await SendMessage(
mrn,
resourceEvent,
ResourceEventsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
),
false
);

Expand Down Expand Up @@ -108,7 +117,11 @@ public async Task When_message_processing_fails_and_moved_to_dlq_Then_message_ca
mrn,
resourceEvent,
ResourceEventsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn),
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
),
false
);

Expand Down Expand Up @@ -152,7 +165,11 @@ await SendMessage(
mrn,
resourceEvent,
InboundCustomsDeclarationsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn)
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
)
);

var messagesOnDeadLetterQueue = await AsyncWaiter.WaitForAsync(async () =>
Expand Down Expand Up @@ -195,7 +212,11 @@ await SendMessage(
mrn,
resourceEvent,
InboundCustomsDeclarationsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn)
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
)
);

var messagesOnDeadLetterQueue = await AsyncWaiter.WaitForAsync(async () =>
Expand Down Expand Up @@ -239,7 +260,11 @@ public async Task When_customs_declarations_message_processing_fails_and_moved_t
mrn,
resourceEvent,
InboundCustomsDeclarationsDeadLetterQueueUrl,
WithResourceEventAttributes("CustomsDeclaration", "ClearanceDecision", mrn)
WithResourceEventAttributes<ResourceEvent<CustomsDeclarationEvent>>(
"CustomsDeclaration",
"ClearanceDecision",
mrn
)
);

var messagesOnDeadLetterQueue = await AsyncWaiter.WaitForAsync(async () =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
<RootNamespace>Defra.TradeImportsProcessor.Processor.IntegrationTests</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.3" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.8" />
<PackageReference Include="Azure.Messaging.Servicebus" Version="7.20.1" />
<PackageReference Include="FluentAssertions" Version="8.8.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.10" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
<PackageReference Include="WireMock.Net.RestClient" Version="1.15.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.11" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="WireMock.Net.RestClient" Version="1.19.0" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
Expand Down
12 changes: 11 additions & 1 deletion tests/Processor.IntegrationTests/TestBase/SqsTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
using Amazon.SQS.Model;
using Defra.TradeImportsProcessor.Processor.Extensions;
using Defra.TradeImportsProcessor.Processor.IntegrationTests.Helpers;
using SlimMessageBus.Host;
using Xunit.Abstractions;
using Assert = Xunit.Assert;

namespace Defra.TradeImportsProcessor.Processor.IntegrationTests.TestBase;

Expand Down Expand Up @@ -108,14 +110,22 @@ protected async Task<string> SendMessage(
return result.MessageId;
}

protected static Dictionary<string, MessageAttributeValue> WithResourceEventAttributes(
protected static Dictionary<string, MessageAttributeValue> WithResourceEventAttributes<T>(
string resourceType,
string? subResourceType,
string resourceId
)
{
var messageAttributes = new Dictionary<string, MessageAttributeValue>
{
{
"MessageType",
new MessageAttributeValue
{
DataType = "String",
StringValue = new AssemblyQualifiedNameMessageTypeResolver().ToName(typeof(T)),
}
},
{
MessageBusHeaders.ResourceTypeHeader,
new MessageAttributeValue { DataType = "String", StringValue = resourceType }
Expand Down
2 changes: 1 addition & 1 deletion tests/Processor.Tests/Processor.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<Using Include="FluentAssertions" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" Version="10.1.0" />
<PackageReference Include="FluentAssertions" Version="8.8.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.11" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
Expand Down
8 changes: 4 additions & 4 deletions tests/Testing/Testing.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<PackageReference Include="AutoFixture.Xunit2" Version="4.18.1" />
<PackageReference Include="FluentAssertions" Version="8.8.0" />
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.7.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.10" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.11" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
Expand All @@ -20,10 +20,10 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="WireMock.Net.FluentAssertions" Version="1.15.0" />
<PackageReference Include="WireMock.Net.FluentAssertions" Version="1.19.0" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Verify.Xunit" Version="31.7.1" />
<PackageReference Include="Verify.Xunit" Version="31.8.0" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
Expand Down