fix: harden container networking and adapters #70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What\n- Bind container published port to 127.0.0.1 when auth is explicitly disabled.\n- HTTPAdapter: add default request timeout and URL-encode path parameters.\n- Surface workflow init failures (503) in container server instead of returning empty lists.\n- RedisVectorStore: stop returning empty results on backend failures; raise instead.\n\n### Validation\n- All checks passed!\n- Success: no issues found in 54 source files\n- ============================= test session starts ==============================
platform darwin -- Python 3.12.10, pytest-9.0.2, pluggy-1.6.0
rootdir: /Users/actae0n/dev/agents/py-code-mode
configfile: pyproject.toml
testpaths: tests
plugins: anyio-4.12.0, xdist-3.8.0, asyncio-1.3.0, cov-7.0.0
asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
created: 10/10 workers
10 workers [1598 items]
........................................................................ [ 4%]
........................................................................ [ 9%]
........................................................................ [ 13%]
........................................................................ [ 18%]
........................................................................ [ 22%]
........................................................................ [ 27%]
........................................................................ [ 31%]
........................................................................ [ 36%]
........................................................................ [ 40%]
......................................s................................. [ 45%]
.........s.............................................................. [ 49%]
........................................................................ [ 54%]
........................................................................ [ 58%]
........................................................................ [ 63%]
........................................................................ [ 67%]
........................................................................ [ 72%]
........................................................................ [ 76%]
........................................................................ [ 81%]
........................................................................ [ 85%]
........................................................................ [ 90%]
........................................................................ [ 94%]
........................................................................ [ 99%]
.............. [100%]
=============================== warnings summary ===============================
.venv/lib/python3.12/site-packages/testcontainers/core/waiting_utils.py:215: 11 warnings
/Users/actae0n/dev/agents/py-code-mode/.venv/lib/python3.12/site-packages/testcontainers/core/waiting_utils.py:215: DeprecationWarning: The @wait_container_is_ready decorator is deprecated and will be removed in a future version. Use structured wait strategies instead: container.waiting_for(HttpWaitStrategy(8080).for_status_code(200)) or container.waiting_for(LogMessageWaitStrategy('ready'))
@wait_container_is_ready()
.venv/lib/python3.12/site-packages/testcontainers/redis/init.py:46: 11 warnings
/Users/actae0n/dev/agents/py-code-mode/.venv/lib/python3.12/site-packages/testcontainers/redis/init.py:46: DeprecationWarning: The @wait_container_is_ready decorator is deprecated and will be removed in a future version. Use structured wait strategies instead: container.waiting_for(HttpWaitStrategy(8080).for_status_code(200)) or container.waiting_for(LogMessageWaitStrategy('ready'))
@wait_container_is_ready(redis.exceptions.ConnectionError)
tests/test_deps_config_gaps.py:864: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_deps_config_gaps.py:864: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_deps_config_gaps.py:1097: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_deps_config_gaps.py:1097: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
../libs/py-code-mode/tests/test_executor_deps_methods.py:476: 10 warnings
/Users/actae0n/dev/agents/libs/py-code-mode/tests/test_executor_deps_methods.py:476: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
../libs/py-code-mode/tests/test_executor_deps_methods.py:580: 10 warnings
/Users/actae0n/dev/agents/libs/py-code-mode/tests/test_executor_deps_methods.py:580: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
../libs/py-code-mode/tests/test_executor_deps_methods.py:668: 10 warnings
/Users/actae0n/dev/agents/libs/py-code-mode/tests/test_executor_deps_methods.py:668: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
../libs/py-code-mode/tests/test_executor_deps_methods.py:778: 10 warnings
/Users/actae0n/dev/agents/libs/py-code-mode/tests/test_executor_deps_methods.py:778: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
../libs/py-code-mode/tests/test_redis_tools.py:286: 10 warnings
/Users/actae0n/dev/agents/libs/py-code-mode/tests/test_redis_tools.py:286: PytestUnknownMarkWarning: Unknown pytest.mark.integration - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
tests/test_rpc_errors.py:64: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:64: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:129: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:129: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:162: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:162: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:189: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:189: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:219: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:219: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:301: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:301: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:378: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:378: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_rpc_errors.py:440: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_rpc_errors.py:440: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_session.py:818: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_session.py:818: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:314: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:314: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:566: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:566: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:669: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:669: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:791: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:791: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:812: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:812: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1048: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1048: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1193: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1193: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1288: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1288: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1385: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1385: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1451: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1451: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1529: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1529: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1589: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1589: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1700: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1700: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_executor.py:1821: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_executor.py:1821: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:105: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:105: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:190: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:190: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:250: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:250: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:422: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:422: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:498: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:498: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:613: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:613: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:664: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:664: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_namespace_injection.py:1084: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_namespace_injection.py:1084: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_vector_store.py:222: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_vector_store.py:222: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_subprocess_vector_store.py:269: 10 warnings
/Users/actae0n/dev/agents/py-code-mode/tests/test_subprocess_vector_store.py:269: PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.slow
tests/test_mcp_server.py::TestMCPServerNegative::test_mcp_server_empty_tools_dir
/Users/actae0n/dev/agents/py-code-mode/.venv/lib/python3.12/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function BaseSubprocessTransport.del at 0x107507d80>
Traceback (most recent call last):
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 126, in del
self.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 104, in close
proto.pipe.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 568, in close
self._close(None)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 592, in _close
self._loop.call_soon(self._call_connection_lost, exc)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 799, in call_soon
self._check_closed()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 545, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/test_mcp_server.py::TestMCPServerNegative::test_mcp_server_run_code_syntax_error
/Users/actae0n/dev/agents/py-code-mode/.venv/lib/python3.12/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function BaseSubprocessTransport.del at 0x107a6fd80>
Traceback (most recent call last):
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 126, in del
self.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 104, in close
proto.pipe.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 568, in close
self._close(None)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 592, in _close
self._loop.call_soon(self._call_connection_lost, exc)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 799, in call_soon
self._check_closed()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 545, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/test_mcp_server.py::TestMCPServerE2E::test_mcp_server_create_workflow_persists
tests/test_mcp_server.py::TestMCPServerDepsToolsSessionNotInitialized::test_remove_dep_without_session_returns_error_dict
/Users/actae0n/dev/agents/py-code-mode/.venv/lib/python3.12/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <function BaseSubprocessTransport.del at 0x10719bd80>
Traceback (most recent call last):
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 126, in del
self.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_subprocess.py", line 104, in close
proto.pipe.close()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 568, in close
self._close(None)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/unix_events.py", line 592, in _close
self._loop.call_soon(self._call_connection_lost, exc)
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 799, in call_soon
self._check_closed()
File "/Users/actae0n/.local/share/uv/python/cpython-3.12.10-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 545, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========== 1596 passed, 2 skipped, 426 warnings in 476.21s (0:07:56) ===========