mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-20 00:10:03 +02:00
adds web_server tests
This commit is contained in:
parent
c7b039beb7
commit
2d3e7d8c1b
47
tests/server/web_server/test_web_server.py
Normal file
47
tests/server/web_server/test_web_server.py
Normal file
@ -0,0 +1,47 @@
|
||||
import json
|
||||
import logging
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
|
||||
import pydase
|
||||
from pydase.data_service.data_service_observer import DataServiceObserver
|
||||
from pydase.data_service.state_manager import StateManager
|
||||
from pydase.server.web_server.web_server import WebServer
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def test_web_settings() -> None:
|
||||
class SubClass(pydase.DataService):
|
||||
name = "Hello"
|
||||
|
||||
class ServiceClass(pydase.DataService):
|
||||
def __init__(self) -> None:
|
||||
super().__init__()
|
||||
self.attr_1 = SubClass()
|
||||
self.added = "added"
|
||||
|
||||
service_instance = ServiceClass()
|
||||
state_manager = StateManager(service_instance)
|
||||
observer = DataServiceObserver(state_manager)
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
web_settings = {
|
||||
"attr_1": {"displayName": "Attribute"},
|
||||
"attr_1.name": {"displayName": "Attribute name"},
|
||||
}
|
||||
web_settings_file = Path(tmp) / "web_settings.json"
|
||||
|
||||
with web_settings_file.open("w") as file:
|
||||
file.write(json.dumps(web_settings))
|
||||
|
||||
server = WebServer(
|
||||
observer,
|
||||
host="0.0.0.0",
|
||||
port=8001,
|
||||
generate_new_web_settings=True,
|
||||
config_dir=Path(tmp),
|
||||
)
|
||||
new_web_settings = server.web_settings
|
||||
|
||||
# existing entries are not overwritten, new entries are appended
|
||||
assert new_web_settings == {**web_settings, "added": {"displayName": "added"}}
|
Loading…
x
Reference in New Issue
Block a user