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
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,15 @@ dotnet_diagnostic.SA1011.severity = none
# MA0015: The expression does not match a parameter
dotnet_diagnostic.MA0015.severity = none

# VSTHRD103: Add synchronously blocks. Await AddAsync instead.
dotnet_diagnostic.VSTHRD103.severity = none

# S8969: Remove this null-forgiving operator; the compiler already knows this expression is not null here.
dotnet_diagnostic.S8969.severity = none

# MA0011: Use an overload of 'Error' that has a 'System.IFormatProvider' parameter
dotnet_diagnostic.MA0011.severity = none

# The relationship defined by this property contributes to a dependency loop
resharper_entity_framework_model_validation_circular_dependency_highlighting = none

Expand Down
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" />
<PackageReference Include="coverlet.collector">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="coverlet.msbuild">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand All @@ -22,7 +25,10 @@
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="NUnit" />
<PackageReference Include="NUnit.Analyzers" />
<PackageReference Include="NUnit.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter" />
<PackageReference Include="Respawn" />
<PackageReference Include="Testcontainers" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ public async Task<ContainerInfo> StartAsync()

var containerName = "dipmailbot_integration_test_db_" + Guid.NewGuid().ToString("D");

var containerBuilder = new PostgreSqlBuilder()
var containerBuilder = new PostgreSqlBuilder("postgres:17-bookworm")
.WithName(containerName)
.WithImage("postgres:17-bookworm")
.WithExposedPort(TestDefaults.DbPort)
.WithPassword(TestDefaults.DbPassword)
.WithAutoRemove(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ public async Task OpenPendingPollsAsync_WithMultipleCandidates_SendsPollAndCreat
SlotInstance = slotInstance,
},
};
await dbContext.MessageCandidates.AddRangeAsync(candidates);
await dbContext.MessageCandidates.AddRangeAsync(candidates, cancellationToken);
await dbContext.SaveChangesAsync(cancellationToken);

var repository = new PollRepository(
Expand Down Expand Up @@ -1476,7 +1476,7 @@ public async Task SendVoteApproachingRemindersAsync_WithMultipleChatsAndRelation
new DiplomaticRelation { SourceChat = chat3, TargetChat = chat4, CreatedAt = timeProvider.GetUtcNow().UtcDateTime },
new DiplomaticRelation { SourceChat = chat4, TargetChat = chat3, CreatedAt = timeProvider.GetUtcNow().UtcDateTime },
};
await dbContext.DiplomaticRelations.AddRangeAsync(relations);
await dbContext.DiplomaticRelations.AddRangeAsync(relations, cancellationToken);

// Create some existing slot instances to verify they don't trigger reminders
var existingSlots = new[]
Expand All @@ -1498,7 +1498,7 @@ public async Task SendVoteApproachingRemindersAsync_WithMultipleChatsAndRelation
TargetChat = chat3,
},
};
await dbContext.SlotInstances.AddRangeAsync(existingSlots);
await dbContext.SlotInstances.AddRangeAsync(existingSlots, cancellationToken);
await dbContext.SaveChangesAsync(cancellationToken);

var repository = new PollRepository(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public async Task ListRegisteredChatsAsync_ReturnsAllChats(CancellationToken can
CreatedAt = timeProvider.GetUtcNow().UtcDateTime,
},
};
await dbContext.RegisteredChats.AddRangeAsync(chats);
await dbContext.RegisteredChats.AddRangeAsync(chats, cancellationToken);
await dbContext.SaveChangesAsync(cancellationToken);

