...
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