]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Move ServerbSqliteTests to integration (#19807)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Sun, 10 Sep 2023 05:09:12 +0000 (15:09 +1000)
committerGitHub <noreply@github.com>
Sun, 10 Sep 2023 05:09:12 +0000 (15:09 +1000)
Content.IntegrationTests/Tests/Preferences/ServerDbSqliteTests.cs [moved from Content.Tests/Server/Preferences/ServerDbSqliteTests.cs with 78% similarity]

similarity index 78%
rename from Content.Tests/Server/Preferences/ServerDbSqliteTests.cs
rename to Content.IntegrationTests/Tests/Preferences/ServerDbSqliteTests.cs
index 7c3282e2013e0c729c9007ddf830061fa7a660eb..35aedf43f26996f856b384cec1816ccf5b0a815d 100644 (file)
@@ -1,41 +1,36 @@
-using System;
 using System.Collections.Generic;
-using System.IO;
 using System.Linq;
-using System.Threading.Tasks;
 using Content.Server.Database;
 using Content.Shared.GameTicking;
 using Content.Shared.Humanoid;
 using Content.Shared.Preferences;
 using Microsoft.Data.Sqlite;
 using Microsoft.EntityFrameworkCore;
-using NUnit.Framework;
 using Robust.Shared.Configuration;
 using Robust.Shared.Enums;
-using Robust.Shared.IoC;
 using Robust.Shared.Maths;
 using Robust.Shared.Network;
 using Robust.Shared.Prototypes;
-using Robust.Shared.Serialization.Manager;
 
-namespace Content.Tests.Server.Preferences
+namespace Content.IntegrationTests.Tests.Preferences
 {
     [TestFixture]
-    public sealed class ServerDbSqliteTests : ContentUnitTest
+    public sealed class ServerDbSqliteTests
     {
+        [TestPrototypes]
         private const string Prototypes = @"
 - type: dataset
-  id: names_first_male
+  id: sqlite_test_names_first_male
   values:
   - Aaden
 
 - type: dataset
-  id: names_first_female
+  id: sqlite_test_names_first_female
   values:
   - Aaliyah
 
 - type: dataset
-  id: names_last
+  id: sqlite_test_names_last
   values:
   - Ackerley";
 
@@ -69,50 +64,54 @@ namespace Content.Tests.Server.Preferences
             );
         }
 
-        private static ServerDbSqlite GetDb()
+        private static ServerDbSqlite GetDb(IConfigurationManager cfgManager)
         {
             var builder = new DbContextOptionsBuilder<SqliteServerDbContext>();
             var conn = new SqliteConnection("Data Source=:memory:");
             conn.Open();
             builder.UseSqlite(conn);
-            return new ServerDbSqlite(() => builder.Options, true, IoCManager.Resolve<IConfigurationManager>(), true);
+            return new ServerDbSqlite(() => builder.Options, true, cfgManager, true);
         }
 
         [Test]
         public async Task TestUserDoesNotExist()
         {
-            var db = GetDb();
+            var pair = await PoolManager.GetServerClient();
+            var db = GetDb(pair.Server.ResolveDependency<IConfigurationManager>());
             // Database should be empty so a new GUID should do it.
             Assert.Null(await db.GetPlayerPreferencesAsync(NewUserId()));
+
+            await pair.CleanReturnAsync();
         }
 
         [Test]
         public async Task TestInitPrefs()
         {
-            var db = GetDb();
+            var pair = await PoolManager.GetServerClient();
+            var db = GetDb(pair.Server.ResolveDependency<IConfigurationManager>());
             var username = new NetUserId(new Guid("640bd619-fc8d-4fe2-bf3c-4a5fb17d6ddd"));
             const int slot = 0;
             var originalProfile = CharlieCharlieson();
             await db.InitPrefsAsync(username, originalProfile);
             var prefs = await db.GetPlayerPreferencesAsync(username);
             Assert.That(prefs.Characters.Single(p => p.Key == slot).Value.MemberwiseEquals(originalProfile));
+            await pair.CleanReturnAsync();
         }
 
         [Test]
         public async Task TestDeleteCharacter()
         {
-            var db = GetDb();
+            var pair = await PoolManager.GetServerClient();
+            var server = pair.Server;
+            var db = GetDb(server.ResolveDependency<IConfigurationManager>());
             var username = new NetUserId(new Guid("640bd619-fc8d-4fe2-bf3c-4a5fb17d6ddd"));
-            IoCManager.Resolve<ISerializationManager>().Initialize();
-            var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
-            prototypeManager.Initialize();
-            prototypeManager.LoadFromStream(new StringReader(Prototypes));
             await db.InitPrefsAsync(username, new HumanoidCharacterProfile());
             await db.SaveCharacterSlotAsync(username, CharlieCharlieson(), 1);
             await db.SaveSelectedCharacterIndexAsync(username, 1);
             await db.SaveCharacterSlotAsync(username, null, 1);
             var prefs = await db.GetPlayerPreferencesAsync(username);
             Assert.That(!prefs.Characters.Any(p => p.Key != 0));
+            await pair.CleanReturnAsync();
         }
 
         private static NetUserId NewUserId()