feat: add native runtime settings

This commit is contained in:
2026-07-21 12:07:18 +09:00
parent b6208c0971
commit fc4007d676
25 changed files with 3543 additions and 63 deletions

View File

@@ -147,6 +147,37 @@ public sealed class LegacyIniDatabaseOptionsLoaderTests
Assert.Equal("maria.dev.invalid", runtime.Options.MariaDb.Host);
}
[Fact]
public void Runtime_UserSelectedResCanExplicitlyPrecedeExecutableCredentials()
{
using var directory = TemporaryDirectory.Create();
var executableRes = Path.Combine(directory.Path, "Res");
Directory.CreateDirectory(executableRes);
File.WriteAllBytes(
Path.Combine(executableRes, "MmoneyCoder.ini"),
TemporaryLegacyIni.ValidUtf8Bytes());
using var selected = TemporaryLegacyIni.Create(Encoding.UTF8.GetBytes(
"""
[Oracle]
ConnectionName=selected.oracle.invalid:1521/DEVORA
ID=oracle-user
Pass=oracle-password
[Maria]
ConnectionName=selected.maria.invalid:3306/dev_stock
ID=maria-user
Pass=maria-password
"""));
var runtime = DatabaseRuntime.CreateLegacyExecutableDefault(
directory.Path,
Path.Combine(directory.Path, "missing.json"),
selected.Path,
preferLegacyOverride: true);
Assert.Equal("selected.oracle.invalid", runtime.Options.Oracle.Host);
Assert.Equal("selected.maria.invalid", runtime.Options.MariaDb.Host);
}
[Fact]
public void Load_OptionalRealLegacyIni_IsConfiguredWithoutPrintingValues()
{