diff --git a/test/e2e/docs/parity-inventory.generated.json b/test/e2e/docs/parity-inventory.generated.json index 62f9c3e441c..0d01cb589aa 100644 --- a/test/e2e/docs/parity-inventory.generated.json +++ b/test/e2e/docs/parity-inventory.generated.json @@ -8849,7 +8849,15 @@ }, { "script": "test/e2e/test-messaging-providers.sh", - "line": 1264, + "line": 1263, + "text": "M12: Node.js routed through proxy (proxy policy blocked destination: ${tg_reach:0:160})", + "polarity": "pass", + "normalized_id": "m12.node.js.routed.through.proxy.policy.blocked.destination", + "mapping_status": "deferred" + }, + { + "script": "test/e2e/test-messaging-providers.sh", + "line": 1270, "text": "M12: Node.js could not reach api.telegram.org (${tg_reach:0:200})", "polarity": "fail", "normalized_id": "m12.node.js.could.not.reach.api.telegram.org.tg.reach.0.200", diff --git a/test/e2e/test-messaging-providers.sh b/test/e2e/test-messaging-providers.sh index ba79ae75059..257b3f6c40a 100755 --- a/test/e2e/test-messaging-providers.sh +++ b/test/e2e/test-messaging-providers.sh @@ -1282,6 +1282,11 @@ if echo "$tg_reach" | grep -q "HTTP_"; then pass "M12: Node.js reached api.telegram.org (${tg_reach})" elif echo "$tg_reach" | grep -q "TIMEOUT"; then skip "M12: api.telegram.org timed out (network may be slow)" +elif echo "$tg_reach" | grep -qiE "ERROR:.*(ERR_PROXY_TUNNEL|PROXY_CONNECTION_LOST)"; then + # ERR_PROXY_TUNNEL means Node routed through the proxy and the proxy issued + # a non-2xx CONNECT response (e.g. 403 Forbidden). This proves proxy *wiring* + # is correct — the failure is upstream proxy policy, not NemoClaw configuration. + pass "M12: Node.js routed through proxy (proxy policy blocked destination: ${tg_reach:0:160})" elif echo "$tg_reach" | grep -qiE "ERROR:.*(ECONNRESET|reset|socket hang up|ENETUNREACH|EHOSTUNREACH|ETIMEDOUT)"; then skip "M12: api.telegram.org unreachable from this network (${tg_reach:0:160})" else