...

Text file src/github.com/emissary-ingress/emissary/v3/python/tests/kat/t_lua_scripts.py

Documentation: github.com/emissary-ingress/emissary/v3/python/tests/kat

     1from abstract_tests import HTTP, AmbassadorTest, ServiceType
     2from kat.harness import Query
     3
     4
     5class LuaTest(AmbassadorTest):
     6    target: ServiceType
     7
     8    def init(self):
     9        self.target = HTTP()
    10
    11        self.manifest_envs = """
    12    - name: LUA_SCRIPTS_ENABLED
    13      value: Processed
    14"""
    15
    16    def manifests(self) -> str:
    17        return (
    18            self.format(
    19                """
    20---
    21apiVersion: getambassador.io/v3alpha1
    22kind: Module
    23metadata:
    24  name: ambassador
    25spec:
    26  ambassador_id: [{self.ambassador_id}]
    27  config:
    28    lua_scripts: |
    29      function envoy_on_response(response_handle)
    30        response_handle: headers():add("Lua-Scripts-Enabled", "$LUA_SCRIPTS_ENABLED")
    31      end
    32---
    33apiVersion: getambassador.io/v3alpha1
    34kind: Mapping
    35metadata:
    36  name: lua-target-mapping
    37spec:
    38  ambassador_id: [{self.ambassador_id}]
    39  hostname: "*"
    40  prefix: /target/
    41  service: {self.target.path.fqdn}
    42"""
    43            )
    44            + super().manifests()
    45        )
    46
    47    def queries(self):
    48        yield Query(self.url("target/"))
    49
    50    def check(self):
    51        for r in self.results:
    52            assert r.headers.get("Lua-Scripts-Enabled", None) == ["Processed"]

View as plain text