35 lines
1.9 KiB
Python
35 lines
1.9 KiB
Python
|
#!/usr/bin/env python
|
||
|
import requests
|
||
|
from conftest import CfdModes
|
||
|
from constants import METRICS_PORT
|
||
|
from util import LOGGER, start_cloudflared, wait_tunnel_ready, get_quicktunnel_url, send_requests
|
||
|
|
||
|
class TestCLI:
|
||
|
def test_quick_tunnel(self, tmp_path, component_tests_config):
|
||
|
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=False)
|
||
|
LOGGER.debug(config)
|
||
|
with start_cloudflared(tmp_path, config, cfd_args=["--hello-world"], new_process=True):
|
||
|
wait_tunnel_ready(require_min_connections=4)
|
||
|
url = get_quicktunnel_url()
|
||
|
send_requests(url, 3, True)
|
||
|
|
||
|
def test_quick_tunnel_url(self, tmp_path, component_tests_config):
|
||
|
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=False)
|
||
|
LOGGER.debug(config)
|
||
|
with start_cloudflared(tmp_path, config, cfd_args=["--url", f"http://localhost:{METRICS_PORT}/"], new_process=True):
|
||
|
wait_tunnel_ready()
|
||
|
url = get_quicktunnel_url()
|
||
|
send_requests(url+"/ready", 3, True)
|
||
|
|
||
|
def test_quick_tunnel_proxy_dns_url(self, tmp_path, component_tests_config):
|
||
|
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=True)
|
||
|
LOGGER.debug(config)
|
||
|
failed_start = start_cloudflared(tmp_path, config, cfd_args=["--url", f"http://localhost:{METRICS_PORT}/"], expect_success=False)
|
||
|
assert failed_start.returncode == 1, "Expected cloudflared to fail to run with `proxy-dns` and `hello-world`"
|
||
|
|
||
|
def test_quick_tunnel_proxy_dns_hello_world(self, tmp_path, component_tests_config):
|
||
|
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=True)
|
||
|
LOGGER.debug(config)
|
||
|
failed_start = start_cloudflared(tmp_path, config, cfd_args=["--hello-world"], expect_success=False)
|
||
|
assert failed_start.returncode == 1, "Expected cloudflared to fail to run with `proxy-dns` and `url`"
|