0
0
Fork 0
Codesys-MCP-SP21-plus/tests/integration
Karstein Phobic Nyvold Kvistad fb7d886a33 feat: add 13 project lifecycle/interop tools (SP21 ScriptProject coverage, phase 2)
close_project, save_project_as, save_project_archive,
save_as_compiled_library, export_plcopen_xml, import_plcopen_xml,
export_native, import_native, get_project_info, set_project_info,
get_compiler_version, set_compiler_version_to_newest, clean_all.

API per SP21 ScriptProject.pyi; semantics cross-checked against
helpme-codesys.com/en/ScriptingEngine/ScriptProjects.html.
Plan: docs/superpowers/plans/2026-06-12-sp21-api-coverage.md (phase 2).
2026-06-12 13:04:34 +02:00
..
e2e.test.ts test(e2e): regression coverage for the four 2026-04-29 fixes (#14) 2026-04-29 13:44:02 +02:00
online-tools-prep.test.ts feat: add 12 online/runtime tools (SP21 ScriptOnline coverage, phase 1) 2026-06-12 12:52:17 +02:00
project-tools-prep.test.ts feat: add 13 project lifecycle/interop tools (SP21 ScriptProject coverage, phase 2) 2026-06-12 13:04:34 +02:00
README.md Initial release: MCP server for CODESYS with persistent UI instance 2026-02-08 18:59:16 +10:00

Manual CODESYS Integration Tests

These tests require a real CODESYS installation and cannot run in CI.

Prerequisites

  • CODESYS 3.5 SP19 or SP21 installed
  • No other CODESYS instances running
  • Node.js 18+

Steps

1. Build the package

npm run build

2. Test persistent mode

node dist/bin.js \
  --codesys-path "C:\path\to\CODESYS.exe" \
  --codesys-profile "CODESYS V3.5 SP21 Patch 3" \
  --mode persistent \
  --verbose

Verify:

  • CODESYS UI opens
  • Console shows "CODESYS watcher is ready"
  • The MCP server accepts connections

3. Test headless fallback

node dist/bin.js \
  --codesys-path "C:\path\to\CODESYS.exe" \
  --codesys-profile "CODESYS V3.5 SP21 Patch 3" \
  --mode headless

4. Test --detect flag

node dist/bin.js --detect

Verify: Lists installed CODESYS versions.

5. Ctrl+C shutdown

  • Press Ctrl+C during persistent mode
  • Verify CODESYS shuts down cleanly