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          )