From 20dc0cf1e931a0a8b1aa0862d1d4607c165afc4d Mon Sep 17 00:00:00 2001 From: Jamil Date: Fri, 16 Feb 2024 14:48:13 -0800 Subject: [PATCH] refactor(ci): Use curl for connectivity tests in CI (#3674) It would be good to run tests with a TCP protocol like `http` to catch things like MTU and port issues. --- .github/workflows/ci.yml | 10 +++++----- ...-ping-portal-down.sh => direct-curl-portal-down.sh} | 4 ++-- ...-relay-down.sh => direct-curl-portal-relay-down.sh} | 4 ++-- ...portal-restart.sh => direct-curl-portal-restart.sh} | 4 ++-- scripts/tests/lib.sh | 4 ++-- ...ping-portal-down.sh => relayed-curl-portal-down.sh} | 4 ++-- ...ortal-restart.sh => relayed-curl-portal-restart.sh} | 4 ++-- 7 files changed, 17 insertions(+), 17 deletions(-) rename scripts/tests/{direct-ping-portal-down.sh => direct-curl-portal-down.sh} (78%) rename scripts/tests/{direct-ping-portal-relay-down.sh => direct-curl-portal-relay-down.sh} (77%) rename scripts/tests/{direct-ping-portal-restart.sh => direct-curl-portal-restart.sh} (77%) rename scripts/tests/{relayed-ping-portal-down.sh => relayed-curl-portal-down.sh} (84%) rename scripts/tests/{relayed-ping-portal-restart.sh => relayed-curl-portal-restart.sh} (84%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5553d555e..63cda0cc3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -185,11 +185,11 @@ jobs: fail-fast: false matrix: test: [ - direct-ping-portal-restart, - relayed-ping-portal-restart, - direct-ping-portal-down, - relayed-ping-portal-down, - direct-ping-portal-relay-down, + direct-curl-portal-restart, + relayed-curl-portal-restart, + direct-curl-portal-down, + relayed-curl-portal-down, + direct-curl-portal-relay-down, dns-etc-resolvconf, dns-nm, systemd/dns-systemd-resolved, diff --git a/scripts/tests/direct-ping-portal-down.sh b/scripts/tests/direct-curl-portal-down.sh similarity index 78% rename from scripts/tests/direct-ping-portal-down.sh rename to scripts/tests/direct-curl-portal-down.sh index 9ec6913d2..bba00296c 100755 --- a/scripts/tests/direct-ping-portal-down.sh +++ b/scripts/tests/direct-curl-portal-down.sh @@ -4,10 +4,10 @@ set -e source "./scripts/tests/lib.sh" -client_ping_resource +client_curl_resource docker compose stop api relay # Stop portal & relay sleep 5 # Wait for client to disconnect -client_ping_resource +client_curl_resource diff --git a/scripts/tests/direct-ping-portal-relay-down.sh b/scripts/tests/direct-curl-portal-relay-down.sh similarity index 77% rename from scripts/tests/direct-ping-portal-relay-down.sh rename to scripts/tests/direct-curl-portal-relay-down.sh index 070368d2d..8b03df36c 100755 --- a/scripts/tests/direct-ping-portal-relay-down.sh +++ b/scripts/tests/direct-curl-portal-relay-down.sh @@ -4,10 +4,10 @@ set -e source "./scripts/tests/lib.sh" -client_ping_resource +client_curl_resource docker compose stop api # Stop portal sleep 5 # Wait for client to disconnect -client_ping_resource +client_curl_resource diff --git a/scripts/tests/direct-ping-portal-restart.sh b/scripts/tests/direct-curl-portal-restart.sh similarity index 77% rename from scripts/tests/direct-ping-portal-restart.sh rename to scripts/tests/direct-curl-portal-restart.sh index 195be3552..4d971858e 100755 --- a/scripts/tests/direct-ping-portal-restart.sh +++ b/scripts/tests/direct-curl-portal-restart.sh @@ -4,10 +4,10 @@ set -e source "./scripts/tests/lib.sh" -client_ping_resource +client_curl_resource docker compose restart api # Restart portal sleep 5 # Wait for client to reconnect -client_ping_resource +client_curl_resource diff --git a/scripts/tests/lib.sh b/scripts/tests/lib.sh index e5d99d7c1..2044642de 100755 --- a/scripts/tests/lib.sh +++ b/scripts/tests/lib.sh @@ -10,6 +10,6 @@ function remove_iptables_drop_rules() { sudo iptables -D FORWARD -s 172.28.0.105 -d 172.28.0.100 -j DROP } -function client_ping_resource() { - docker compose exec -it client timeout 60 sh -c 'until ping -W 1 -c 10 172.20.0.100 &>/dev/null; do true; done' +function client_curl_resource() { + docker compose exec -it client curl --fail -i 172.20.0.100 } diff --git a/scripts/tests/relayed-ping-portal-down.sh b/scripts/tests/relayed-curl-portal-down.sh similarity index 84% rename from scripts/tests/relayed-ping-portal-down.sh rename to scripts/tests/relayed-curl-portal-down.sh index 9e2d0a42b..fecd59a7b 100755 --- a/scripts/tests/relayed-ping-portal-down.sh +++ b/scripts/tests/relayed-curl-portal-down.sh @@ -7,10 +7,10 @@ source "./scripts/tests/lib.sh" install_iptables_drop_rules trap remove_iptables_drop_rules EXIT # Cleanup after us -client_ping_resource +client_curl_resource docker compose stop api # Stop portal sleep 5 # Wait for client to disconnect -client_ping_resource +client_curl_resource diff --git a/scripts/tests/relayed-ping-portal-restart.sh b/scripts/tests/relayed-curl-portal-restart.sh similarity index 84% rename from scripts/tests/relayed-ping-portal-restart.sh rename to scripts/tests/relayed-curl-portal-restart.sh index f9d171e3f..b9f3b1ce5 100755 --- a/scripts/tests/relayed-ping-portal-restart.sh +++ b/scripts/tests/relayed-curl-portal-restart.sh @@ -7,10 +7,10 @@ source "./scripts/tests/lib.sh" install_iptables_drop_rules trap remove_iptables_drop_rules EXIT # Cleanup after us -client_ping_resource +client_curl_resource docker compose restart api # Restart portal sleep 5 # Wait for client to reconnect -client_ping_resource +client_curl_resource