feat(runtime): share chat commands and run login sequence
This commit is contained in:
parent
5535d0adac
commit
41b15efd4d
57 changed files with 1739 additions and 345 deletions
|
|
@ -31,7 +31,11 @@ public sealed class HeadlessPluginSessionTests
|
|||
string statusPath = Path.Combine(temporary.Path, "status.jsonl");
|
||||
var credential = new HeadlessCredentialSecret("fixture", "password");
|
||||
using var session = new HeadlessSessionHost(
|
||||
Descriptor([FixtureId.ToUpperInvariant(), BrokenId], statusPath),
|
||||
Descriptor(
|
||||
[FixtureId.ToUpperInvariant(), BrokenId],
|
||||
statusPath,
|
||||
loginCommands: ["/"],
|
||||
loginCommandDelayMs: 0),
|
||||
credential,
|
||||
diagnostics,
|
||||
new FixtureSessionOperations(),
|
||||
|
|
@ -57,7 +61,7 @@ public sealed class HeadlessPluginSessionTests
|
|||
Assert.Equal(
|
||||
[
|
||||
"started", "pluginLoaded", "pluginFailed", "connected",
|
||||
"characterList", "enteredWorld",
|
||||
"characterList", "enteredWorld", "loginCommandFailed",
|
||||
],
|
||||
EventNames(statuses));
|
||||
Assert.Equal(FixtureId, statuses[1].GetProperty("plugin").GetString());
|
||||
|
|
@ -66,6 +70,8 @@ public sealed class HeadlessPluginSessionTests
|
|||
"entry dll not found",
|
||||
statuses[2].GetProperty("error").GetString()!,
|
||||
StringComparison.OrdinalIgnoreCase);
|
||||
Assert.Equal(0, statuses[6].GetProperty("commandIndex").GetInt32());
|
||||
Assert.Equal("/", statuses[6].GetProperty("command").GetString());
|
||||
Assert.Contains("fixture-enabled:hasUi=False:entities=0", output.ToString());
|
||||
|
||||
WeakReference context = Assert.Single(
|
||||
|
|
@ -231,7 +237,9 @@ public sealed class HeadlessPluginSessionTests
|
|||
|
||||
private static HeadlessSessionDescriptor Descriptor(
|
||||
List<string> plugins,
|
||||
string statusPath) => new()
|
||||
string statusPath,
|
||||
IReadOnlyList<string>? loginCommands = null,
|
||||
int loginCommandDelayMs = 500) => new()
|
||||
{
|
||||
Id = "headless-session",
|
||||
Endpoint = new HeadlessEndpointDescriptor
|
||||
|
|
@ -255,6 +263,8 @@ public sealed class HeadlessPluginSessionTests
|
|||
},
|
||||
Plugins = plugins,
|
||||
StatusFile = statusPath,
|
||||
LoginCommands = loginCommands is null ? null : [.. loginCommands],
|
||||
LoginCommandDelayMs = loginCommandDelayMs,
|
||||
};
|
||||
|
||||
private static WorldSession.EntitySpawn Spawn(uint guid, float x) => new(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue