Skip to content

Commit 2688759

Browse files
fix(tests): tests in src and fix paths
1 parent 25e758c commit 2688759

19 files changed

+133
-165
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies = {file = ["requirements.txt"]}
3030
where = ["src"]
3131

3232
[tool.setuptools.package-data]
33-
"opengeodeweb_Viewer.rpc.schemas" = ["*.json"]
33+
"opengeodeweb_viewer.rpc.schemas" = ["*.json"]
3434

3535
[tool.semantic_release]
3636
version_toml = [
File renamed without changes.

src/opengeodeweb_viewer/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ def dev_config():
2727
def test_config():
2828
default_config()
2929
os.environ["DATA_FOLDER_PATH"] = os.path.join(
30-
os.path.dirname(__file__), "..", "..", "tests", "data"
30+
os.path.dirname(__file__), "..", "tests", "data"
3131
)

src/opengeodeweb_viewer/vtkw_server.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def initialize(self):
7777
# =============================================================================
7878

7979

80-
if __name__ == "__main__":
80+
def run_server():
8181
basedir = os.path.abspath(os.path.dirname(__file__))
8282
dot_env_path = os.path.join(basedir, "../../.env")
8383
if os.path.isfile(dot_env_path):
@@ -99,3 +99,7 @@ def initialize(self):
9999

100100
_Server.configure(args)
101101
server.start_webserver(options=args, protocol=_Server)
102+
103+
104+
if __name__ == "__main__":
105+
run_server()

src/tests/__init__.py

Whitespace-only changes.

tests/conftest.py renamed to src/tests/conftest.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@
55
from xprocess import ProcessStarter
66
import vtk
77
import os
8-
from src.opengeodeweb_viewer import config
8+
from opengeodeweb_viewer import config
99

1010

1111
class ServerMonitor:
1212
def __init__(self, log):
1313
self.log = log
1414
self.ws = create_connection("ws://localhost:1234/ws")
15+
self.images_dir_path = os.path.abspath(
16+
os.path.join(os.path.dirname(__file__), "data", "images")
17+
)
18+
self.test_output_dir = os.path.abspath(
19+
os.path.join(os.path.dirname(__file__), "tests_output")
20+
)
1521
self.ws.send(
1622
json.dumps(
1723
{
@@ -53,28 +59,31 @@ def get_response(self):
5359
response = eval(self.ws.recv())
5460
return response
5561

56-
def compare_image(self, nb_messages, path_image):
62+
def compare_image(self, nb_messages, filename):
5763
for i in range(nb_messages):
5864
print(f"{i=}", flush=True)
5965
image = self.ws.recv()
60-
if isinstance(image, bytes):
61-
test_filename = os.path.abspath(f"tests/tests_output/test.jpeg")
62-
with open(test_filename, "wb") as f:
63-
f.write(image)
64-
f.close()
66+
# if isinstance(image, bytes):
67+
# file_path = os.path.join(self.test_output_dir, "test.jpeg")
68+
# with open(test_filename, "wb") as f:
69+
# f.write(image)
70+
# f.close()
6571
if isinstance(image, bytes):
6672
print(f"{image=}", flush=True)
6773
response = self.ws.recv()
6874
print(f"{response=}", flush=True)
6975
format = json.loads(response)["result"]["format"]
70-
test_filename = os.path.abspath(f"tests/tests_output/test.{format}")
71-
with open(test_filename, "wb") as f:
76+
test_file_path = os.path.abspath(
77+
os.path.join(self.test_output_dir, f"test.{format}")
78+
)
79+
with open(test_file_path, "wb") as f:
7280
f.write(image)
7381
f.close()
7482

7583
test_reader = vtk.vtkJPEGReader()
76-
test_reader.SetFileName(test_filename)
84+
test_reader.SetFileName(test_file_path)
7785

86+
path_image = os.path.join(self.images_dir_path, filename)
7887
answer_reader = vtk.vtkJPEGReader()
7988
answer_reader.SetFileName(path_image)
8089

@@ -94,12 +103,13 @@ def __init__(self, root_path):
94103

95104
def get_xprocess_args(self):
96105

97-
server_path = "src/opengeodeweb_viewer/vtkw_server.py"
106+
server_path = "opengeodeweb_viewer/vtkw_server.py"
98107
print(f"{server_path=}", flush=True)
99108

100109
class Starter(ProcessStarter):
101110
terminate_on_interrupt = True
102111
pattern = "wslink: Starting factory"
112+
timeout = 10
103113

104114
# command to start process
105115
args = [

src/tests/test_protocol.py

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
import os
2+
3+
4+
def test_create_visualization(server):
5+
server.call("create_visualization")
6+
assert server.compare_image(3, "create_visualization.jpeg") == True
7+
8+
9+
def test_reset_camera(server):
10+
server.call("reset_camera")
11+
assert server.compare_image(3, "reset_camera.jpeg") == True
12+
13+
14+
def test_create_object_pipeline(server):
15+
server.call("create_object_pipeline", [{"id": "123456", "file_name": "hat.vtp"}])
16+
assert server.compare_image(3, "create_object_pipeline.jpeg") == True
17+
18+
19+
# def test_delete_object_pipeline(server):
20+
# server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
21+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
22+
23+
# server.call("delete_object_pipeline", [{"id": "123456789"}])
24+
# assert server.compare_image(3, "delete_object_pipeline.jpeg") == True
25+
26+
27+
# def test_toggle_object_visibility(server):
28+
# server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
29+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
30+
31+
# server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": False}])
32+
# assert server.compare_image(3, "toggle_object_visibility_1.jpeg") == True
33+
34+
# server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": True}])
35+
# assert server.compare_image(3, "toggle_object_visibility_2.jpeg") == True
36+
37+
38+
# def test_apply_textures(server):
39+
40+
# server.call(
41+
# "create_object_pipeline",
42+
# [{"id": "123456789", "file_name": "hat.vtp"}],
43+
# )
44+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
45+
46+
# server.call(
47+
# "apply_textures",
48+
# [
49+
# {
50+
# "id": "123456789",
51+
# "textures": [
52+
# {
53+
# "texture_name": "lambert2SG",
54+
# "texture_file_name": "hat_lambert2SG.vti",
55+
# }
56+
# ],
57+
# }
58+
# ],
59+
# )
60+
# assert server.compare_image(3, "apply_textures.jpeg") == True
61+
62+
63+
# def test_get_point_position(server):
64+
65+
# server.call(
66+
# "create_object_pipeline",
67+
# [{"id": "123456789", "file_name": "hat.vtp"}],
68+
# )
69+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
70+
71+
# server.call("get_point_position", [{"x": 0, "y": 0}])
72+
# response = server.get_response()
73+
# assert "x" in response["result"]
74+
# assert "y" in response["result"]
75+
# assert "z" in response["result"]
76+
# x = response["result"]["x"]
77+
# y = response["result"]["y"]
78+
# z = response["result"]["z"]
79+
# assert type(x) is float
80+
# assert type(y) is float
81+
# assert type(z) is float
82+
83+
84+
# def test_toggle_edge_visibility(server):
85+
86+
# server.call(
87+
# "create_object_pipeline",
88+
# [{"id": "123456789", "file_name": "hat.vtp"}],
89+
# )
90+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
91+
92+
# server.call("toggle_edge_visibility", [{"id": "123456789", "visibility": True}])
93+
# assert server.compare_image(3, "toggle_edge_visibility.jpeg") == True
94+
95+
96+
# def test_set_color(server):
97+
98+
# server.call(
99+
# "create_object_pipeline",
100+
# [{"id": "123456789", "file_name": "hat.vtp"}],
101+
# )
102+
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
103+
104+
# server.call("set_color", [{"id": "123456789", "red": 50, "green": 2, "blue": 250}])
105+
# assert server.compare_image(3, "set_color.jpeg") == True

tests/data/hat.vtp

Lines changed: 0 additions & 19 deletions
This file was deleted.

tests/data/hat_lambert2SG.vti

Lines changed: 0 additions & 10 deletions
This file was deleted.
-10.3 KB
Binary file not shown.
-2.07 KB
Binary file not shown.
-2.08 KB
Binary file not shown.

tests/data/images/reset.jpeg

-2.08 KB
Binary file not shown.

tests/data/images/reset_camera.jpeg

-2.08 KB
Binary file not shown.
-2.08 KB
Binary file not shown.
-10.3 KB
Binary file not shown.
-2.08 KB
Binary file not shown.

tests/test_protocol.py

Lines changed: 0 additions & 122 deletions
This file was deleted.

tests/tests_output/test.jpeg

-12.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)