From 30ed9d4dd70deab26319d08d7946f44e3be7bb70 Mon Sep 17 00:00:00 2001 From: Venktesh Date: Fri, 18 Nov 2022 15:51:26 +0000 Subject: [PATCH] Add more 502 checks for test backends --- tests/suite/test_v_s_route_split_traffic.py | 11 +++++++---- tests/suite/test_virtual_server_split_traffic.py | 11 +++++++---- tests/suite/test_watch_namespace.py | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/tests/suite/test_v_s_route_split_traffic.py b/tests/suite/test_v_s_route_split_traffic.py index 963c73c20d..0d6b6a14f0 100644 --- a/tests/suite/test_v_s_route_split_traffic.py +++ b/tests/suite/test_v_s_route_split_traffic.py @@ -56,7 +56,6 @@ def test_several_requests(self, kube_apis, crd_ingress_controller, v_s_route_set req_url = ( f"http://{v_s_route_setup.public_endpoint.public_ip}:{v_s_route_setup.public_endpoint.port}{split_path[0]}" ) - ensure_response_from_backend(req_url, v_s_route_setup.vs_host) weights = get_weights_of_splitting(f"{TEST_DATA}/virtual-server-route-split-traffic/route-multiple.yaml") upstreams = get_upstreams_of_splitting(f"{TEST_DATA}/virtual-server-route-split-traffic/route-multiple.yaml") sum_weights = sum(weights) @@ -64,9 +63,13 @@ def test_several_requests(self, kube_apis, crd_ingress_controller, v_s_route_set counter_v1, counter_v2 = 0, 0 for _ in range(100): - resp = requests.get(req_url, headers={"host": v_s_route_setup.vs_host}) - if resp.status_code == 502: - print("Backend is not ready yet, skip.") + ensure_response_from_backend(req_url, v_s_route_setup.vs_host) + status_code = 502 + while status_code == 502: + resp = requests.get(req_url, headers={"host": v_s_route_setup.vs_host}) + status_code = resp.status_code + if status_code == 502: + print("Backend is not ready yet, skip.") if upstreams[0] in resp.text in resp.text: counter_v1 = counter_v1 + 1 elif upstreams[1] in resp.text in resp.text: diff --git a/tests/suite/test_virtual_server_split_traffic.py b/tests/suite/test_virtual_server_split_traffic.py index 84befef017..54f56e27d0 100644 --- a/tests/suite/test_virtual_server_split_traffic.py +++ b/tests/suite/test_virtual_server_split_traffic.py @@ -51,7 +51,6 @@ def get_upstreams_of_splitting(file) -> []: ) class TestTrafficSplitting: def test_several_requests(self, kube_apis, crd_ingress_controller, virtual_server_setup): - ensure_response_from_backend(virtual_server_setup.backend_1_url, virtual_server_setup.vs_host) weights = get_weights_of_splitting(f"{TEST_DATA}/virtual-server-split-traffic/standard/virtual-server.yaml") upstreams = get_upstreams_of_splitting(f"{TEST_DATA}/virtual-server-split-traffic/standard/virtual-server.yaml") sum_weights = sum(weights) @@ -59,9 +58,13 @@ def test_several_requests(self, kube_apis, crd_ingress_controller, virtual_serve counter_v1, counter_v2 = 0, 0 for _ in range(100): - resp = requests.get(virtual_server_setup.backend_1_url, headers={"host": virtual_server_setup.vs_host}) - if resp.status_code == 502: - print("Backend is not ready yet, skip.") + ensure_response_from_backend(virtual_server_setup.backend_1_url, virtual_server_setup.vs_host) + status_code = 502 + while status_code == 502: + resp = requests.get(virtual_server_setup.backend_1_url, headers={"host": virtual_server_setup.vs_host}) + status_code = resp.status_code + if status_code == 502: + print("Backend is not ready yet, skip.") if upstreams[0] in resp.text in resp.text: counter_v1 = counter_v1 + 1 elif upstreams[1] in resp.text in resp.text: diff --git a/tests/suite/test_watch_namespace.py b/tests/suite/test_watch_namespace.py index 2a0d6e5175..da0800bafc 100644 --- a/tests/suite/test_watch_namespace.py +++ b/tests/suite/test_watch_namespace.py @@ -93,7 +93,7 @@ def test_response_codes(self, ingress_controller, backend_setup, expected_respon ), f"Expected: {expected_responses[ing]} response code for {backend_setup.ingress_hosts[ing]}" -@pytest.mark.test +@pytest.mark.ingresses @pytest.mark.parametrize( "ingress_controller, expected_responses", [