5.3 KiB
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-testskill - Deploying a JAR without structured testing → use
ssh-test-deployskill 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 |