feat(soap): add WSDL smoke Hurl scaffold - #1466
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b22f65b50
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "# entroping: scaffold=soap-envelope-smoke", | ||
| "", | ||
| f"POST {normalized_url}", | ||
| "Content-Type: text/xml; charset=utf-8", |
There was a problem hiding this comment.
Select SOAP 1.2 wire format when compiling soap12 WSDLs
When the WSDL uses a SOAP 1.2 binding (http://schemas.xmlsoap.org/wsdl/soap12/), _soap_action_count accepts/counts it, but the generated request is still SOAP 1.1 (text/xml here and the SOAP 1.1 envelope namespace below). SOAP 1.2 endpoints commonly require application/soap+xml plus the 2003 envelope namespace, so those accepted WSDLs produce a smoke test that is rejected before any assertion can pass; detect the binding version or reject soap12 instead of emitting a SOAP 1.1 request.
Useful? React with 👍 / 👎.
Closes #1448
Summary
entroping.bridge.soap_to_hurlcompiler for deterministic local WSDL-to-SOAP Hurl smoke scaffolds.Verification lane
normal-code
Commands run
Commands run:
uv run pytest tests/test_soap_to_hurl.py -qPASSuv run ruff check src/entroping/bridge/soap_to_hurl.py tests/test_soap_to_hurl.pyPASSuv run mypy src/entroping/bridge/soap_to_hurl.py tests/test_soap_to_hurl.pyPASSuv run pytest tests/test_soap_to_hurl.py --cov=entroping.bridge.soap_to_hurl --cov-report=term-missing --cov-fail-under=100 -qPASS, 100% coveragescripts/context_pack.sh --mode implementation --manifestPASS, 339969 / 340000 bytesuv run pytest tests/test_context_pack_script.py::test_context_pack_manifest_reports_budgeted_file_inventory_without_pack_body tests/test_context_pack_script.py::test_context_pack_strict_budget_passes_for_default_implementation_budget -qPASSscripts/feature_gate.sh PASS, 4228 passed
scripts/audit_quality.sh PASS, 100.00% product coverage, quality audit finished
CI repair verification:
uv run pytest tests/test_soap_to_hurl.py --cov=entroping.bridge.soap_to_hurl --cov-report=term-missing --cov-fail-under=100 -qPASS, 100% coverageuv run ruff check src/entroping/bridge/soap_to_hurl.py tests/test_soap_to_hurl.pyPASSuv run mypy src/entroping/bridge/soap_to_hurl.py tests/test_soap_to_hurl.pyPASSuvx bandit -r src/entroping/bridge/soap_to_hurl.py -llPASS, no issuesscripts/feature_gate.sh --securityPASS, 4228 passed and dependency/security audit cleanDocumentation Impact Declaration
examples/soap-api/README.mdanddocs/technical/TDS.mdAgent Autonomy Declaration
/Users/sakibshuvo/projects/Entroping-issue-1448feature/soap-wsdl-smoke-scaffoldsrc/entroping/bridge/soap_to_hurl.py,tests/test_soap_to_hurl.py,examples/soap-api/contracts/orders.wsdl,examples/soap-api/README.md,docs/technical/TDS.md