From 40ac886a3ae3140169b6036abfcca6ddc07e28bb Mon Sep 17 00:00:00 2001 From: Tomperez98 Date: Wed, 23 Apr 2025 13:38:37 -0500 Subject: [PATCH 1/2] Set and get dependency --- resonate/resonate.py | 6 ++++++ tests/test_bridge.py | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/resonate/resonate.py b/resonate/resonate.py index 0c3cf210..76ca407a 100644 --- a/resonate/resonate.py +++ b/resonate/resonate.py @@ -205,6 +205,9 @@ def get(self, id: str) -> Handle[Any]: fp.result() return Handle(fv) + def set_dependency(self, name: str, obj: Any) -> None: + self._dependencies.add(name, obj) + # Context class Context: @@ -289,6 +292,9 @@ def sleep(self, secs: int) -> RFC: self._counter += 1 return RFC(f"{self.id}.{self._counter}", Sleep(secs)) + def get_dependency(self, name: str) -> Any: + return self._dependencies.get(name) + def _lfi_func(self, f: str | Callable) -> tuple[Callable, int, dict[int, Callable] | None]: match f: case str(): diff --git a/tests/test_bridge.py b/tests/test_bridge.py index f614e0d0..61cb1952 100644 --- a/tests/test_bridge.py +++ b/tests/test_bridge.py @@ -104,6 +104,10 @@ def add_one(ctx: Context, n: int) -> int: return n + 1 +def get_dependency(ctx: Context) -> int: + return ctx.get_dependency("foo") + 1 + + def rfi_add_one_by_name(ctx: Context, n: int) -> Generator[Any, Any, int]: v = yield ctx.rfc("add_one", n) return v @@ -137,11 +141,19 @@ def resonate_instance(request: pytest.FixtureRequest) -> Generator[Resonate, Non resonate.register(sleep) resonate.register(add_one) resonate.register(rfi_add_one_by_name) + resonate.register(get_dependency) resonate.start() yield resonate resonate.stop() +def test_get_dependency(resonate_instance: Resonate) -> None: + timestamp = int(time.time()) + resonate_instance.set_dependency("foo", 1) + handle = resonate_instance.run(f"get-dependency-{timestamp}", get_dependency) + assert handle.result() == 2 + + def test_basic_lfi(resonate_instance: Resonate) -> None: timestamp = int(time.time()) handle = resonate_instance.run(f"foo-lfi-{timestamp}", foo_lfi) From ca29857980951d4d46ad42515e02d1991aecc2c6 Mon Sep 17 00:00:00 2001 From: Tomperez98 Date: Wed, 23 Apr 2025 14:01:03 -0500 Subject: [PATCH 2/2] remove deps propertu --- resonate/resonate.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/resonate/resonate.py b/resonate/resonate.py index 76ca407a..181bff50 100644 --- a/resonate/resonate.py +++ b/resonate/resonate.py @@ -223,10 +223,6 @@ def __init__(self, id: str, info: Info, opts: Options, registry: Registry, depen def id(self) -> str: return self._id - @property - def deps(self) -> Dependencies: - return self._dependencies - @property def info(self) -> Info: return self._info