chore(ci): test protonvpn OpenVPN with port forwarding

This commit is contained in:
Quentin McGaw
2026-05-03 02:20:33 +00:00
parent f8400c1b1c
commit c47cc90181
3 changed files with 35 additions and 3 deletions
+2
View File
@@ -25,6 +25,8 @@ func main() {
err = internal.MullvadTest(ctx, logger)
case "protonvpn-wireguard-port-forwarding":
err = internal.ProtonVPNWireguardPortForwardingTest(ctx, logger)
case "protonvpn-openvpn-port-forwarding":
err = internal.ProtonVPNOpenVPNPortForwardingTest(ctx, logger)
default:
err = fmt.Errorf("unknown command: %s", os.Args[1])
}
+23
View File
@@ -27,3 +27,26 @@ func ProtonVPNWireguardPortForwardingTest(ctx context.Context, logger Logger) er
const timeout = 80 * time.Second
return runContainerTest(ctx, env, []*regexp.Regexp{successRegexp, portForwardingRegexp}, timeout, logger)
}
func ProtonVPNOpenVPNPortForwardingTest(ctx context.Context, logger Logger) error {
expectedSecrets := []string{
"OpenVPN username",
"OpenVPN password",
}
secrets, err := readSecrets(ctx, expectedSecrets, logger)
if err != nil {
return fmt.Errorf("reading secrets: %w", err)
}
env := []string{
"VPN_SERVICE_PROVIDER=protonvpn",
"VPN_TYPE=openvpn",
"LOG_LEVEL=debug",
"SERVER_COUNTRIES=United States",
"OPENVPN_USER=" + secrets[0],
"OPENVPN_PASSWORD=" + secrets[1],
"VPN_PORT_FORWARDING=on",
}
const timeout = 80 * time.Second
return runContainerTest(ctx, env, []*regexp.Regexp{successRegexp, portForwardingRegexp}, timeout, logger)
}