-
Notifications
You must be signed in to change notification settings - Fork 206
Expand file tree
/
Copy pathtest_runtime.py
More file actions
44 lines (33 loc) · 1.44 KB
/
test_runtime.py
File metadata and controls
44 lines (33 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"""Tests for runtime mode resolution."""
from basic_memory.runtime import RuntimeMode, resolve_runtime_mode
class TestRuntimeMode:
"""Tests for RuntimeMode enum."""
def test_local_mode_properties(self):
mode = RuntimeMode.LOCAL
assert mode.is_local is True
assert mode.is_cloud is False
assert mode.is_test is False
def test_cloud_mode_properties(self):
mode = RuntimeMode.CLOUD
assert mode.is_local is False
assert mode.is_cloud is True
assert mode.is_test is False
def test_test_mode_properties(self):
mode = RuntimeMode.TEST
assert mode.is_local is False
assert mode.is_cloud is False
assert mode.is_test is True
class TestResolveRuntimeMode:
"""Tests for resolve_runtime_mode function."""
def test_resolves_to_test_when_test_env(self):
"""Test environment resolves to TEST mode."""
mode = resolve_runtime_mode(is_test_env=True)
assert mode == RuntimeMode.TEST
def test_resolves_to_local_when_not_test_env(self):
"""Non-test environments resolve to LOCAL mode."""
mode = resolve_runtime_mode(is_test_env=False)
assert mode == RuntimeMode.LOCAL
def test_never_resolves_to_cloud_in_local_app_context(self):
"""Resolver no longer returns CLOUD for local app composition roots."""
mode = resolve_runtime_mode(is_test_env=False)
assert mode is not RuntimeMode.CLOUD