chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:47:58 +08:00
commit b16403ea71
789 changed files with 115226 additions and 0 deletions
@@ -0,0 +1,9 @@
import pytest
from e2b import Sandbox
@pytest.mark.skip_debug()
def test_get_info(sandbox: Sandbox):
info = Sandbox.get_info(sandbox.sandbox_id)
assert info.sandbox_id == sandbox.sandbox_id
@@ -0,0 +1,21 @@
import pytest
from e2b import Sandbox, SandboxQuery, SandboxState
@pytest.mark.skip_debug()
def test_kill_existing_sandbox(sandbox: Sandbox, sandbox_test_id: str):
assert Sandbox.kill(sandbox.sandbox_id)
paginator = Sandbox.list(
query=SandboxQuery(
state=[SandboxState.RUNNING], metadata={"sandbox_test_id": sandbox_test_id}
)
)
sandboxes = paginator.next_items()
assert sandbox.sandbox_id not in [s.sandbox_id for s in sandboxes]
@pytest.mark.skip_debug()
def test_kill_non_existing_sandbox():
assert not Sandbox.kill("nonexistingsandbox")
@@ -0,0 +1,189 @@
import uuid
import pytest
from e2b import Sandbox, SandboxQuery, SandboxState
@pytest.mark.skip_debug()
def test_list_sandboxes(sandbox: Sandbox, sandbox_test_id: str):
paginator = Sandbox.list(
query=SandboxQuery(metadata={"sandbox_test_id": sandbox_test_id})
)
sandboxes = paginator.next_items()
assert len(sandboxes) >= 1
assert sandbox.sandbox_id in [sbx.sandbox_id for sbx in sandboxes]
@pytest.mark.skip_debug()
def test_list_sandboxes_with_filter(sandbox_factory, sandbox_test_id: str):
unique_id = str(uuid.uuid4())
extra_sbx = sandbox_factory(metadata={"unique_id": unique_id})
paginator = Sandbox.list(query=SandboxQuery(metadata={"unique_id": unique_id}))
sandboxes = paginator.next_items()
assert len(sandboxes) == 1
assert sandboxes[0].sandbox_id == extra_sbx.sandbox_id
@pytest.mark.skip_debug()
def test_list_running_sandboxes(sandbox: Sandbox, sandbox_test_id: str):
paginator = Sandbox.list(
query=SandboxQuery(
metadata={"sandbox_test_id": sandbox_test_id}, state=[SandboxState.RUNNING]
)
)
sandboxes = paginator.next_items()
assert len(sandboxes) >= 1
# Verify our running sandbox is in the list
assert any(
s.sandbox_id == sandbox.sandbox_id and s.state == SandboxState.RUNNING
for s in sandboxes
)
@pytest.mark.skip_debug()
def test_list_paused_sandboxes(sandbox: Sandbox, sandbox_test_id: str):
sandbox.beta_pause()
paginator = Sandbox.list(
query=SandboxQuery(
metadata={"sandbox_test_id": sandbox_test_id}, state=[SandboxState.PAUSED]
)
)
sandboxes = paginator.next_items()
assert len(sandboxes) >= 1
# Verify our paused sandbox is in the list
assert any(
s.sandbox_id == sandbox.sandbox_id and s.state == SandboxState.PAUSED
for s in sandboxes
)
@pytest.mark.skip_debug()
def test_paginate_running_sandboxes(
sandbox: Sandbox, sandbox_factory, sandbox_test_id: str
):
# Create two sandboxes
extra_sbx = sandbox_factory(metadata={"sandbox_test_id": sandbox_test_id})
# Test pagination with limit
paginator = Sandbox.list(
query=SandboxQuery(
metadata={"sandbox_test_id": sandbox_test_id},
state=[SandboxState.RUNNING],
),
limit=1,
)
sandboxes = paginator.next_items()
# Check first page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.RUNNING
assert paginator.has_next is True
assert paginator.next_token is not None
assert sandboxes[0].sandbox_id == extra_sbx.sandbox_id
# Get second page
sandboxes = paginator.next_items()
# Check second page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.RUNNING
assert paginator.has_next is False
assert paginator.next_token is None
assert sandboxes[0].sandbox_id == sandbox.sandbox_id
@pytest.mark.skip_debug()
def test_paginate_paused_sandboxes(
sandbox: Sandbox, sandbox_factory, sandbox_test_id: str
):
sandbox.beta_pause()
# create another paused sandbox
extra_sbx = sandbox_factory(metadata={"sandbox_test_id": sandbox_test_id})
extra_sbx.beta_pause()
# Test pagination with limit
paginator = Sandbox.list(
query=SandboxQuery(
state=[SandboxState.PAUSED],
metadata={"sandbox_test_id": sandbox_test_id},
),
limit=1,
)
sandboxes = paginator.next_items()
# Check first page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.PAUSED
assert paginator.has_next is True
assert paginator.next_token is not None
assert sandboxes[0].sandbox_id == extra_sbx.sandbox_id
# Get second page
sandboxes = paginator.next_items()
# Check second page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.PAUSED
assert paginator.has_next is False
assert paginator.next_token is None
assert sandboxes[0].sandbox_id == sandbox.sandbox_id
@pytest.mark.skip_debug()
def test_paginate_running_and_paused_sandboxes(
sandbox: Sandbox, sandbox_factory, sandbox_test_id: str
):
# Create extra paused sandbox
extra_sbx = sandbox_factory(metadata={"sandbox_test_id": sandbox_test_id})
extra_sbx.beta_pause()
# Test pagination with limit
paginator = Sandbox.list(
query=SandboxQuery(
metadata={"sandbox_test_id": sandbox_test_id},
state=[SandboxState.RUNNING, SandboxState.PAUSED],
),
limit=1,
)
sandboxes = paginator.next_items()
# Check first page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.PAUSED
assert paginator.has_next is True
assert paginator.next_token is not None
assert sandboxes[0].sandbox_id == extra_sbx.sandbox_id
# Get second page
sandboxes = paginator.next_items()
# Check second page
assert len(sandboxes) == 1
assert sandboxes[0].state == SandboxState.RUNNING
assert paginator.has_next is False
assert paginator.next_token is None
assert sandboxes[0].sandbox_id == sandbox.sandbox_id
@pytest.mark.skip_debug()
def test_paginate_iterator(sandbox: Sandbox, sandbox_test_id: str):
paginator = Sandbox.list(
query=SandboxQuery(metadata={"sandbox_test_id": sandbox_test_id})
)
sandboxes_list = []
while paginator.has_next:
sandboxes = paginator.next_items()
sandboxes_list.extend(sandboxes)
assert len(sandboxes_list) > 0
assert sandbox.sandbox_id in [sbx.sandbox_id for sbx in sandboxes_list]
@@ -0,0 +1,19 @@
import pytest
from e2b import Sandbox
@pytest.mark.skip_debug()
def test_pause_sandbox(sandbox: Sandbox):
Sandbox.pause(sandbox.sandbox_id)
assert not sandbox.is_running()
@pytest.mark.skip_debug()
def test_resume_sandbox(sandbox: Sandbox):
# pause
Sandbox.pause(sandbox.sandbox_id)
assert not sandbox.is_running()
# resume
Sandbox.connect(sandbox.sandbox_id)
assert sandbox.is_running()