|
|
"""Test the obbject registry.""" |
|
|
|
|
|
from openbb_cli.argparse_translator.obbject_registry import Registry |
|
|
from openbb_core.app.model.obbject import OBBject |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_registry_operations(): |
|
|
"""Test the registry operations.""" |
|
|
registry = Registry() |
|
|
obbject1 = OBBject( |
|
|
id="1", results=True, extra={"register_key": "key1", "command": "cmd1"} |
|
|
) |
|
|
obbject2 = OBBject( |
|
|
id="2", results=True, extra={"register_key": "key2", "command": "cmd2"} |
|
|
) |
|
|
obbject3 = OBBject( |
|
|
id="3", results=True, extra={"register_key": "key3", "command": "cmd3"} |
|
|
) |
|
|
|
|
|
|
|
|
assert registry.register(obbject1) is True |
|
|
assert registry.register(obbject2) is True |
|
|
|
|
|
assert registry.register(obbject1) is False |
|
|
|
|
|
assert len(registry.obbjects) == 2 |
|
|
|
|
|
|
|
|
assert registry.get(0) == obbject2 |
|
|
assert registry.get(1) == obbject1 |
|
|
|
|
|
assert registry.get("key1") == obbject1 |
|
|
assert registry.get("key2") == obbject2 |
|
|
|
|
|
assert registry.get(2) is None |
|
|
assert registry.get("invalid_key") is None |
|
|
|
|
|
|
|
|
registry.remove(0) |
|
|
assert len(registry.obbjects) == 1 |
|
|
assert registry.get("key2") is None |
|
|
|
|
|
|
|
|
all_obbjects = registry.all |
|
|
assert "command" in all_obbjects[0] |
|
|
assert all_obbjects[0]["command"] == "cmd1" |
|
|
|
|
|
|
|
|
registry.remove() |
|
|
assert len(registry.obbjects) == 0 |
|
|
assert registry.get("key1") is None |
|
|
|