ValueTask a bunch of Database Functions

This commit is contained in:
Dominion
2023-06-14 00:59:34 -04:00
parent 764724664c
commit 71753f5a44
20 changed files with 82 additions and 59 deletions
@@ -36,7 +36,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers.Tests
mockSetup
.Setup(x => x.RegisterOperation(It.IsNotNull<Job>(), It.IsNotNull<JobEntrypoint>(), It.IsAny<CancellationToken>()))
.Callback<Job, JobEntrypoint, CancellationToken>((job, entrypoint, cancellationToken) => job.StartedBy ??= new User { })
.Returns(Task.CompletedTask);
.Returns(ValueTask.CompletedTask);
mockSetup
.Setup(x => x.WaitForJobCompletion(It.IsNotNull<Job>(), It.IsAny<User>(), It.IsAny<CancellationToken>(), It.IsAny<CancellationToken>()))
.Returns(Task.CompletedTask);
@@ -73,7 +73,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers.Tests
mockSetup
.Setup(x => x.RegisterOperation(It.IsNotNull<Job>(), It.IsNotNull<JobEntrypoint>(), It.IsAny<CancellationToken>()))
.Callback<Job, JobEntrypoint, CancellationToken>((job, entrypoint, cancellationToken) => job.StartedBy ??= new User { })
.Returns(Task.CompletedTask);
.Returns(ValueTask.CompletedTask);
mockSetup
.Setup(x => x.WaitForJobCompletion(It.IsNotNull<Job>(), It.IsAny<User>(), It.IsAny<CancellationToken>(), It.IsAny<CancellationToken>()))
.Returns(Task.CompletedTask);
@@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using System;
@@ -41,12 +41,12 @@ namespace Tgstation.Server.Host.Database.Tests
var factory = new DatabaseContextFactory(mockScopeFactory.Object);
await Assert.ThrowsExceptionAsync<ArgumentNullException>(() => factory.UseContext(null));
await Assert.ThrowsExceptionAsync<ArgumentNullException>(async () => await factory.UseContext(null));
await factory.UseContext(context =>
{
Assert.AreSame(mockDbo, context);
return Task.CompletedTask;
return ValueTask.CompletedTask;
});
mockScopeFactory.VerifyAll();
@@ -51,7 +51,7 @@ namespace Tgstation.Server.Host.Swarm.Tests
readonly Mock<IHttpClient> mockHttpClient;
readonly Mock<IDatabaseContextFactory> mockDBContextFactory;
readonly Mock<IDatabaseSeeder> mockDatabaseSeeder;
readonly ISetup<IDatabaseSeeder, Task> mockDatabaseSeederInitialize;
readonly ISetup<IDatabaseSeeder, ValueTask> mockDatabaseSeederInitialize;
readonly Action recreateControllerAndService;
@@ -95,7 +95,7 @@ namespace Tgstation.Server.Host.Swarm.Tests
mockDatabaseSeederInitialize = new Mock<IDatabaseSeeder>().Setup(x => x.Initialize(mockDatabaseContext, It.IsAny<CancellationToken>()));
mockDBContextFactory = new Mock<IDatabaseContextFactory>();
mockDBContextFactory
.Setup(x => x.UseContext(It.IsNotNull<Func<IDatabaseContext, Task>>()))
.Setup(x => x.UseContext(It.IsNotNull<Func<IDatabaseContext, ValueTask>>()))
.Callback<Func<IDatabaseContext, Task>>((func) => func(mockDatabaseContext));
var mockHttpClientFactory = new Mock<IAbstractHttpClientFactory>();
@@ -226,9 +226,13 @@ namespace Tgstation.Server.Host.Swarm.Tests
Assert.Fail("Initialized twice!");
if (!cancel)
mockDatabaseSeederInitialize.Returns(Task.CompletedTask).Verifiable();
mockDatabaseSeederInitialize.Returns(ValueTask.CompletedTask).Verifiable();
else
mockDatabaseSeederInitialize.ThrowsAsync(new TaskCanceledException()).Verifiable();
mockDatabaseSeederInitialize.Returns(async () =>
{
await Task.Yield();
throw new TaskCanceledException();
}).Verifiable();
Task<SwarmRegistrationResult> Invoke() => Service.Initialize(default);
+1 -1
View File
@@ -73,7 +73,7 @@ namespace Tgstation.Server.Tests
return null;
}
using var context = CreateContext();
await using var context = CreateContext();
await context.Database.EnsureDeletedAsync();
await context.Database.MigrateAsync(default);