Files
2026-06-24 19:27:14 +02:00

5.3 KiB

name, description
name description
ssh-integration-test Run structured integration tests on PAISY SSH test instances. Selects instances by module, executes PAI programs, compares expected vs actual output, looks up error codes via ADP Docs Wiki, and logs results to BigMind. Use when asked to test on a PAISY instance, run SSH tests, or verify PAI program output.

SSH Integration Test

When to use

  • Running PAI programs on a PAISY test instance to verify changes
  • Executing SSH test cases from a testplan document
  • Verifying PAISY batch processing after deploying a new JAR

When NOT to use

  • Running Maven unit/integration tests locally → use mvn-test skill
  • Deploying a JAR without structured testing → use ssh-test-deploy skill directly
  • Writing test code → use Code mode

Required Inputs

Input Source Example
TICKET_KEY Jira issue key ESIDEPAISY-12366
MODULE PAISY module name svmeldungen, eau, eubp
PROGRAM PAI program to run PAI022, PAIBATCH, PAI028
INSTANCE SSH instance (optional — auto-selected) Halling.123, Tanja.122

Instance Selection

Module / Use case Recommended instance Reason
SVMeldungen (DSAK, DSBD) Tanja instances DSAK test data available
Zentrale Rückmeldeverarbeitung Halling instances Central processing setup
Mandant testing Halling instances Multi-tenant config
EAU, EuBP, DaBPV Any available No special requirements

If INSTANCE is not provided, auto-select:

instances = list-instances()
# Pick based on module using the table above
set-instance(instance=<selected>)

Workflow

1. Read testplan SSH test cases (if available)

cat docs/<MODULE>/<TICKET_KEY>/<TICKET_KEY>-testplan.md

Extract rows from the "Manuelle Tests (SSH)" table. Each row has: ID, Instanz, Programm, Eingabe, Erwartetes Ergebnis.

If no testplan exists, proceed with the user-provided program and args.

2. Select and connect to instance

list-instances()
set-instance(instance="<INSTANCE>")

3. Build and upload JAR (if not already deployed)

cd /Users/pplate/git/paisy-<TICKET_KEY>
mvn package -pl <MODULE_PATH> -am -DskipTests -f java/pom.xml
upload-file(
    localPath="/Users/pplate/git/paisy-<TICKET_KEY>/<MODULE_PATH>/target/<MODULE>-<version>.jar",
    remoteFilename="<MODULE>-<version>.jar"
)

4. Execute test cases

For each test case from the testplan (or the single user-provided test):

result = run-program(program="<PROGRAM>", args="<PROGRAM_ARGS>")

5. Compare expected vs actual

For each test case, evaluate:

Check How
Return code RC=0 → pass, RC=4 → warning, RC>=8 → fail
Error prefix Output starting with F; → PAISY error
Expected output Compare against testplan "Erwartetes Ergebnis"
Data verification Use exec-command to query results if needed

6. Look up error codes (on failure)

If a F; error or unexpected RC occurs:

# Check BigMind first
memory_search_facts("PAISY error <code>")

# Then ADP Docs Wiki Fehlermeldungen page (ID: 15196)
set-wiki(uri="mcp://wikis/adpdocs.de.adp.com")
get-page(title="Fehlermeldungen")

7. Verify with shell commands (optional)

exec-command(command="ls -la /path/to/output/")
exec-command(command="cat /path/to/logfile.log | tail -50")
exec-command(command="grep -c 'DSAK' /path/to/output/file")

8. Log results to BigMind

memory_store_fact(
    category="codebase",
    fact=f"{TICKET_KEY}: SSH test on {INSTANCE}{PROGRAM} {PROGRAM_ARGS} → RC={rc}. {passed}/{total} test cases passed."
)
memory_append_chunk(
    session_id=SESSION_ID,
    content=f"SSH integration test results for {TICKET_KEY}:\n"
            f"Instance: {INSTANCE}\n"
            f"Program: {PROGRAM}\n"
            f"Test cases:\n"
            f"  {test_id}: expected={expected}, actual={actual}, status={pass/fail}\n"
            f"  ...",
    flag_reason="SSH test results"
)

9. Update testplan status (if testplan exists)

Report back which SSH test cases passed/failed so the testplan document can be updated:

ID Erwartetes Ergebnis Tatsächliches Ergebnis Status
MT-01 RC=0, keine Fehler RC=0
MT-02 3 DSAK records 3 DSAK records

Common Programs

Program Module Typical args What it does
PAI022 SVMeldungen "-svmeldungen DSAK" SV-Meldeverfahren batch
PAI022 EAU "-eau" eAU processing
PAI028 SVD (none) Import SVD.XML data
PAIBATCH Various module-specific General batch runner
PAI030 Lohnsteuer "-lstb" Tax certificate

Troubleshooting

Problem Solution
F; response Parse error code, look up in ADP Docs Wiki (page 15196)
RC=15 SVD.XML outdated — run PAI028 first to import fresh SVD data
Connection timeout Instance may be down — try another from list-instances()
JAR not found after upload Check upload path with exec-command("ls -la /path/to/jars/")
Unexpected empty output Check if the correct Mandant/BBNR is configured on the instance