Files
2026-07-13 12:47:58 +08:00

43 lines
1.7 KiB
Python

import pytest
from e2b.sandbox.commands.command_handle import CommandExitException
@pytest.mark.skip_debug()
def test_internet_access_enabled(sandbox_factory):
"""Test that sandbox with internet access enabled can reach external websites."""
sbx = sandbox_factory(allow_internet_access=True)
# Test internet connectivity by making a curl request to a reliable external site
result = sbx.commands.run(
"curl -s -o /dev/null -w '%{http_code}' https://connectivitycheck.gstatic.com/generate_204"
)
assert result.exit_code == 0
assert result.stdout.strip() == "204"
@pytest.mark.skip_debug()
def test_internet_access_disabled(sandbox_factory):
"""Test that sandbox with internet access disabled cannot reach external websites."""
sbx = sandbox_factory(allow_internet_access=False)
# Test that internet connectivity is blocked by making a curl request
with pytest.raises(CommandExitException) as exc_info:
sbx.commands.run(
"curl --connect-timeout 3 --max-time 5 -Is https://connectivitycheck.gstatic.com/generate_204"
)
# The command should fail or timeout when internet access is disabled
assert exc_info.value.exit_code != 0
@pytest.mark.skip_debug()
def test_internet_access_default(sandbox):
"""Test that sandbox with default settings (no explicit allow_internet_access) has internet access."""
# Test internet connectivity by making a curl request to a reliable external site
result = sandbox.commands.run(
"curl -s -o /dev/null -w '%{http_code}' https://connectivitycheck.gstatic.com/generate_204"
)
assert result.exit_code == 0
assert result.stdout.strip() == "204"