Skip to content

Commit 417a15e

Browse files
committed
typing test_model_edges_protocols, test_model_lined_protocols, test_model_points_protocols, test_model_surfaces_protocols and add typing for get_response
1 parent f166403 commit 417a15e

File tree

5 files changed

+24
-17
lines changed

5 files changed

+24
-17
lines changed

src/tests/conftest.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
import os
1111
from pathlib import Path
1212
import xml.etree.ElementTree as ET
13-
from typing import Callable, Optional
13+
from typing import Callable, Optional, Union, Dict, Any, List
1414
from opengeodeweb_viewer import config
1515
from opengeodeweb_microservice.database.connection import get_session, init_database
1616
from opengeodeweb_microservice.database.data import Data
1717

1818

1919
class ServerMonitor:
20-
def __init__(self, log):
20+
def __init__(self, log: str) -> None:
2121
self.log = log
2222
self.ws = create_connection("ws://localhost:1234/ws")
2323
self.images_dir_path = os.path.abspath(
@@ -31,7 +31,7 @@ def __init__(self, log):
3131
self._init_ws()
3232
self._drain_initial_messages()
3333

34-
def call(self, rpc, params=[{}]) -> None:
34+
def call(self, rpc: str, params: List[Dict[str, Any]] = [{}]) -> None:
3535
return self.ws.send(
3636
json.dumps(
3737
{
@@ -42,7 +42,7 @@ def call(self, rpc, params=[{}]) -> None:
4242
)
4343
)
4444

45-
def print_log(self):
45+
def print_log(self) -> None:
4646
output = ""
4747
with open(self.log) as f:
4848
for line in f:
@@ -52,7 +52,7 @@ def print_log(self):
5252
output += line
5353
print(output)
5454

55-
def get_response(self):
55+
def get_response(self) -> Union[bytes, Dict[str, Any], str]:
5656
response = self.ws.recv()
5757
if isinstance(response, bytes):
5858
return response
@@ -144,10 +144,10 @@ def _drain_initial_messages(
144144

145145

146146
class FixtureHelper:
147-
def __init__(self, root_path):
147+
def __init__(self, root_path: Path) -> None:
148148
self.root_path = Path(root_path)
149149

150-
def get_xprocess_args(self):
150+
def get_xprocess_args(self) -> tuple:
151151
class Starter(ProcessStarter):
152152
terminate_on_interrupt = True
153153
pattern = "wslink: Starting factory"
@@ -166,7 +166,7 @@ class Starter(ProcessStarter):
166166

167167

168168
@pytest.fixture
169-
def server(xprocess):
169+
def server(xprocess) -> ServerMonitor:
170170
name, Starter, Monitor = HELPER.get_xprocess_args()
171171
os.environ["PYTHON_ENV"] = "test"
172172
_, log = xprocess.ensure(name, Starter)
@@ -181,7 +181,7 @@ def server(xprocess):
181181

182182

183183
@pytest.fixture(scope="session", autouse=True)
184-
def configure_test_environment():
184+
def configure_test_environment() -> None:
185185
base_path = Path(__file__).parent
186186
config.test_config(base_path)
187187
db_path = base_path / "project.db"
@@ -197,7 +197,6 @@ def configure_test_environment():
197197

198198
@pytest.fixture
199199
def dataset_factory() -> Callable[..., str]:
200-
201200
def create_dataset(
202201
*, id: str, viewable_file_name: str, geode_object: Optional[str] = None
203202
) -> str:

src/tests/model/edges/test_model_edges_protocols.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Standard library imports
2+
from typing import Callable
23

34
# Third party imports
45
from opengeodeweb_viewer.rpc.model.edges.model_edges_protocols import (
@@ -7,9 +8,10 @@
78

89
# Local application imports
910
from src.tests.model.test_model_protocols import test_register_model
11+
from ...conftest import ServerMonitor
1012

1113

12-
def test_edges_visibility(server, dataset_factory):
14+
def test_edges_visibility(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
1315

1416
test_register_model(server, dataset_factory)
1517

src/tests/model/lines/test_model_lines_protocols.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Standard library imports
2+
from typing import Callable
23

34
# Third party imports
45
from opengeodeweb_viewer.rpc.model.lines.model_lines_protocols import (
@@ -7,9 +8,10 @@
78

89
# Local application imports
910
from src.tests.model.test_model_protocols import test_register_model_cube
11+
from ...conftest import ServerMonitor
1012

1113

12-
def test_lines_edges_visibility(server, dataset_factory):
14+
def test_lines_edges_visibility(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
1315

1416
test_register_model_cube(server, dataset_factory)
1517

@@ -40,7 +42,7 @@ def test_lines_edges_visibility(server, dataset_factory):
4042
assert server.compare_image(3, "model/lines/visibility.jpeg") == True
4143

4244

43-
def test_lines_edges_color(server, dataset_factory):
45+
def test_lines_edges_color(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
4446

4547
test_lines_edges_visibility(server, dataset_factory)
4648

src/tests/model/points/test_model_points_protocols.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Standard library imports
2+
from typing import Callable
23

34
# Third party imports
45
from opengeodeweb_viewer.rpc.model.points.model_points_protocols import (
@@ -7,9 +8,10 @@
78

89
# Local application imports
910
from src.tests.model.test_model_protocols import test_register_model
11+
from ...conftest import ServerMonitor
1012

1113

12-
def test_points_visibility(server, dataset_factory):
14+
def test_points_visibility(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
1315

1416
test_register_model(server, dataset_factory)
1517

@@ -21,7 +23,7 @@ def test_points_visibility(server, dataset_factory):
2123
assert server.compare_image(3, "model/points/visibility.jpeg") == True
2224

2325

24-
def test_points_size(server, dataset_factory):
26+
def test_points_size(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
2527

2628
test_points_visibility(server, dataset_factory)
2729

src/tests/model/surfaces/test_model_surfaces_protocols.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Standard library imports
2+
from typing import Callable
23

34
# Third party imports
45
from opengeodeweb_viewer.rpc.model.surfaces.model_surfaces_protocols import (
@@ -7,9 +8,10 @@
78

89
# Local application imports
910
from src.tests.model.test_model_protocols import test_register_model_cube
11+
from ...conftest import ServerMonitor
1012

1113

12-
def test_surfaces_polygons_visibility(server, dataset_factory):
14+
def test_surfaces_polygons_visibility(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
1315

1416
test_register_model_cube(server, dataset_factory)
1517

@@ -41,7 +43,7 @@ def test_surfaces_polygons_visibility(server, dataset_factory):
4143
assert server.compare_image(3, "model/surfaces/visibility.jpeg") == True
4244

4345

44-
def test_surfaces_polygons_color(server, dataset_factory):
46+
def test_surfaces_polygons_color(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
4547

4648
test_surfaces_polygons_visibility(server, dataset_factory)
4749

0 commit comments

Comments
 (0)