Skip to content

Commit 0371651

Browse files
update unit tests
1 parent f9a547c commit 0371651

File tree

5 files changed

+41
-7
lines changed

5 files changed

+41
-7
lines changed

src/opengeodeweb_viewer/rpc/schemas/take_screenshot.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
"type": "string"
77
},
88
"output_extension": {
9-
"type": "string"
9+
"type": "string",
10+
"enum": [
11+
"png",
12+
"jpg"
13+
]
1014
},
1115
"include_background": {
1216
"type": "boolean"

src/opengeodeweb_viewer/vtk_protocol.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -295,9 +295,8 @@ def takeScreenshot(self, params):
295295
w2if = vtkWindowToImageFilter()
296296

297297
if not include_background:
298-
# renderer.SetBackground([255,255,255])
299-
# renderer.SetLayer(1)
300298
renderWindow.SetAlphaBitPlanes(1)
299+
301300
w2if.SetInput(renderWindow)
302301
w2if.SetInputBufferTypeToRGBA()
303302
w2if.ReadFrontBufferOff()
@@ -308,12 +307,19 @@ def takeScreenshot(self, params):
308307
writer = vtkPNGWriter()
309308
elif output_extension == "jpg":
310309
writer = vtkJPEGWriter()
310+
else:
311+
raise Exception("output_extension not supported")
311312

312-
writer.SetFileName(os.path.join(self.DATA_FOLDER_PATH, filename + '.' + output_extension))
313+
new_filename = filename + '.' + output_extension
314+
file_path = os.path.join(self.DATA_FOLDER_PATH, new_filename)
315+
writer.SetFileName(file_path)
313316
writer.SetInputConnection(w2if.GetOutputPort())
314317
writer.Write()
315-
# renderer.SetLayer(0)
316-
return
318+
319+
with open(file_path, "rb") as file:
320+
file_content = file.read()
321+
322+
return {"blob": self.addAttachment(file_content)}
317323

318324
def get_data_base(self):
319325
return self.getSharedObject("db")

src/tests/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ def print_log(self):
5757
print(output)
5858

5959
def get_response(self):
60-
response = eval(self.ws.recv())
60+
return self.ws.recv()
61+
response = json.loads(self.ws.recv())
6162
return response
6263

6364
def compare_image(self, nb_messages, filename):

src/tests/test_protocol.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,26 @@ def test_set_color(server):
103103

104104
server.call("set_color", [{"id": "123456789", "red": 50, "green": 2, "blue": 250}])
105105
assert server.compare_image(3, "set_color.jpeg") == True
106+
107+
108+
109+
def test_take_screenshot(server):
110+
111+
server.call(
112+
"create_object_pipeline",
113+
[{"id": "123456789", "file_name": "hat.vtp"}],
114+
)
115+
assert server.compare_image(3, "create_object_pipeline.jpeg") == True
116+
117+
server.call(
118+
"take_screenshot",
119+
[{"filename": "screenshot", "output_extension": "png", "include_background": False}],
120+
)
121+
122+
response1 = server.get_response()
123+
print(f"{response1=}", flush=True)
124+
response2 = server.get_response()
125+
print(f"{response2=}", flush=True)
126+
127+
blob = response2
128+
assert type(blob) is bytes

src/tests/tests_output/test.jpeg

-13 Bytes
Loading

0 commit comments

Comments
 (0)