mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 07:24:52 +09:00
Finish the plugin system integration tests
Adds the last three checks from #342 to test_plugin: an InstanceEcho request handled on a running instance, a Lua module with a remote interface that the request calls over RCON, and log tagging checks for the plugin field and host/instance ids on the controller, host and instance log lines. test_plugin now has a module, so the create_scenario and patch unit tests that relied on it having none use global_chat instead. Closes #342 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
35125a28ab
commit
9ab36151bd
8 files changed
+100
-4
No files matched your search
@@ -1,3 +1,7 @@
|
||||
import * as lib from "@clusterio/lib";
|
||||
|
||||
import { InstanceEcho } from "./messages.js";
|
||||
|
||||
export default async function(context) {
|
||||
const { instance, plugin, logger } = context;
|
||||
logger.info("test_plugin instance loaded");
|
||||
@@ -5,4 +9,11 @@ export default async function(context) {
|
||||
instance.hooks.start.attach(plugin.name, async () => {
|
||||
logger.info("test_plugin instance started");
|
||||
});
|
||||
|
||||
instance.handle(InstanceEcho, async (request) => {
|
||||
logger.info(`test_plugin instance echo ${request.text}`);
|
||||
const text = lib.escapeString(request.text);
|
||||
const response = await instance.sendRcon(`/sc rcon.print(remote.call("test_plugin", "echo", "${text}"))`);
|
||||
return response.replace(/\n$/, "");
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user