--- name: vmhalling-eau-test description: Run EAU integration tests on vmhalling CENTER instance (Zentrale.120 + Mandant.JB). Deploy JAR, prepare test data, run in CENTER mode, verify DB changes and logs. Use when asked to test EAU on vmhalling, run CENTER integration test, or verify EAU changes on a real PAISY instance. --- # vmhalling EAU Integration Test ## When to use - Testing EAU module changes on a real PAISY CENTER instance - Verifying CENTER-mode behavior (multi-mandant loop via connections.csv) - Testing writeRequestData / loadReturnXml flows end-to-end - Deploying and running EAU.jar on vmhalling ## When NOT to use - Unit tests (use `mvn test` locally) - Testing on Package/CLIENT instances (use `ssh-test-deploy` skill with qa host) - Testing modules other than EAU on vmhalling ## Environment | Item | Value | |------|-------| | Host | `halling` (oracle@vmhalling.ad.esi.adp.com) | | Zentrale | `/user2/mkn/Zentrale.120` (RunType=CENTER) | | Mandant.JB | `/user2/mkn/Mandant.JB` (RunType=CLIENT/Package) | | Java | `WEB/JAVA/jdk17.0.17-0/bin/java` (relative to instance) | | JAR path | `/JAR/EAU.jar` | | connections.csv | `Zentrale.120/ADMIN/SETTINGS/connections.csv` (MJB, TS8, MA1, FUB) | | H2 DB | `/ELSDAP/eau.mv.db` | | SSH auth | ed25519 key in authorized_keys (scp works directly) | | Batch scripts | `BATCH/SCRIPTS/PST_eau.ksh` | ## RunType Configuration EAU determines RunType via `CommonRoutines.isCenter()` / `CommonRoutines.islocal()`: | RunType | Env var | Routes to | |---------|---------|-----------| | CENTER | `RMZ_KUNDE=DEUEV` | `Center.java` (multi-mandant loop) | | CLIENT | `RMZ_KUNDE=` or `SVBEA_KUNDE=` | `Package.java` (single mandant) | | PACKAGE | Neither set | `Package.java` (no mandant kürzel) | ## Workflow ### 1. Switch to vmhalling host ```python set-host(host="halling") ``` ### 2. Build and deploy EAU.jar ```bash # Build locally cd /Users/pplate/git/paisy- mvn package -pl :EAU -am -DskipTests -f java/pom.xml -Drevision=100.0.0-TEST -o -q # Deploy via scp (SSH key already configured) scp -o StrictHostKeyChecking=no \ java/modules/cs-modules/eau/target/EAU-*-TEST-jar-with-dependencies.jar \ oracle@vmhalling.ad.esi.adp.com:/user2/mkn/Zentrale.120/JAR/EAU.jar # Also deploy to Mandant.JB if testing CLIENT path scp -o StrictHostKeyChecking=no \ java/modules/cs-modules/eau/target/EAU-*-TEST-jar-with-dependencies.jar \ oracle@vmhalling.ad.esi.adp.com:/user2/mkn/Mandant.JB/JAR/EAU.jar ``` ### 3. Prepare test data (if needed) To make Anforderungen "ready to send" (triggers writeRequestData): ```bash # H2 Shell access export JAVA=/user2/mkn/Zentrale.120/WEB/JAVA/jdk17.0.17-0/bin/java $JAVA -cp /user2/mkn/Zentrale.120/JAR/EAU.jar org.h2.tools.Shell \ -url "jdbc:h2:file:/user2/mkn/Mandant.JB/ELSDAP/eau" -user sa -password "" # Null out AGTOSV_ID to make Anforderungen sendable again UPDATE ADP_EAU_ANFORDERUNGEAUAG SET AGTOSV_ID = NULL WHERE AGTOSV_ID IS NOT NULL; ``` ### 4. Run on Mandant.JB (CLIENT/Package mode — creates AGTOSVs) ```bash cd /user2/mkn/Mandant.JB && source ADMIN/SETTINGS/PAISYPROFILE export JAVA_HOME=/user2/mkn/Zentrale.120/WEB/JAVA/jdk17.0.17-0 export PATH=$JAVA_HOME/bin:$PATH java -jar JAR/EAU.jar --targetdir $PAISY_OUTPUT ``` ### 5. Run on Zentrale.120 (CENTER mode — iterates connections.csv) ```bash cd /user2/mkn/Zentrale.120 && source ADMIN/SETTINGS/PAISYPROFILE export JAVA_HOME=/user2/mkn/Zentrale.120/WEB/JAVA/jdk17.0.17-0 export PATH=$JAVA_HOME/bin:$PATH export RMZ_KUNDE=DEUEV # ← triggers CENTER mode! java -jar JAR/EAU.jar --targetdir $PAISY_OUTPUT ``` ### 6. Verify results ```bash # Check DB for changes $JAVA -cp /user2/mkn/Zentrale.120/JAR/EAU.jar org.h2.tools.Shell \ -url "jdbc:h2:file:/user2/mkn/Mandant.JB/ELSDAP/eau" -user sa -password "" \ -sql "SELECT sd.AKTENZEICHENVERURSACHER FROM ADP_EAU_STEUERUNGSDATEN sd" # Check exported XML files ls -la /user2/mkn/Zentrale.120/USER/master/OUTPUT/EEAA* # Check logs for WARN messages # (output is inline from java -jar command) ``` ### 7. Store results in BigMind ```python memory_store_fact( category="codebase", fact=f"{TICKET_KEY}: SSH integration test on vmhalling CENTER — " ) ``` ## Key Tables (H2) | Table | Purpose | |-------|---------| | `ADP_EAU_STEUERUNGSDATEN` | Contains AKTENZEICHENVERURSACHER (AZVU) | | `ADP_EAU_ANFORDERUNGEAUAG` | Anforderungen (AGTOSV_ID=null = ready to send) | | `ADP_EAU_AGTOSV` | Created AGTOSVs (sent containers) | | `ADP_EAU_ANTRAG` | Anträge (parent of Anforderungen) | ## Troubleshooting | Issue | Resolution | |-------|------------| | `java: not found` | Use full path: `WEB/JAVA/jdk17.0.17-0/bin/java` | | Runs through Package.java instead of Center.java | Set `export RMZ_KUNDE=DEUEV` before running | | "Nothing to send" | Null out AGTOSV_ID on Anforderungen to make them sendable | | scp permission denied | SSH key should be in `~oracle/.ssh/authorized_keys` on vmhalling | | Upload timeout via MCP | Use scp directly (92MB JAR too large for 60s MCP timeout) | | H2 version warning | Non-blocking — H2 2.4.240 works fine |