Files
e2b-dev--e2b/packages/python-sdk/tests/shared/git/test_parity.py
T
2026-07-13 12:47:58 +08:00

34 lines
997 B
Python

import inspect
from e2b.sandbox_async.git import Git as AsyncGit
from e2b.sandbox_sync.git import Git as SyncGit
def _public_methods(cls):
return {
name: getattr(cls, name)
for name in sorted(dir(cls))
if not name.startswith("_") and callable(getattr(cls, name))
}
def test_identical_method_signatures():
sync = _public_methods(SyncGit)
async_ = _public_methods(AsyncGit)
assert set(sync) == set(async_), (
f"missing from async: {set(sync) - set(async_)}, "
f"missing from sync: {set(async_) - set(sync)}"
)
for name in sync:
assert inspect.signature(sync[name]) == inspect.signature(async_[name]), (
f"{name}: sync{inspect.signature(sync[name])} "
f"!= async{inspect.signature(async_[name])}"
)
def test_async_methods_are_coroutines():
for name, method in _public_methods(AsyncGit).items():
assert inspect.iscoroutinefunction(method), f"AsyncGit.{name} is not async"