var repository = new RegisteredChatRepository(
Expand Down
10 changes: 8 additions & 2 deletions DiplomaticMailBot.Tests.Unit/DiplomaticMailBot.Tests.Unit.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" />
<PackageReference Include="coverlet.collector">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="coverlet.msbuild">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand All @@ -20,7 +23,10 @@
<PackageReference Include="Moq" />
<PackageReference Include="NetArchTest.Rules" />
<PackageReference Include="NUnit" />
<PackageReference Include="NUnit.Analyzers" />
<PackageReference Include="NUnit.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NUnit3TestAdapter" />
</ItemGroup>

Expand Down
88 changes: 33 additions & 55 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,76 +1,54 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
<CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>
<ItemGroup>
<!-- Global Analyzers -->
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="5.6.0" />
<GlobalPackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
<GlobalPackageReference Include="Roslynator.Analyzers" Version="4.14.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</GlobalPackageReference>
<GlobalPackageReference Include="Roslynator.Formatting.Analyzers" Version="4.14.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</GlobalPackageReference>
<GlobalPackageReference Include="SonarAnalyzer.CSharp" Version="10.15.0.120848" />
<GlobalPackageReference Include="Meziantou.Analyzer" Version="2.0.256">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</GlobalPackageReference>
<GlobalPackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</GlobalPackageReference>
<GlobalPackageReference Include="AsyncFixer" Version="1.6.0" />
<GlobalPackageReference Include="Roslynator.Analyzers" Version="4.16.0" />
<GlobalPackageReference Include="Roslynator.Formatting.Analyzers" Version="4.16.0" />
<GlobalPackageReference Include="SonarAnalyzer.CSharp" Version="10.32.0.713" />
<GlobalPackageReference Include="Meziantou.Analyzer" Version="3.0.157" />
<GlobalPackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="18.7.23" />
<GlobalPackageReference Include="AsyncFixer" Version="2.1.0" />
<GlobalPackageReference Include="ErrorProne.NET.CoreAnalyzers" Version="0.7.0-beta.1" />
</ItemGroup>
<ItemGroup>
<PackageVersion Include="coverlet.collector" Version="6.0.4">
<PackageVersion Include="coverlet.collector" Version="10.0.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
<PackageVersion Include="Humanizer.Core" Version="3.0.1" />
<PackageVersion Include="Humanizer.Core.ru" Version="3.0.1" />
<PackageVersion Include="JetBrains.Annotations" Version="2025.2.2" />
<PackageVersion Include="coverlet.msbuild" Version="10.0.1" />
<PackageVersion Include="Humanizer.Core" Version="3.0.10" />
<PackageVersion Include="Humanizer.Core.ru" Version="3.0.10" />
<PackageVersion Include="JetBrains.Annotations" Version="2026.2.0" />
<PackageVersion Include="LanguageExt.Core" Version="4.4.9" />
<PackageVersion Include="LinqKit.Microsoft.EntityFrameworkCore" Version="10.0.9" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.DataAnnotations" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageVersion Include="LinqKit.Microsoft.EntityFrameworkCore" Version="10.0.11" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.11" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.11" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.Options.DataAnnotations" Version="10.0.11" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.9.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.9.0" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="NetArchTest.Rules" Version="1.3.2" />
<PackageVersion Include="NLog.Extensions.Logging" Version="6.1.0" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
<PackageVersion Include="NUnit" Version="4.4.0" />
<PackageVersion Include="NUnit.Analyzers" Version="4.11.2">
<PackageVersion Include="NLog.Extensions.Logging" Version="6.1.4" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.3" />
<PackageVersion Include="NUnit" Version="4.6.1" />
<PackageVersion Include="NUnit.Analyzers" Version="4.14.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageVersion>
<PackageVersion Include="NUnit3TestAdapter" Version="5.2.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="6.2.0" />
<PackageVersion Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
<PackageVersion Include="Respawn" Version="6.2.1" />
<PackageVersion Include="Telegram.Bot" Version="22.7.5" />
<PackageVersion Include="Testcontainers" Version="4.9.0" />
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.9.0" />
<!-- Transitive (fix vulnerabilities) -->
<PackageVersion Include="Azure.Identity" Version="1.*" />
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.*" />
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.*" />
<PackageVersion Include="System.Drawing.Common" Version="10.*" />
<PackageVersion Include="System.Formats.Asn1" Version="10.*" />
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="18.0.*" />
<PackageVersion Include="Microsoft.Build.Tasks.Core" Version="18.0.*" />
<PackageVersion Include="Respawn" Version="7.0.0" />
<PackageVersion Include="Telegram.Bot" Version="22.10.2.1" />
<PackageVersion Include="Testcontainers" Version="4.14.0" />
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.14.0" />
</ItemGroup>
</Project>
</Project>
Loading