github.com/nginxinc/kubernetes-ingress@v1.12.5/tests/suite/test_transport_server_snippets.py (about) 1 import pytest 2 3 from suite.resources_utils import ( 4 wait_before_test, 5 get_ts_nginx_template_conf, 6 ) 7 from suite.custom_resources_utils import ( 8 patch_ts, 9 ) 10 from settings import TEST_DATA 11 12 @pytest.mark.ts 13 @pytest.mark.parametrize( 14 "crd_ingress_controller, transport_server_setup", 15 [ 16 ( 17 { "type": "complete", 18 "extra_args": 19 [ 20 "-global-configuration=nginx-ingress/nginx-configuration", 21 "-enable-leader-election=false", 22 "-enable-snippets", 23 ] 24 }, 25 {"example": "transport-server-status"}, 26 ) 27 ], 28 indirect=True, 29 ) 30 class TestTransportServerSnippets: 31 32 def test_snippets( 33 self, kube_apis, crd_ingress_controller, transport_server_setup, ingress_controller_prerequisites 34 ): 35 """ 36 Test snippets are present in conf when enabled 37 """ 38 patch_src = f"{TEST_DATA}/transport-server-snippets/transport-server-snippets.yaml" 39 patch_ts( 40 kube_apis.custom_objects, 41 transport_server_setup.name, 42 patch_src, 43 transport_server_setup.namespace, 44 ) 45 wait_before_test() 46 47 conf = get_ts_nginx_template_conf( 48 kube_apis.v1, 49 transport_server_setup.namespace, 50 transport_server_setup.name, 51 transport_server_setup.ingress_pod_name, 52 ingress_controller_prerequisites.namespace 53 ) 54 print(conf) 55 56 std_src = f"{TEST_DATA}/transport-server-status/standard/transport-server.yaml" 57 patch_ts( 58 kube_apis.custom_objects, 59 transport_server_setup.name, 60 std_src, 61 transport_server_setup.namespace, 62 ) 63 64 assert ( 65 "limit_conn_zone $binary_remote_addr zone=addr:10m;" in conf # stream-snippets 66 and "limit_conn addr 1;" in conf # server-snippets 67 )