feat(launcher): stabilize prepared content updates
Some checks failed
CI / linux-portable (push) Failing after 3m12s
CI / windows-gate (push) Failing after 6m35s
CI / release (push) Has been skipped

This commit is contained in:
Erik 2026-08-25 19:17:13 +02:00
parent f160f3fee1
commit af9327a17b
42 changed files with 3706 additions and 147 deletions

View file

@ -137,6 +137,56 @@ public sealed class RuntimeOptionsSessionConfigTests
options.PreparedAssetPath);
}
[Fact]
public void ProcessContentCarriesOptionalOverlayAndBothRecipeIdentities()
{
var config = new SessionConfiguration
{
Version = 1,
Process = new SessionProcessSettings
{
Content = new SessionContentDescriptor
{
DatDirectory = "D:\\dats",
PreparedAssetPath = "D:\\content\\acdream.pak",
PreparedAssetOverlayPath =
"D:\\content\\acdream-update-5.pak",
PreparedAssetBaseRecipeVersion = 4,
PreparedAssetEffectiveRecipeVersion = 5,
},
},
};
var session = new SessionDescriptor
{
Id = "overlay-session",
Endpoint = new SessionEndpointDescriptor
{
Host = "127.0.0.1",
Port = 9000,
},
Account = "account",
Credential = new SessionCredentialDescriptor
{
Provider = SessionCredentialProviderKind.Environment,
Reference = "X",
},
};
RuntimeOptions options = RuntimeOptions.FromSessionConfig(
"D:\\dats",
_ => null,
"session.json",
config,
session,
"password");
Assert.Equal(
"D:\\content\\acdream-update-5.pak",
options.PreparedAssetOverlayPath);
Assert.Equal(4u, options.PreparedAssetBaseRecipeVersion);
Assert.Equal(5u, options.PreparedAssetEffectiveRecipeVersion);
}
[Fact]
public void EnvironmentFlowLeavesEveryNewFieldAtItsNothingConfiguredDefault()
{
@ -149,5 +199,8 @@ public sealed class RuntimeOptionsSessionConfigTests
Assert.Null(options.Plugins);
Assert.Empty(options.LoginCommands);
Assert.Equal(500, options.LoginCommandDelayMs);
Assert.Null(options.PreparedAssetOverlayPath);
Assert.Null(options.PreparedAssetBaseRecipeVersion);
Assert.Null(options.PreparedAssetEffectiveRecipeVersion);
}
}