Skip to content

Commit 196360c

Browse files
committed
fixup
1 parent c26b7af commit 196360c

File tree

2 files changed

+11
-21
lines changed

2 files changed

+11
-21
lines changed

.github/workflows/test.yaml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
6161
- name: Test vncserver
6262
run: |
63-
container_id=$(docker run -d -it -p 5901:5901 test vncserver -xstartup /opt/install/jupyter_remote_desktop_proxy/share/xstartup -verbose -fg -geometry 1680x1050 -SecurityTypes None -rfbport 5901)
63+
container_id=$(docker run -d -it test vncserver -xstartup /opt/install/jupyter_remote_desktop_proxy/share/xstartup -verbose -fg -geometry 1680x1050 -SecurityTypes None -rfbport -1 -rfbunixpath /tmp/vncserver.socket)
6464
sleep 1
6565
6666
echo "::group::Install netcat, a test dependency"
@@ -73,6 +73,15 @@ jobs:
7373
docker exec -it $container_id timeout --preserve-status 1 nc -v localhost 5901 2>&1 | tee -a /dev/stderr | \
7474
grep --quiet RFB && echo "Passed test" || { echo "Failed test" && TEST_OK=false; }
7575
76+
echo "::group::Check TCP ports not opened"
77+
ports=(5800 5801 5900 5901)
78+
for port in "${ports[@]}"
79+
do
80+
docker exec -it $container_id_insecure timeout --preserve-status 1 nc -vz localhost $port | \
81+
grep --quiet succeeded && { echo "Failed security check - port $port open" && TEST_OK=false; } || echo "Passed security check - port $port not opened"
82+
done
83+
echo "::endgroup::"
84+
7685
echo "::group::vncserver logs"
7786
docker exec $container_id bash -c 'cat ~/.vnc/*.log'
7887
echo "::endgroup::"
@@ -90,7 +99,7 @@ jobs:
9099
91100
- name: Playwright browser test
92101
run: |
93-
container_id=$(docker run -d -it -p 8888:8888 -e JUPYTER_TOKEN=secret test)
102+
container_id=$(docker run -d -it -p 8888:8888 -p 5800:5800 -p 5801:5801 -p 5900:5900 -p 5901:5901 -e JUPYTER_TOKEN=secret test)
94103
sleep 3
95104
export CONTAINER_ID=$container_id
96105
export JUPYTER_HOST=http://localhost:8888

tests/test_browser.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import socket
21
from os import getenv
32
from pathlib import Path
43
from shutil import which
@@ -39,22 +38,6 @@ def compare_screenshot(test_image):
3938
assert m < threshold
4039

4140

42-
def assert_no_vncserver_tcp_port_open(host="localhost", port=5901, timeout=1):
43-
"""
44-
Test that a specific port is not open, which would be a security issue.
45-
Returns:
46-
True if the port is closed (secure), False if open (security issue)
47-
"""
48-
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
49-
sock.settimeout(timeout)
50-
result = sock.connect_ex((host, port))
51-
sock.close()
52-
53-
# If result is 0, connection was successful (port is open - security issue)
54-
# Otherwise, connection failed (port is closed - secure)
55-
assert result != 0
56-
57-
5841
# To debug this set environment variable HEADLESS=0
5942
def test_desktop(browser):
6043
page = browser
@@ -71,8 +54,6 @@ def test_desktop(browser):
7154
expect(page1.get_by_text("Status: Connected")).to_be_visible()
7255
expect(page1.locator("canvas")).to_be_visible()
7356

74-
assert_no_vncserver_tcp_port_open()
75-
7657
# Screenshot the desktop element only
7758
# May take a few seconds to load
7859
page1.wait_for_timeout(5000)

0 commit comments

Comments
 (0)