1ccc74005a3ffb5d8a0336bfda4e6f0d5ecd1617
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
df340b8bba |
fix(tests): three real failures the integration suite had stopped catching
None of these were fixture absence. Each is a guard that went quietly wrong and then reported the wrong thing. PrimaryGateFailoverTests — per-cluster mesh Phase 6 ( |
||
|
|
4b14feb373 |
fix(drivers): serialize driver-config enums as strings in AdminUI pages + probes
AdminUI driver-instance pages serialized enum config fields (S7 CpuType, Modbus DataType/Region, AbCip PlcFamily, ...) as JSON *numbers* because each page's _jsonOpts lacked a JsonStringEnumConverter. The driver factories, however, deserialize into string-typed DTOs (+ lenient ParseEnum) and throw when binding a JSON number to a string? — so an AdminUI-authored config containing any enum field produced a blob the driver could not parse, faulting the driver on deploy. Proven end-to-end for S7 and Modbus; latent for AbCip/AbLegacy/TwinCAT/FOCAS/Galaxy/Historian. Only OpcUaClient was safe (its factory + probe already carried the converter). Add JsonStringEnumConverter to all 9 driver-instance pages' _jsonOpts and the 8 missing driver probes' _opts (factories unchanged — already string-via- ParseEnum; strictly more permissive, also lets pages load hand-seeded string-enum configs back into the form). Also fix DriverProbeHandshakeE2eTests.AbCip_Green_AgainstSim to probe a real sim tag (TestDINT) — the no-tags @raw_cpu_type fallback is rejected by the ab_server sim with ErrorBadParam (a real ControlLogix returns ErrorNotFound, which the probe treats as reachable; hardware-gated follow-up). Tests: reflection guard over all driver pages' _jsonOpts (AdminUI.Tests); factory round-trip + numeric-form-throws guards for S7 and Modbus. Found by running the never-before-run FB-9/FB-10 live verifies. |
||
|
|
1164d423b6 |
fix(probe): Galaxy gRPC ping — drop invalid Retry, treat MxGatewayAuth exceptions as reachable (live /run)
v2-ci / build (push) Failing after 44s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Two bugs caught by live verification against the mxaccessgw at 10.100.0.48:5120: - MaxAttempts=1 produced an invalid Polly RetryStrategyOptions -> the probe failed on every real gateway. Removed the Retry override (matches GalaxyDriver); fail-fast is already guaranteed by the TCP preflight + the per-call deadline. - A rejected key surfaces as a typed MxGatewayAuthenticationException, not a raw RpcException, so 'auth-rejection = reachable' was bypassed. Catch the typed auth/ authorization exceptions -> Ok=true. Adds DriverProbeHandshakeE2eTests: direct-probe, skip-gated cross-protocol green/red discrimination (Modbus, OpcUaClient, Galaxy + a local real OPC UA server). |