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
11 changes: 11 additions & 0 deletions .autover/changes/32ed76f9-11d9-41f0-afbe-6577cc63554e.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"Projects": [
{
"Name": "AWS.Messaging.Lambda",
"Type": "Patch",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we do patch here if its minor version update in dependencies?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went with patch because we are doing this release to pull in the latest bug fixes in the SDK. Users of this library will not experience any new features.

"ChangelogMessages": [
"Update AWS SDK Dependencies"
]
}
]
}
11 changes: 11 additions & 0 deletions .autover/changes/ff1384b4-5921-45cc-9596-0620d31d1375.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"Projects": [
{
"Name": "AWS.Messaging",
"Type": "Patch",
"ChangelogMessages": [
"Update AWS SDK Dependencies"
]
}
]
}
2 changes: 1 addition & 1 deletion src/AWS.Messaging.Lambda/AWS.Messaging.Lambda.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Amazon.Lambda.Core" Version="2.5.1" />
<PackageReference Include="Amazon.Lambda.Core" Version="2.8.0" />
<PackageReference Include="Amazon.Lambda.SQSEvents" Version="2.2.0" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
</ItemGroup>
Expand Down
8 changes: 4 additions & 4 deletions src/AWS.Messaging/AWS.Messaging.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AWSSDK.EventBridge" Version="4.0.0" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.0" />
<PackageReference Include="AWSSDK.SimpleNotificationService" Version="4.0.0" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.0" />
<PackageReference Include="AWSSDK.EventBridge" Version="4.0.5.4" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.11" />
<PackageReference Include="AWSSDK.SimpleNotificationService" Version="4.0.2.4" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.*" />
Expand Down
10 changes: 5 additions & 5 deletions src/AWS.Messaging/Configuration/AWSClientProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ namespace AWS.Messaging.Configuration;
/// </summary>
internal class AWSClientProvider : IAWSClientProvider
{
private const string _userAgentHeader = "User-Agent";
private static readonly string _userAgentString = $"lib/aws-dotnet-messaging#{TelemetryKeys.AWSMessagingAssemblyVersion}";

private readonly IServiceProvider _serviceProvider;
Expand All @@ -37,9 +36,10 @@ public T GetServiceClient<T>() where T : IAmazonService

internal static void AWSServiceClient_BeforeServiceRequest(object sender, RequestEventArgs e)
{
if (e is not WebServiceRequestEventArgs args || !args.Headers.TryGetValue(_userAgentHeader, out var value) || value.Contains(_userAgentString))
return;

args.Headers[_userAgentHeader] = value + " " + _userAgentString;
WebServiceRequestEventArgs? args = e as WebServiceRequestEventArgs;
if (args != null && args.Request is Amazon.Runtime.Internal.IAmazonWebServiceRequest internalRequest && !internalRequest.UserAgentDetails.GetCustomUserAgentComponents().Contains(_userAgentString))
{
internalRequest.UserAgentDetails.AddUserAgentComponent(_userAgentString);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,26 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AWSSDK.CloudWatchLogs" Version="4.0.0" />
<PackageReference Include="AWSSDK.IdentityManagement" Version="4.0.0" />
<PackageReference Include="AWSSDK.Lambda" Version="4.0.0" />
<PackageReference Include="AWSSDK.S3" Version="4.0.0" />
<PackageReference Include="AWSSDK.SecurityToken" Version="4.0.0" />
<PackageReference Include="AWSSDK.CloudWatchLogs" Version="4.0.9.2" />
<PackageReference Include="AWSSDK.IdentityManagement" Version="4.0.6" />
<PackageReference Include="AWSSDK.Lambda" Version="4.0.6.2" />
<PackageReference Include="AWSSDK.S3" Version="4.0.11.1" />
<PackageReference Include="AWSSDK.SecurityToken" Version="4.0.4" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.*" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.0" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.0" />
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4">
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.11" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.2" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
</ItemGroup>

<ItemGroup>
Expand Down
5 changes: 3 additions & 2 deletions test/AWS.Messaging.IntegrationTests/SubscriberTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ await publisher.PublishAsync(new ChatMessage
var inMemoryLogger = serviceProvider.GetRequiredService<InMemoryLogger>();
var tempStorage = serviceProvider.GetRequiredService<TempStorage<ChatMessage>>();

Assert.Empty(inMemoryLogger.Logs.Where(x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));
Assert.DoesNotContain(inMemoryLogger.Logs, (x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));
Assert.Equal(numberOfMessages, tempStorage.Messages.Count);
for (int i = 0; i < numberOfMessages; i++)
{
Expand Down Expand Up @@ -216,7 +216,8 @@ await publisher.PublishAsync(new ChatMessage

var inMemoryLogger = serviceProvider.GetRequiredService<InMemoryLogger>();

Assert.Empty(inMemoryLogger.Logs.Where(x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));
Assert.DoesNotContain(inMemoryLogger.Logs, (x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));

Assert.Equal(5, tempStorage.Messages.Count);
for (int i = 0; i < 5; i++)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="AWSSDK.CloudWatchLogs" Version="4.0.0" />
<PackageReference Include="AWSSDK.IdentityManagement" Version="4.0.0" />
<PackageReference Include="AWSSDK.Lambda" Version="4.0.0" />
<PackageReference Include="AWSSDK.S3" Version="4.0.0" />
<PackageReference Include="AWSSDK.SecurityToken" Version="4.0.0" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.0" />
<PackageReference Include="AWSSDK.CloudWatchLogs" Version="4.0.9.2" />
<PackageReference Include="AWSSDK.IdentityManagement" Version="4.0.6" />
<PackageReference Include="AWSSDK.Lambda" Version="4.0.6.2" />
<PackageReference Include="AWSSDK.S3" Version="4.0.11.1" />
<PackageReference Include="AWSSDK.SecurityToken" Version="4.0.4" />
<PackageReference Include="AWSSDK.SQS" Version="4.0.2.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.*" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Amazon.Lambda.Core" Version="2.5.1" />
<PackageReference Include="Amazon.Lambda.Core" Version="2.8.0" />
<PackageReference Include="Amazon.Lambda.Serialization.SystemTextJson" Version="2.4.4" />
<PackageReference Include="Amazon.Lambda.SQSEvents" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.*" />
Expand Down
6 changes: 3 additions & 3 deletions test/AWS.Messaging.UnitTests/AWS.Messaging.UnitTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.*" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.*" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="Moq" Version="4.18.4" />
<PackageReference Include="OpenTelemetry.Exporter.InMemory" Version="1.6.0" />
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4">
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
8 changes: 4 additions & 4 deletions test/AWS.Messaging.UnitTests/SQSMessagePollerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,8 @@ public async Task SQSMessagePoller_ExtendMessageVisibility_RequestHasMoreThan10E
await messagePoller.ExtendMessageVisibilityTimeoutAsync(messageEnvelopes);

Assert.NotNull(_inMemoryLogger);
Assert.Empty(_inMemoryLogger.Logs.Where(x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));
Assert.DoesNotContain(_inMemoryLogger.Logs, (x => x.Exception is AmazonSQSException ex && ex.ErrorCode.Equals("AWS.SimpleQueueService.TooManyEntriesInBatchRequest")));

}

/// <summary>
Expand Down Expand Up @@ -286,10 +287,9 @@ public async Task SQSMessagePoller_ExtendsAlreadyDeleteMessage_OnlyLogsTrace()
Assert.NotNull(_inMemoryLogger);

// Don't expect to see message 1 in the error logs, since this is the case where it was deleted before or while extending visibility
Assert.Empty(_inMemoryLogger.Logs.Where(x => x.Message.Contains("batchNum_0_messageId_1")));

Assert.DoesNotContain(_inMemoryLogger.Logs, (x => x.Message.Contains("batchNum_0_messageId_1")));
// But we should see an entry for message 2, which failed to extend visibility for a different reason
Assert.Single(_inMemoryLogger.Logs.Where(x => x.Message.Contains("batchNum_0_messageId_2") && x.LogLevel == LogLevel.Error));
Assert.Single(_inMemoryLogger.Logs, (x => x.Message.Contains("batchNum_0_messageId_2") && x.LogLevel == LogLevel.Error));
}

/// <summary>
Expand Down