From 6e067a28d8527726a2a17045bef0f0e3d3430ed5 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 23 Apr 2021 17:28:18 +0800 Subject: refactor: Refactor a lot. --- BackEnd/Timeline.Tests/Helpers/TestApplication.cs | 18 ------------------ BackEnd/Timeline.Tests/Helpers/TestDatabase.cs | 17 ++++++++--------- .../IntegratedTests/IntegratedTestBase.cs | 8 ++++++++ 3 files changed, 16 insertions(+), 27 deletions(-) (limited to 'BackEnd/Timeline.Tests') diff --git a/BackEnd/Timeline.Tests/Helpers/TestApplication.cs b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs index 22f5f006..fcb0882e 100644 --- a/BackEnd/Timeline.Tests/Helpers/TestApplication.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs @@ -15,21 +15,12 @@ namespace Timeline.Tests.Helpers { public class TestApplication : IAsyncLifetime { - public TestDatabase Database { get; } - public IHost Host { get; private set; } = default!; public string WorkDir { get; private set; } = default!; - public TestApplication() - { - Database = new TestDatabase(false); - } - public async Task InitializeAsync() { - await Database.InitializeAsync(); - WorkDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(WorkDir); @@ -42,13 +33,6 @@ namespace Timeline.Tests.Helpers ["WorkDir"] = WorkDir }); }) - .ConfigureServices(services => - { - services.AddDbContext(options => - { - options.UseSqlite(Database.Connection); - }); - }) .ConfigureWebHost(webBuilder => { webBuilder @@ -64,8 +48,6 @@ namespace Timeline.Tests.Helpers Host.Dispose(); Directory.Delete(WorkDir, true); - - await Database.DisposeAsync(); } } } diff --git a/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs b/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs index c51a94ba..d37aace4 100644 --- a/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs @@ -12,11 +12,11 @@ namespace Timeline.Tests.Helpers { public class TestDatabase : IAsyncLifetime { - private readonly bool _createUser; + private readonly bool _init; - public TestDatabase(bool createUser = true) + public TestDatabase(bool init = true) { - _createUser = createUser; + _init = init; Connection = new SqliteConnection("Data Source=:memory:;"); } @@ -24,9 +24,11 @@ namespace Timeline.Tests.Helpers { await Connection.OpenAsync(); - using (var context = CreateContext()) + if (_init) { + using var context = CreateContext(); await context.Database.EnsureCreatedAsync(); + context.JwtToken.Add(new JwtTokenEntity { Key = JwtTokenGenerateHelper.GenerateKey() @@ -42,11 +44,8 @@ namespace Timeline.Tests.Helpers await context.SaveChangesAsync(); - if (_createUser) - { - var user = await userService.CreateUser("user", "userpw"); - await userService.ModifyUser(user.Id, new ModifyUserParams() { Nickname = "imuser" }); - } + var user = await userService.CreateUser("user", "userpw"); + await userService.ModifyUser(user.Id, new ModifyUserParams() { Nickname = "imuser" }); } } diff --git a/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs index b700ada2..161e5d98 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs @@ -64,6 +64,14 @@ namespace Timeline.Tests.IntegratedTests } var userService = scope.ServiceProvider.GetRequiredService(); + + await userService.ModifyUser(await userService.GetUserIdByUsername("administrator"), new ModifyUserParams + { + Username = "admin", + Password = "adminpw", + Nickname = "administrator" + }); + foreach (var user in users) { var (username, password, nickname) = user; -- cgit v1.2.3