This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new e95924764b Revert "cache-*.test.py tests to use ATSReplayTest 
(#12694)" (#12700)
e95924764b is described below

commit e95924764b1d43cc5afaebb93bff2b4db284aafa
Author: Brian Neradt <[email protected]>
AuthorDate: Mon Nov 24 11:40:22 2025 -0600

    Revert "cache-*.test.py tests to use ATSReplayTest (#12694)" (#12700)
    
    This reverts commit ab0a575ef01705bce19968409ca34bd738e4daae.
    
    We have to circle back around on these. It turns out that CI was not 
running the autests due to needing #12699.
---
 tests/gold_tests/autest-site/ats_replay.test.ext   |  45 ---
 tests/gold_tests/cache/alternate-caching.test.py   |  27 +-
 tests/gold_tests/cache/cache-auth.test.py          |  89 +++++-
 tests/gold_tests/cache/cache-control.test.py       | 348 ++++++++++++++++++++-
 tests/gold_tests/cache/cache-cookie.test.py        | 206 +++++++++++-
 .../gold_tests/cache/cache-range-response.test.py  |  18 +-
 .../gold_tests/cache/cache-request-method.test.py  |  80 ++++-
 tests/gold_tests/cache/conditional-get-hit.test.py |  17 +-
 .../cache/gold/cache_and_req_body-hit.gold         |  10 +
 .../cache/gold/cache_and_req_body-miss.gold        |  10 +
 tests/gold_tests/cache/gold/cache_hit_stale.gold   |  10 +
 tests/gold_tests/cache/gold/cache_no_cache.gold    |  12 +
 tests/gold_tests/cache/gold/cache_no_cc.gold       |   9 +
 tests/gold_tests/cache/negative-caching.test.py    |  62 +++-
 .../gold_tests/cache/negative-revalidating.test.py |  79 ++++-
 tests/gold_tests/cache/proxy_serve_stale.test.py   |  49 ++-
 .../replay/alternate-caching-update-size.yaml      |  28 --
 .../cache/replay/auth-default.replay.yaml          |  68 ++++
 .../cache/replay/auth-ignored.replay.yaml          |  67 ++++
 .../cache/replay/cache-control-basic.replay.yaml   | 218 -------------
 .../cache/replay/cache-control-max-age.replay.yaml |  29 --
 .../cache/replay/cache-control-pragma.replay.yaml  |  26 --
 .../replay/cache-control-s-maxage.replay.yaml      |  27 --
 .../cache/replay/cache-range-response.replay.yaml  |  25 --
 .../cache/replay/conditional-get-cache-hit.yaml    |  23 --
 .../cookie-all-but-text-with-excp.replay.yaml      |  28 --
 .../cache/replay/cookie-all-but-text.replay.yaml   |  27 --
 .../cache/replay/cookie-bypass-cache.replay.yaml   |  27 --
 .../cache/replay/cookie-cache-img-only.replay.yaml |  27 --
 .../cache/replay/cookie-default.replay.yaml        |  27 +-
 .../cache/replay/head_with_get_cached.replay.yaml  |  27 +-
 .../cache/replay/ignore_authentication.replay.yaml | 158 ----------
 .../replay/negative-caching-customized.replay.yaml |  28 --
 .../replay/negative-caching-default.replay.yaml    |  27 --
 .../replay/negative-caching-disabled.replay.yaml   |  27 --
 .../negative-revalidating-disabled.replay.yaml     |  29 --
 .../negative-revalidating-enabled.replay.yaml      |  34 +-
 .../replay/negative-revalidating-list.replay.yaml  |  35 +--
 .../post_with_post_caching_disabled.replay.yaml    |  29 --
 .../post_with_post_caching_enabled.replay.yaml     |  28 --
 .../post_with_post_caching_override.replay.yaml    | 113 -------
 .../cache/replay/proxy_serve_stale.replay.yaml     |  32 --
 .../request-cache-control-default.replay.yaml      |  26 --
 .../request-cache-control-honor-client.replay.yaml |  36 ---
 .../response-cache-control-default.replay.yaml     |  34 --
 .../response-cache-control-ignored.replay.yaml     |  35 ---
 .../cache/replay/varied_transactions.replay.yaml   |  28 --
 tests/gold_tests/cache/vary-handling.test.py       |  22 +-
 48 files changed, 1129 insertions(+), 1337 deletions(-)

diff --git a/tests/gold_tests/autest-site/ats_replay.test.ext 
b/tests/gold_tests/autest-site/ats_replay.test.ext
index 3028ac9edf..10e3b0fe85 100644
--- a/tests/gold_tests/autest-site/ats_replay.test.ext
+++ b/tests/gold_tests/autest-site/ats_replay.test.ext
@@ -36,17 +36,6 @@ def configure_ats(obj: 'TestRun', server: 'Process', 
ats_config: dict, dns: Opti
     ts = obj.MakeATSProcess(name, **process_config)
     records_config = ats_config.get('records_config', {})
     ts.Disk.records_config.update(records_config)
-
-    # Configure plugin_config if specified.
-    plugin_config = ats_config.get('plugin_config', [])
-    for plugin_line in plugin_config:
-        ts.Disk.plugin_config.AddLine(plugin_line)
-
-    # Configure parent_config if specified.
-    parent_config = ats_config.get('parent_config', [])
-    for parent_line in parent_config:
-        ts.Disk.parent_config.AddLine(parent_line)
-
     remap_config = ats_config.get('remap_config', [])
     for remap_entry in remap_config:
         if isinstance(remap_entry, str):
@@ -79,40 +68,6 @@ def configure_ats(obj: 'TestRun', server: 'Process', 
ats_config: dict, dns: Opti
             ts.Setup.Copy(src_dir, dst_dir)
         else:
             ts.Setup.CopyAs(item, ts.Variables.CONFIGDIR)
-
-    # Configure log validation if specified.
-    log_validation = ats_config.get('log_validation', {})
-    if log_validation:
-        # traffic_out validation.
-        traffic_out = log_validation.get('traffic_out', {})
-        for contains_entry in traffic_out.get('contains', []):
-            expression = contains_entry['expression']
-            description = contains_entry.get('description', f'Verify 
traffic_out contains: {expression}')
-            ts.Disk.traffic_out.Content += 
Testers.ContainsExpression(expression, description)
-        for excludes_entry in traffic_out.get('excludes', []):
-            expression = excludes_entry['expression']
-            description = excludes_entry.get('description', f'Verify 
traffic_out excludes: {expression}')
-            ts.Disk.traffic_out.Content += 
Testers.ExcludesExpression(expression, description)
-        # Gold file validation for traffic_out.
-        if 'gold_file' in traffic_out:
-            gold_file = traffic_out['gold_file']
-            ts.Disk.traffic_out.Content += gold_file
-
-        # diags_log validation.
-        diags_log = log_validation.get('diags_log', {})
-        for contains_entry in diags_log.get('contains', []):
-            expression = contains_entry['expression']
-            description = contains_entry.get('description', f'Verify diags_log 
contains: {expression}')
-            ts.Disk.diags_log.Content += 
Testers.ContainsExpression(expression, description)
-        for excludes_entry in diags_log.get('excludes', []):
-            expression = excludes_entry['expression']
-            description = excludes_entry.get('description', f'Verify diags_log 
excludes: {expression}')
-            ts.Disk.diags_log.Content += 
Testers.ExcludesExpression(expression, description)
-        # Gold file validation for diags_log.
-        if 'gold_file' in diags_log:
-            gold_file = diags_log['gold_file']
-            ts.Disk.diags_log.Content += gold_file
-
     return ts
 
 
diff --git a/tests/gold_tests/cache/alternate-caching.test.py 
b/tests/gold_tests/cache/alternate-caching.test.py
index b6ec135083..21b7ef017a 100644
--- a/tests/gold_tests/cache/alternate-caching.test.py
+++ b/tests/gold_tests/cache/alternate-caching.test.py
@@ -21,5 +21,28 @@ Test.Summary = '''
 Test the alternate caching feature.
 '''
 
-# Verify disabled negative revalidating behavior.
-Test.ATSReplayTest(replay_file="replay/alternate-caching-update-size.yaml")
+#
+# Verify disabled negative_revalidating behavior.
+#
+ts = Test.MakeATSProcess("ts-alternate-caching")
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http|cache',
+        'proxy.config.http.cache.max_stale_age': 6,
+        'proxy.config.cache.select_alternate': 1,
+        'proxy.config.cache.limits.http.max_alts': 4,
+
+        # Try with and without this
+        'proxy.config.http.negative_revalidating_enabled': 1,
+        'proxy.config.http.negative_caching_enabled': 1,
+        'proxy.config.http.negative_caching_lifetime': 30
+    })
+tr = Test.AddTestRun("Verify disabled negative revalidating behavior.")
+replay_file = "replay/alternate-caching-update-size.yaml"
+server = tr.AddVerifierServerProcess("server1", replay_file)
+server_port = server.Variables.http_port
+tr.AddVerifierClientProcess("client1", replay_file, 
http_ports=[ts.Variables.port])
+ts.Disk.remap_config.AddLine('map / http://127.0.0.1:{0}'.format(server_port))
+tr.Processes.Default.StartBefore(ts)
+tr.StillRunningAfter = ts
diff --git a/tests/gold_tests/cache/cache-auth.test.py 
b/tests/gold_tests/cache/cache-auth.test.py
index 0861355464..9e8f3e6c31 100644
--- a/tests/gold_tests/cache/cache-auth.test.py
+++ b/tests/gold_tests/cache/cache-auth.test.py
@@ -21,5 +21,90 @@ Test.Summary = '''
 Test authorization-related caching behaviors
 '''
 
-# Verify proxy.config.http.cache.ignore_authentication behavior.
-Test.ATSReplayTest(replay_file="replay/ignore_authentication.replay.yaml")
+Test.ContinueOnFail = True
+
+# **testname is required**
+testName = ""
+
+
+class AuthDefaultTest:
+    # Verify the proper caching behavior for request/response containing
+    # auth-related fields when ATS is in default configuration
+    authDefaultReplayFile = "replay/auth-default.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("auth-default-verifier-server", 
self.authDefaultReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-auth-default")
+        self.ts.Disk.records_config.update({
+            "proxy.config.diags.debug.enabled": 1,
+            "proxy.config.diags.debug.tags": "http",
+        })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+        # Verify log for skipping the WWW-Authenticate response
+        self.ts.Disk.traffic_out.Content += Testers.ContainsExpression(
+            "response has WWW-Authenticate, response is not cacheable",
+            "Verify ATS doesn't store the response with WWW-Authenticate.")
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the proper caching behavior for request/response 
containing auth-related fields when ATS is in default configuration"
+        )
+        tr.AddVerifierClientProcess("auth-default-client", 
self.authDefaultReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+AuthDefaultTest().run()
+
+
+class AuthIgnoredTest:
+    # Verify the proper caching behavior for request/response containing
+    # auth-related fields when ATS is configured to bypass caching for those
+    authIgnoredReplayFile = "replay/auth-ignored.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("auth-ignored-verifier-server", 
self.authIgnoredReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-auth-ignored")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Configure ATS to ignore the WWW-Authenticate header in
+                # response(allow caching of such response)
+                "proxy.config.http.cache.ignore_authentication": 1
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the proper caching behavior for request/response 
containing auth-related fields when ATS is configured to bypass caching for 
those"
+        )
+        tr.AddVerifierClientProcess("auth-ignored-client", 
self.authIgnoredReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+AuthIgnoredTest().run()
diff --git a/tests/gold_tests/cache/cache-control.test.py 
b/tests/gold_tests/cache/cache-control.test.py
index 809798b8fb..82cbd180a2 100644
--- a/tests/gold_tests/cache/cache-control.test.py
+++ b/tests/gold_tests/cache/cache-control.test.py
@@ -18,29 +18,343 @@ Test cached responses and requests with bodies
 #  limitations under the License.
 
 Test.Summary = '''
-Test cached responses and cache-control directives
+Test cached responses and requests with bodies
 '''
 
-# Basic cache operations: miss, hit, no-cache-control, stale, and 
only-if-cached
-Test.ATSReplayTest(replay_file="replay/cache-control-basic.replay.yaml")
+Test.ContinueOnFail = True
+
+# Define default ATS
+ts = Test.MakeATSProcess("ts")
+server = Test.MakeOriginServer("server")
+
+# **testname is required**
+testName = ""
+request_header1 = {"headers": "GET / HTTP/1.1\r\nHost: 
www.example.com\r\n\r\n", "timestamp": "1469733493.993", "body": ""}
+response_header1 = {
+    "headers": "HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: 
max-age=300\r\n\r\n",
+    "timestamp": "1469733493.993",
+    "body": "xxx"
+}
+request_header2 = {
+    "headers": "GET /no_cache_control HTTP/1.1\r\nHost: 
www.example.com\r\n\r\n",
+    "timestamp": "1469733493.993",
+    "body": ""
+}
+response_header2 = {
+    "headers": "HTTP/1.1 200 OK\r\nConnection: close\r\n\r\n",
+    "timestamp": "1469733493.993",
+    "body": "the flinstones"
+}
+request_header3 = {
+    "headers": "GET /max_age_10sec HTTP/1.1\r\nHost: www.example.com\r\n\r\n",
+    "timestamp": "1469733493.993",
+    "body": ""
+}
+response_header3 = {
+    "headers": "HTTP/1.1 200 OK\r\nConnection: close\r\nCache-Control: 
max-age=10,public\r\n\r\n",
+    "timestamp": "1469733493.993",
+    "body": "yabadabadoo"
+}
+server.addResponse("sessionlog.json", request_header1, response_header1)
+server.addResponse("sessionlog.json", request_header2, response_header2)
+server.addResponse("sessionlog.json", request_header3, response_header3)
+
+# ATS Configuration
+ts.Disk.plugin_config.AddLine('xdebug.so --enable=x-cache,x-cache-key,via')
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.response_via_str': 3,
+        'proxy.config.http.insert_age_in_response': 0,
+    })
+
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.Port))
+
+ipv4flag = ""
+if not Condition.CurlUsingUnixDomainSocket():
+    ipv4flag = "--ipv4"
+
+# Test 1 - 200 response and cache fill
+tr = Test.AddTestRun()
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(Test.Processes.ts)
+tr.MakeCurlCommand(
+    '-s -D - -v {ipv4} --http1.1 -H "x-debug: x-cache,via" -H "Host: 
www.example.com" http://localhost:{port}/max_age_10sec'.format(
+        port=ts.Variables.port, ipv4=ipv4flag),
+    ts=ts)
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.Streams.stdout = "gold/cache_and_req_body-miss.gold"
+tr.StillRunningAfter = ts
+
+# Test 2 - 200 cached response and using netcat
+tr = Test.AddTestRun()
+tr.Processes.Default.Command = "printf 'GET /max_age_10sec 
HTTP/1.1\r\n''x-debug: x-cache,x-cache-key,via\r\n''Host: 
www.example.com\r\n''\r\n'|nc 127.0.0.1 -w 1 {port}".format(
+    port=ts.Variables.port)
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.Streams.stdout = "gold/cache_and_req_body-hit.gold"
+tr.StillRunningAfter = ts
+
+# Test 3 - response doesn't have cache control directive, so cache-miss every
+# time
+tr = Test.AddTestRun()
+tr.Processes.Default.Command = "printf 'GET /no_cache_control 
HTTP/1.1\r\n''x-debug: x-cache,x-cache-key,via\r\n''Host: 
www.example.com\r\n''\r\n'|nc 127.0.0.1 -w 1 {port}".format(
+    port=ts.Variables.port)
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.Streams.stdout = "gold/cache_no_cc.gold"
+tr.StillRunningAfter = ts
+
+# Test 4 - hit stale cache.
+tr = Test.AddTestRun()
+tr.Processes.Default.Command = "sleep 15; printf 'GET /max_age_10sec 
HTTP/1.1\r\n''x-debug: x-cache,x-cache-key,via\r\n''Host: 
www.example.com\r\n''\r\n'|nc 127.0.0.1 -w 1 {port}".format(
+    port=ts.Variables.port)
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.Streams.stdout = "gold/cache_hit_stale.gold"
+tr.StillRunningAfter = ts
+
+# Test 5 - only-if-cached. 504 "Not Cached" should be returned if not in cache
+tr = Test.AddTestRun()
+tr.Processes.Default.Command = "printf 'GET /no_cache_control 
HTTP/1.1\r\n''Cache-Control: only-if-cached\r\n''x-debug: 
x-cache,x-cache-key,via\r\n''Host: www.example.com\r\n''Cache-control: 
max-age=300\r\n''\r\n'|nc 127.0.0.1 -w 1 {port}".format(
+    port=ts.Variables.port)
+tr.Processes.Default.ReturnCode = 0
+tr.Processes.Default.Streams.stdout = "gold/cache_no_cache.gold"
+tr.StillRunningAfter = ts
+
+#
+# Verify correct handling of various max-age directives in both clients and
+# responses.
+#
+ts = Test.MakeATSProcess("ts-for-proxy-verifier")
+replay_file = "replay/cache-control-max-age.replay.yaml"
+server = Test.MakeVerifierServerProcess("proxy-verifier-server", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+
+        # Disable ignoring max-age in the client request so we can test that
+        # behavior too.
+        'proxy.config.http.cache.ignore_client_cc_max_age': 0,
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr = Test.AddTestRun("Verify correct max-age cache-control behavior.")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("proxy-verifier-client", replay_file, 
http_ports=[ts.Variables.port])
+
+#
+# Verify correct handling of various s-maxage directives in responses.
+#
+ts = Test.MakeATSProcess("ts-s-maxage")
+replay_file = "replay/cache-control-s-maxage.replay.yaml"
+server = Test.MakeVerifierServerProcess("s-maxage-server", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr = Test.AddTestRun("Verify correct max-age cache-control behavior.")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("s-maxage-client", replay_file, 
http_ports=[ts.Variables.port])
+
+#
+# Verify correct interaction between cache-control no-cache and pragma header
+#
+ts = Test.MakeATSProcess("ts-cache-control-pragma")
+ts.Disk.records_config.update({
+    'proxy.config.diags.debug.enabled': 1,
+    'proxy.config.diags.debug.tags': 'http|cache',
+})
+tr = Test.AddTestRun("Verify Pragma: no-cache does not conflict with 
Cache-Control headers")
+replay_file = "replay/cache-control-pragma.replay.yaml"
+server = tr.AddVerifierServerProcess("pragma-server", replay_file)
+tr.AddVerifierClientProcess("pragma-client", replay_file, 
http_ports=[ts.Variables.port])
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.StillRunningAfter = ts
+
+
+class RequestCacheControlDefaultTest:
+    # Verify the proper handling of cache-control directives in requests in
+    # default configuration
+    requestCacheControlReplayFile = 
"replay/request-cache-control-default.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = Test.MakeVerifierServerProcess(
+            "request-cache-control-default-verifier-server", 
self.requestCacheControlReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-request-cache-control-default")
+        self.ts.Disk.records_config.update({
+            "proxy.config.diags.debug.enabled": 1,
+            "proxy.config.diags.debug.tags": "http",
+        })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun("Verify the proper handling of cache-control 
directives in requests in default configuration")
+        tr.AddVerifierClientProcess(
+            "request-cache-control-default-client", 
self.requestCacheControlReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+RequestCacheControlDefaultTest().run()
+
+
+class RequestCacheControlHonorClientTest:
+    # Verify the proper handling of cache-control directives in requests when
+    # ATS is configured to honor client's request to bypass the cache
+    requestCacheControlReplayFile = 
"replay/request-cache-control-honor-client.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = Test.MakeVerifierServerProcess(
+            "request-cache-control-honor-client-verifier-server", 
self.requestCacheControlReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-request-cache-control-honor-client")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Configured to honor client requests to bypass the cache
+                "proxy.config.http.cache.ignore_client_no_cache": 0
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+        # Verify logs for the request containing no-cache
+        self.ts.Disk.traffic_out.Content += Testers.ContainsExpression(
+            "Revalidate document with server", "Verify that ATS honors the 
no-cache and performs a revalidation.")
+        # Verify logs for the request containing no-store
+        self.ts.Disk.traffic_out.Content += Testers.ContainsExpression(
+            "client does not permit storing, and cache control does not say to 
ignore client no-cache",
+            "Verify that ATS honors the no-store.")
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the proper handling of cache-control directives in 
requests when ATS is configured to honor client's request to bypass the cache"
+        )
+        tr.AddVerifierClientProcess(
+            "request-cache-control-honor-client-client", 
self.requestCacheControlReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+RequestCacheControlHonorClientTest().run()
+
+
+class ResponseCacheControlDefaultTest:
+    # Verify the proper handling of cache-control directives in responses in
+    # default configuration
+    responseCacheControlReplayFile = 
"replay/response-cache-control-default.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = Test.MakeVerifierServerProcess(
+            "response-cache-control-default-verifier-server", 
self.responseCacheControlReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-response-cache-control-default")
+        self.ts.Disk.records_config.update({
+            "proxy.config.diags.debug.enabled": 1,
+            "proxy.config.diags.debug.tags": "http",
+        })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+        # Verify logs for the response containing no-cache
+        self.ts.Disk.traffic_out.Content += Testers.ContainsExpression(
+            "Revalidate document with server", "Verify that ATS honors the 
no-cache in response and performs a revalidation.")
+        # Verify logs for the response containing no-store
+        self.ts.Disk.traffic_out.Content += Testers.ContainsExpression(
+            "server does not permit storing and config file does not indicate 
that server directive should be ignored",
+            "Verify that ATS honors the no-store in response and bypasses the 
cache.")
+
+    def runTraffic(self):
+        tr = Test.AddTestRun("Verify the proper handling of cache-control 
directives in responses in default configuration")
+        tr.AddVerifierClientProcess(
+            "response-cache-control-client-default", 
self.responseCacheControlReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+ResponseCacheControlDefaultTest().run()
+
+
+class ResponseCacheControlIgnoredTest:
+    # Verify the proper handling of cache-control directives in responses when
+    # ATS is configured to ignore server's request to bypass the cache
+    responseCacheControlReplayFile = 
"replay/response-cache-control-ignored.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
 
-# Max-age directives in both clients and responses
-Test.ATSReplayTest(replay_file="replay/cache-control-max-age.replay.yaml")
+    def setupOriginServer(self):
+        self.server = Test.MakeVerifierServerProcess(
+            "response-cache-control-ignored-verifier-server", 
self.responseCacheControlReplayFile)
 
-# S-maxage directives in responses
-Test.ATSReplayTest(replay_file="replay/cache-control-s-maxage.replay.yaml")
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-response-cache-control-ignored")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                "proxy.config.http.cache.ignore_server_no_cache": 1
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
 
-# Interaction between cache-control no-cache and pragma header
-Test.ATSReplayTest(replay_file="replay/cache-control-pragma.replay.yaml")
+        # Verify logs for the response containing no-cache or no-store
+        self.ts.Disk.traffic_out.Content += Testers.ExcludesExpression(
+            "Revalidate document with server",
+            "Verify that ATS ignores the no-cache in response and therefore 
doesn't perform a revalidation.")
+        self.ts.Disk.traffic_out.Content += Testers.ExcludesExpression(
+            "server does not permit storing and config file does not indicate 
that server directive should be ignored",
+            "Verify that ATS ignores the no-store in response and caches the 
responses despite its presence.")
 
-# Request cache-control directives in default configuration
-Test.ATSReplayTest(replay_file="replay/request-cache-control-default.replay.yaml")
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the proper handling of cache-control directives in 
responses when ATS is configured to ignore server's request to bypass the cache"
+        )
+        tr.AddVerifierClientProcess(
+            "response-cache-control-client-ignored", 
self.responseCacheControlReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
 
-# Request cache-control directives when ATS honors client requests to bypass 
cache
-Test.ATSReplayTest(replay_file="replay/request-cache-control-honor-client.replay.yaml")
+    def run(self):
+        self.runTraffic()
 
-# Response cache-control directives in default configuration
-Test.ATSReplayTest(replay_file="replay/response-cache-control-default.replay.yaml")
 
-# Response cache-control directives when ATS ignores server requests to bypass 
cache
-Test.ATSReplayTest(replay_file="replay/response-cache-control-ignored.replay.yaml")
+ResponseCacheControlIgnoredTest().run()
diff --git a/tests/gold_tests/cache/cache-cookie.test.py 
b/tests/gold_tests/cache/cache-cookie.test.py
index 6480540675..01d781a3fe 100644
--- a/tests/gold_tests/cache/cache-cookie.test.py
+++ b/tests/gold_tests/cache/cache-cookie.test.py
@@ -21,17 +21,203 @@ Test.Summary = '''
 Test cookie-related caching behaviors
 '''
 
-# Verify correct caching behavior in default configuration
-Test.ATSReplayTest(replay_file="replay/cookie-default.replay.yaml")
+Test.ContinueOnFail = True
 
-# Verify correct caching behavior when not caching responses to cookies
-Test.ATSReplayTest(replay_file="replay/cookie-bypass-cache.replay.yaml")
+# **testname is required**
+testName = ""
 
-# Verify correct caching behavior when caching only image responses to cookies
-Test.ATSReplayTest(replay_file="replay/cookie-cache-img-only.replay.yaml")
 
-# Verify correct caching behavior when caching all but text responses to 
cookies
-Test.ATSReplayTest(replay_file="replay/cookie-all-but-text.replay.yaml")
+class CookieDefaultTest:
+    # Verify the correct caching behavior when ATS is in default configuration
+    cookieDefaultReplayFile = "replay/cookie-default.replay.yaml"
 
-# Verify correct caching behavior for all but text with exceptions
-Test.ATSReplayTest(replay_file="replay/cookie-all-but-text-with-excp.replay.yaml")
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("cookie-default-verifier-server", 
self.cookieDefaultReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-cookie-default")
+        self.ts.Disk.records_config.update({
+            "proxy.config.diags.debug.enabled": 1,
+            "proxy.config.diags.debug.tags": "http",
+        })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun("Verify the correct caching behavior when ATS is 
in default configuration")
+        tr.AddVerifierClientProcess("cookie-default-client", 
self.cookieDefaultReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+CookieDefaultTest().run()
+
+
+class CookieBypassTest:
+    # Verify the correct caching behavior when ATS is configured to not cache
+    # response to cookie for any content type
+    cookieBypassReplayFile = "replay/cookie-bypass-cache.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("cookie-bypass-verifier-server", 
self.cookieBypassReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-cookie-bypass")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Bypass cache for any responses to cookies
+                "proxy.config.http.cache.cache_responses_to_cookies": 0
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the correct caching behavior when ATS is configured to not 
cache response to cookie for any content type")
+        tr.AddVerifierClientProcess("cookie-bypass-client", 
self.cookieBypassReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+CookieBypassTest().run()
+
+
+class CookieImgOnlyTest:
+    # Verify the correct caching behavior when ATS is configured to cache
+    # response to cookie only for image content type
+    cookieImgOnlyReplayFile = "replay/cookie-cache-img-only.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("cookie-img-only-verifier-server", 
self.cookieImgOnlyReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-cookie-img-only")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Cache only for image types
+                "proxy.config.http.cache.cache_responses_to_cookies": 2
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the correct caching behavior when ATS is configured to 
cache response to cookie only for image content type")
+        tr.AddVerifierClientProcess("cookie-img-only-client", 
self.cookieImgOnlyReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+CookieImgOnlyTest().run()
+
+
+class CookieAllButTextTest:
+    # Verify the correct caching behavior when ATS is configured to cache
+    # response to cookie for all but text types
+    cookieAllButTextReplayFile = "replay/cookie-all-but-text.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = 
Test.MakeVerifierServerProcess("cookie-all-but-text-verifier-server", 
self.cookieAllButTextReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-cookie-all-but-text")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Cache all content type except text
+                "proxy.config.http.cache.cache_responses_to_cookies": 3
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the correct caching behavior when ATS is configured to 
cache response to cookie for all but text types")
+        tr.AddVerifierClientProcess(
+            "cookie-all-but-text-client", self.cookieAllButTextReplayFile, 
http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+CookieAllButTextTest().run()
+
+
+class CookieAllButTextWithExcpTest:
+    # Verify the correct caching behavior when ATS is configured to cache all
+    # content types but text, but with a few exceptions for text types which
+    # would also be cached
+    cookieAllButTextReplayFile = 
"replay/cookie-all-but-text-with-excp.replay.yaml"
+
+    def __init__(self):
+        self.setupOriginServer()
+        self.setupTS()
+
+    def setupOriginServer(self):
+        self.server = Test.MakeVerifierServerProcess(
+            "cookie-all-but-text-with-excp-verifier-server", 
self.cookieAllButTextReplayFile)
+
+    def setupTS(self):
+        self.ts = Test.MakeATSProcess("ts-cookie-all-but-text-with-excp")
+        self.ts.Disk.records_config.update(
+            {
+                "proxy.config.diags.debug.enabled": 1,
+                "proxy.config.diags.debug.tags": "http",
+                # Cache all content type but text. Text type also gets cached 
for
+                # server responses without Set-Cookie or with Cache-Control: 
public
+                "proxy.config.http.cache.cache_responses_to_cookies": 4
+            })
+        self.ts.Disk.remap_config.AddLine(f"map / 
http://127.0.0.1:{self.server.Variables.http_port}/";,)
+
+    def runTraffic(self):
+        tr = Test.AddTestRun(
+            "Verify the correct caching behavior when ATS is configured to 
cache all content types but text, but with a few exceptions for text types 
which would also be cached"
+        )
+        tr.AddVerifierClientProcess(
+            "cookie-all-but-text-with-excp-client", 
self.cookieAllButTextReplayFile, http_ports=[self.ts.Variables.port])
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.ts)
+        tr.StillRunningAfter = self.server
+        tr.StillRunningAfter = self.ts
+
+    def run(self):
+        self.runTraffic()
+
+
+CookieAllButTextWithExcpTest().run()
diff --git a/tests/gold_tests/cache/cache-range-response.test.py 
b/tests/gold_tests/cache/cache-range-response.test.py
index f82ee7940d..4202095f07 100644
--- a/tests/gold_tests/cache/cache-range-response.test.py
+++ b/tests/gold_tests/cache/cache-range-response.test.py
@@ -21,5 +21,19 @@ Test.Summary = '''
 Verify correct caching behavior for range requests.
 '''
 
-# Verify range request is transformed from a 200 response.
-Test.ATSReplayTest(replay_file="replay/cache-range-response.replay.yaml")
+ts = Test.MakeATSProcess("ts")
+replay_file = "replay/cache-range-response.replay.yaml"
+server = Test.MakeVerifierServerProcess("server0", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http.*|cache.*',
+        'proxy.config.http.cache.range.write': 1,
+        'proxy.config.http.cache.when_to_revalidate': 4,
+        'proxy.config.http.insert_response_via_str': 3,
+    })
+ts.Disk.remap_config.AddLine(f'map / 
http://127.0.0.1:{server.Variables.http_port}')
+tr = Test.AddTestRun("Verify range request is transformed from a 200 response")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client0", replay_file, 
http_ports=[ts.Variables.port])
diff --git a/tests/gold_tests/cache/cache-request-method.test.py 
b/tests/gold_tests/cache/cache-request-method.test.py
index 6e702a222e..21fd65517d 100644
--- a/tests/gold_tests/cache/cache-request-method.test.py
+++ b/tests/gold_tests/cache/cache-request-method.test.py
@@ -21,14 +21,78 @@ Test.Summary = '''
 Verify correct caching behavior with respect to request method.
 '''
 
-# Verify correct POST response handling when caching POST responses is disabled
-Test.ATSReplayTest(replay_file="replay/post_with_post_caching_disabled.replay.yaml")
+# Test 0: Verify correct POST response handling when caching POST responses is
+# disabled.
+tr = Test.AddTestRun("Verify correct with POST response caching disabled.")
+ts = tr.MakeATSProcess("ts")
+replay_file = "replay/post_with_post_caching_disabled.replay.yaml"
+server = tr.AddVerifierServerProcess("server0", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http.*|cache.*',
+        'proxy.config.http.insert_age_in_response': 0,
 
-# Verify correct POST response handling when caching POST responses is enabled
-Test.ATSReplayTest(replay_file="replay/post_with_post_caching_enabled.replay.yaml")
+        # Caching of POST responses is disabled by default. Verify default 
behavior
+        # by leaving it unconfigured.
+        # 'proxy.config.http.cache.post_method': 0,
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client0", replay_file, 
http_ports=[ts.Variables.port])
 
-# Verify correct POST response handling when caching POST responses is enabled 
via overridable config
-Test.ATSReplayTest(replay_file="replay/post_with_post_caching_override.replay.yaml")
+# Test 1: Verify correct POST response handling when caching POST responses is
+# enabled.
+tr = Test.AddTestRun("Verify correct with POST response caching enabled.")
+ts = tr.MakeATSProcess("ts-cache-post")
+replay_file = "replay/post_with_post_caching_enabled.replay.yaml"
+server = tr.AddVerifierServerProcess("server1", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http.*|cache.*',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.cache.post_method': 1,
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client1", replay_file, 
http_ports=[ts.Variables.port])
 
-# Verify correct HEAD response handling with cached GET response
-Test.ATSReplayTest(replay_file="replay/head_with_get_cached.replay.yaml")
+# Test 2: Verify correct POST response handling when caching POST responses is
+# enabled via an overridable config.
+tr = Test.AddTestRun("Verify correct with POST response caching enabled 
overridably.")
+ts = tr.MakeATSProcess("ts-cache-post-override")
+replay_file = "replay/post_with_post_caching_enabled.replay.yaml"
+server = tr.AddVerifierServerProcess("server2", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http.*|cache.*',
+        'proxy.config.http.insert_age_in_response': 0,
+        # Override the following in remap.config.
+        'proxy.config.http.cache.post_method': 0,
+    })
+ts.Disk.remap_config.AddLine(
+    f'map / http://127.0.0.1:{server.Variables.http_port} '
+    '@plugin=conf_remap.so @pparam=proxy.config.http.cache.post_method=1')
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client2", replay_file, 
http_ports=[ts.Variables.port])
+
+# Test 3: Verify correct HEAD response handling with cached GET response
+tr = Test.AddTestRun("Verify correct with HEAD response.")
+ts = tr.MakeATSProcess("ts-cache-head")
+replay_file = "replay/head_with_get_cached.replay.yaml"
+server = tr.AddVerifierServerProcess("server3", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http.*|cache.*',
+        'proxy.config.http.insert_age_in_response': 0,
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client3", replay_file, 
http_ports=[ts.Variables.port])
diff --git a/tests/gold_tests/cache/conditional-get-hit.test.py 
b/tests/gold_tests/cache/conditional-get-hit.test.py
index 22b15e5295..f3df0a1f4e 100644
--- a/tests/gold_tests/cache/conditional-get-hit.test.py
+++ b/tests/gold_tests/cache/conditional-get-hit.test.py
@@ -21,5 +21,18 @@ Test.Summary = '''
 Test conditional get with body drains the body from client"
 '''
 
-# Verify conditional get with cache hit drains client body.
-Test.ATSReplayTest(replay_file="replay/conditional-get-cache-hit.yaml")
+ts = Test.MakeATSProcess("ts-conditional-get-caching")
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http|cache',
+        'proxy.config.http.cache.max_stale_age': 6,
+    })
+tr = Test.AddTestRun("Verify conditional get with cache hit drain client body")
+replay_file = "replay/conditional-get-cache-hit.yaml"
+server = tr.AddVerifierServerProcess("server1", replay_file)
+server_port = server.Variables.http_port
+tr.AddVerifierClientProcess("client1", replay_file, 
http_ports=[ts.Variables.port])
+ts.Disk.remap_config.AddLine('map / http://127.0.0.1:{0}'.format(server_port))
+tr.Processes.Default.StartBefore(ts)
+tr.StillRunningAfter = ts
diff --git a/tests/gold_tests/cache/gold/cache_and_req_body-hit.gold 
b/tests/gold_tests/cache/gold/cache_and_req_body-hit.gold
new file mode 100644
index 0000000000..34bb179c50
--- /dev/null
+++ b/tests/gold_tests/cache/gold/cache_and_req_body-hit.gold
@@ -0,0 +1,10 @@
+HTTP/1.1 200 OK
+Cache-Control: max-age=10,public
+Content-Length: 11
+Date: ``
+Connection: keep-alive
+Via: ``
+Server: ``
+X-Cache: hit-fresh
+``
+yabadabadoo``
diff --git a/tests/gold_tests/cache/gold/cache_and_req_body-miss.gold 
b/tests/gold_tests/cache/gold/cache_and_req_body-miss.gold
new file mode 100644
index 0000000000..33efb4bac0
--- /dev/null
+++ b/tests/gold_tests/cache/gold/cache_and_req_body-miss.gold
@@ -0,0 +1,10 @@
+HTTP/1.1 200 OK
+Cache-Control: max-age=10,public
+Content-Length: 11
+Date: ``
+Connection: keep-alive
+Via: ``
+Server: ``
+X-Cache: miss
+``
+yabadabadoo``
diff --git a/tests/gold_tests/cache/gold/cache_hit_stale.gold 
b/tests/gold_tests/cache/gold/cache_hit_stale.gold
new file mode 100644
index 0000000000..25a3d6670c
--- /dev/null
+++ b/tests/gold_tests/cache/gold/cache_hit_stale.gold
@@ -0,0 +1,10 @@
+HTTP/1.1 200 OK
+Cache-Control: max-age=10,public
+Content-Length: 11
+Date: ``
+Connection: keep-alive
+Via: ``
+Server: ``
+X-Cache: hit-stale
+``
+yabadabadoo``
diff --git a/tests/gold_tests/cache/gold/cache_no_cache.gold 
b/tests/gold_tests/cache/gold/cache_no_cache.gold
new file mode 100644
index 0000000000..6cadfa0c28
--- /dev/null
+++ b/tests/gold_tests/cache/gold/cache_no_cache.gold
@@ -0,0 +1,12 @@
+HTTP/1.1 504 Not Cached ``
+Date: ``
+Connection: keep-alive
+Via: http/1.1 ``
+Server: ``
+Cache-Control: no-store
+Content-Type: text/html
+Content-Language: en
+``
+X-Cache: miss
+Content-Length: 340
+``
diff --git a/tests/gold_tests/cache/gold/cache_no_cc.gold 
b/tests/gold_tests/cache/gold/cache_no_cc.gold
new file mode 100644
index 0000000000..7f50b005e6
--- /dev/null
+++ b/tests/gold_tests/cache/gold/cache_no_cc.gold
@@ -0,0 +1,9 @@
+HTTP/1.1 200 OK
+Content-Length: 14
+Date: ``
+Connection: keep-alive
+Via: ``
+Server: ``
+X-Cache: miss
+``
+the flinstones``
diff --git a/tests/gold_tests/cache/negative-caching.test.py 
b/tests/gold_tests/cache/negative-caching.test.py
index 0e09ae17bb..bcd0868aef 100644
--- a/tests/gold_tests/cache/negative-caching.test.py
+++ b/tests/gold_tests/cache/negative-caching.test.py
@@ -21,18 +21,66 @@ Test.Summary = '''
 Test negative caching.
 '''
 
-# Negative caching disabled
-Test.ATSReplayTest(replay_file="replay/negative-caching-disabled.replay.yaml")
+#
+# Negative caching disabled.
+#
+ts = Test.MakeATSProcess("ts-disabled")
+replay_file = "replay/negative-caching-disabled.replay.yaml"
+server = Test.MakeVerifierServerProcess("server-disabled", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.negative_caching_enabled': 0
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr = Test.AddTestRun("Verify correct behavior without negative caching 
enabled.")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client-disabled", replay_file, 
http_ports=[ts.Variables.port])
 
-# Negative caching enabled with default configuration
-Test.ATSReplayTest(replay_file="replay/negative-caching-default.replay.yaml")
+#
+# Negative caching enabled with otherwise default configuration.
+#
+ts = Test.MakeATSProcess("ts-default")
+replay_file = "replay/negative-caching-default.replay.yaml"
+server = Test.MakeVerifierServerProcess("server-default", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.negative_caching_enabled': 1
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr = Test.AddTestRun("Verify default negative caching behavior")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client-default", replay_file, 
http_ports=[ts.Variables.port])
 
-# Customized response caching for negative caching configuration
-Test.ATSReplayTest(replay_file="replay/negative-caching-customized.replay.yaml")
+#
+# Customized response caching for negative caching configuration.
+#
+ts = Test.MakeATSProcess("ts-customized")
+replay_file = "replay/negative-caching-customized.replay.yaml"
+server = Test.MakeVerifierServerProcess("server-customized", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.negative_caching_enabled': 1,
+        'proxy.config.http.negative_caching_list': "400"
+    })
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+tr = Test.AddTestRun("Verify customized negative caching list")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client-customized", replay_file, 
http_ports=[ts.Variables.port])
 
 #
 # Verify correct proxy.config.http.negative_caching_lifetime behavior.
-# These tests require multiple test runs with shared ATS processes, so use 
class-based approach.
 #
 ts = Test.MakeATSProcess("ts-lifetime")
 ts.Disk.records_config.update(
diff --git a/tests/gold_tests/cache/negative-revalidating.test.py 
b/tests/gold_tests/cache/negative-revalidating.test.py
index 30071d147e..e80c577827 100644
--- a/tests/gold_tests/cache/negative-revalidating.test.py
+++ b/tests/gold_tests/cache/negative-revalidating.test.py
@@ -21,11 +21,78 @@ Test.Summary = '''
 Test the negative revalidating feature.
 '''
 
-# Verify negative revalidating disabled
-Test.ATSReplayTest(replay_file="replay/negative-revalidating-disabled.replay.yaml")
 
-# Verify negative revalidating enabled
-Test.ATSReplayTest(replay_file="replay/negative-revalidating-enabled.replay.yaml")
+class NegativeRevalidatingTest:
+    _test_num: int = 0
 
-# Verify negative_revalidating_list behavior
-Test.ATSReplayTest(replay_file="replay/negative-revalidating-list.replay.yaml")
+    def __init__(self, name: str, records_config: dict, replay_file: str):
+        self._tr = Test.AddTestRun(name)
+        self._replay_file = replay_file
+
+        self.__setupOriginServer()
+        self.__setupTS(records_config)
+        self.__setupClient()
+
+        NegativeRevalidatingTest._test_num += 1
+
+    def __setupClient(self):
+        self._tr.AddVerifierClientProcess(
+            f"client-{NegativeRevalidatingTest._test_num}", self._replay_file, 
http_ports=[self._ts.Variables.port])
+
+    def __setupOriginServer(self):
+        self._server = 
self._tr.AddVerifierServerProcess(f"server-{NegativeRevalidatingTest._test_num}",
 self._replay_file)
+
+    def __setupTS(self, records_config):
+        self._ts = 
Test.MakeATSProcess(f"ts-{NegativeRevalidatingTest._test_num}")
+        self._ts.Disk.records_config.update(records_config)
+        self._ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(self._server.Variables.http_port))
+
+    def run(self):
+        self._tr.Processes.Default.StartBefore(self._ts)
+        self._tr.StillRunningAfter = self._ts
+
+
+#
+# Verify disabled negative_revalidating behavior.
+#
+NegativeRevalidatingTest(
+    "Verify negative revalidating disabled", {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http|cache',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.insert_response_via_str': 2,
+        'proxy.config.http.negative_revalidating_enabled': 0,
+        'proxy.config.http.cache.max_stale_age': 6
+    }, "replay/negative-revalidating-disabled.replay.yaml").run()
+
+#
+# Verify enabled negative_revalidating behavior.
+#
+NegativeRevalidatingTest(
+    "Verify negative revalidating enabled",
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http|cache',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.insert_response_via_str': 2,
+
+        # Negative revalidating is on by default. Verify this by leaving out 
the
+        # following line and expect negative_revalidating to be enabled.
+        # 'proxy.config.http.negative_revalidating_enabled': 1,
+        'proxy.config.http.cache.max_stale_age': 6
+    },
+    "replay/negative-revalidating-enabled.replay.yaml").run()
+
+#
+# Verify negative_revalidating list behavior.
+#
+NegativeRevalidatingTest(
+    "Verify negative_revalidating_list behavior", {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http|cache',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.http.insert_response_via_str': 2,
+        'proxy.config.http.cache.max_stale_age': 6,
+        'proxy.config.http.negative_revalidating_enabled': 1,
+        'proxy.config.http.negative_revalidating_list': "403 404"
+    }, "replay/negative-revalidating-list.replay.yaml").run()
diff --git a/tests/gold_tests/cache/proxy_serve_stale.test.py 
b/tests/gold_tests/cache/proxy_serve_stale.test.py
index 43c0bebd54..252a50a958 100644
--- a/tests/gold_tests/cache/proxy_serve_stale.test.py
+++ b/tests/gold_tests/cache/proxy_serve_stale.test.py
@@ -20,5 +20,50 @@ Test child proxy serving stale content when parents are 
exhausted
 Test.testName = "proxy_serve_stale"
 Test.ContinueOnFail = True
 
-# Verify that stale content is served when the parent is down.
-Test.ATSReplayTest(replay_file="replay/proxy_serve_stale.replay.yaml")
+
+class ProxyServeStaleTest:
+    """Verify that stale content is served when the parent is down."""
+
+    single_transaction_replay = "replay/proxy_serve_stale.replay.yaml"
+    ts_parent_hostname = "localhost:82"
+
+    def __init__(self):
+        """Initialize the test."""
+        self._configure_server()
+        self._configure_ts()
+
+    def _configure_server(self):
+        self.server = Test.MakeVerifierServerProcess("server", 
self.single_transaction_replay)
+        self.nameserver = Test.MakeDNServer("dns", default='127.0.0.1')
+
+    def _configure_ts(self):
+        self.ts_child = Test.MakeATSProcess("ts_child")
+        # Config child proxy to route to parent proxy
+        self.ts_child.Disk.records_config.update(
+            {
+                'proxy.config.http.push_method_enabled': 1,
+                'proxy.config.http.parent_proxy.fail_threshold': 2,
+                'proxy.config.http.parent_proxy.total_connect_attempts': 1,
+                'proxy.config.http.cache.max_stale_age': 10,
+                'proxy.config.http.parent_proxy.self_detect': 0,
+                'proxy.config.diags.debug.enabled': 1,
+                'proxy.config.diags.debug.tags': 
'cache|http|dns|hostdb|parent_proxy',
+                'proxy.config.dns.nameservers': 
f"127.0.0.1:{self.nameserver.Variables.Port}",
+            })
+        self.ts_child.Disk.parent_config.AddLine(
+            f'dest_domain=. parent="{self.ts_parent_hostname}" 
round_robin=consistent_hash go_direct=false')
+        self.ts_child.Disk.remap_config.AddLine(f'map / 
http://localhost:{self.server.Variables.http_port}')
+
+    def run(self):
+        """Run the test cases."""
+
+        tr = Test.AddTestRun()
+        tr.AddVerifierClientProcess('client', self.single_transaction_replay, 
http_ports=[self.ts_child.Variables.port])
+        tr.Processes.Default.ReturnCode = 0
+        tr.StillRunningAfter = self.ts_child
+        tr.Processes.Default.StartBefore(self.server)
+        tr.Processes.Default.StartBefore(self.nameserver)
+        tr.Processes.Default.StartBefore(self.ts_child)
+
+
+ProxyServeStaleTest().run()
diff --git a/tests/gold_tests/cache/replay/alternate-caching-update-size.yaml 
b/tests/gold_tests/cache/replay/alternate-caching-update-size.yaml
index 8031f2019c..ddc4a46194 100644
--- a/tests/gold_tests/cache/replay/alternate-caching-update-size.yaml
+++ b/tests/gold_tests/cache/replay/alternate-caching-update-size.yaml
@@ -50,34 +50,6 @@ meta:
           - [ Accept-Language, es_US ]
         delay: 100ms
 
-autest:
-  description: 'Verify disabled negative revalidating behavior'
-
-  server:
-    name: 'server-alternate-caching'
-
-  client:
-    name: 'client-alternate-caching'
-
-  ats:
-    name: 'ts-alternate-caching'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-      proxy.config.http.cache.max_stale_age: 6
-      proxy.config.cache.select_alternate: 1
-      proxy.config.cache.limits.http.max_alts: 4
-      proxy.config.http.negative_revalidating_enabled: 1
-      proxy.config.http.negative_caching_enabled: 1
-      proxy.config.http.negative_caching_lifetime: 30
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
   # These first two requests just store the two alternats for this url
diff --git a/tests/gold_tests/cache/replay/auth-default.replay.yaml 
b/tests/gold_tests/cache/replay/auth-default.replay.yaml
new file mode 100644
index 0000000000..d68cdffc50
--- /dev/null
+++ b/tests/gold_tests/cache/replay/auth-default.replay.yaml
@@ -0,0 +1,68 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#
+# This replay file assumes that caching is enabled and
+# proxy.config.http.cache.ignore_authentication is set to 0(current default)
+#
+meta:
+  version: "1.0"
+
+sessions:
+  - transactions:
+      # Verify the response containing WWW-Authenticate is not cached
+      - client-request:
+          method: "GET"
+          version: "1.1"
+          url: /cc/auth
+          headers:
+            fields:
+              - [uuid, cc-www-auth-response]
+              - [Host, example.com]
+
+        server-response:
+          status: 401
+          reason: Unauthorized
+          headers:
+            fields:
+              - [Content-Length, 4]
+              - [Cache-Control, "max-age=5"]
+              - [WWW-Authenticate, "Basic"]
+
+        proxy-response:
+          status: 401
+
+      # Re-request to make sure the previous response was not cached
+      - client-request:
+          # Add a delay so ATS has time to finish any caching IO for the
+          # previous transaction.
+          delay: 100ms
+          method: "GET"
+          version: "1.1"
+          url: /cc/auth
+          headers:
+            fields:
+              - [uuid, cc-www-auth-response-verify]
+              - [Host, example.com]
+              - [Authorization, "Basic ZGVtbzphdHNAc3Ryb25ncHc="]
+
+        server-response:
+          status: 200
+          reason: OK
+
+        # Verify that the new 200 response is returned instead of the 401
+        proxy-response:
+          status: 200
diff --git a/tests/gold_tests/cache/replay/auth-ignored.replay.yaml 
b/tests/gold_tests/cache/replay/auth-ignored.replay.yaml
new file mode 100644
index 0000000000..b0361fffcc
--- /dev/null
+++ b/tests/gold_tests/cache/replay/auth-ignored.replay.yaml
@@ -0,0 +1,67 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#
+# This replay file assumes that caching is enabled and
+# proxy.config.http.cache.ignore_authentication is set to 1
+#
+meta:
+  version: "1.0"
+
+sessions:
+  - transactions:
+      # Verify that response containing WWW-Authenticate is cached
+      - client-request:
+          method: "GET"
+          version: "1.1"
+          url: /cc/auth
+          headers:
+            fields:
+              - [uuid, cc-www-auth-response]
+              - [Host, example.com]
+
+        server-response:
+          status: 401
+          reason: Unauthorized
+          headers:
+            fields:
+              - [Content-Length, 4]
+              - [Cache-Control, "max-age=5"]
+              - [WWW-Authenticate, "Basic"]
+
+        proxy-response:
+          status: 401
+      # Re-request to make sure the previous response was not cached
+      - client-request:
+          # Add a delay so ATS has time to finish any caching IO for the
+          # previous transaction.
+          delay: 100ms
+          method: "GET"
+          version: "1.1"
+          url: /cc/auth
+          headers:
+            fields:
+              - [uuid, cc-www-auth-response-verify]
+              - [Host, example.com]
+              - [Authorization, "Basic ZGVtbzphdHNAc3Ryb25ncHc="]
+
+        server-response:
+          status: 200
+          reason: OK
+
+        # Verify that the cached 401 response is returned
+        proxy-response:
+          status: 401
diff --git a/tests/gold_tests/cache/replay/cache-control-basic.replay.yaml 
b/tests/gold_tests/cache/replay/cache-control-basic.replay.yaml
deleted file mode 100644
index 58b4c974a8..0000000000
--- a/tests/gold_tests/cache/replay/cache-control-basic.replay.yaml
+++ /dev/null
@@ -1,218 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-meta:
-  version: "1.0"
-
-# Configuration section for autest integration
-autest:
-  description: 'Test basic cache operations: miss, hit, no-cache-control, 
stale, and only-if-cached'
-
-  dns:
-    name: 'dns-cache-basic'
-
-  server:
-    name: 'server-cache-basic'
-
-  client:
-    name: 'client-cache-basic'
-
-  ats:
-    name: 'ts-cache-basic'
-    process_config:
-      enable_cache: true
-
-    plugin_config:
-      - 'xdebug.so --enable=x-cache,x-cache-key,via'
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.response_via_str: 3
-      proxy.config.http.insert_age_in_response: 0
-
-    remap_config:
-      - from: "http://www.example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
-sessions:
-- transactions:
-
-  #############################################################################
-  # Test 1: Cache miss - populate cache with max-age=1
-  #############################################################################
-  - client-request:
-      method: GET
-      url: /cacheable
-      version: '1.1'
-      headers:
-        fields:
-        - [Host, www.example.com]
-        - [x-debug, "x-cache,x-cache-key,via"]
-        - [uuid, cache-miss]
-
-    server-response:
-      status: 200
-      reason: OK
-      headers:
-        fields:
-        - [Content-Type, text/plain]
-        - [Content-Length, "3"]
-        - [Cache-Control, "max-age=1"]
-      content:
-        encoding: plain
-        data: xxx
-
-    proxy-response:
-      status: 200
-      headers:
-        fields:
-        - [Cache-Control, { value: "max-age=1", as: equal }]
-        - [X-Cache, { value: "miss", as: equal }]
-        - [X-Cache-Key, { value: "http://";, as: contains }]
-      content:
-        encoding: plain
-        data: xxx
-        verify: { as: equal }
-
-  #############################################################################
-  # Test 2: Cache hit-fresh - retrieve from cache
-  #############################################################################
-  - client-request:
-      delay: 100ms
-      method: GET
-      url: /cacheable
-      version: '1.1'
-      headers:
-        fields:
-        - [Host, www.example.com]
-        - [x-debug, "x-cache,x-cache-key,via"]
-        - [uuid, cache-hit]
-
-    # Server should not receive this request (it's cached)
-    server-response:
-      status: 404
-      reason: Not Found
-
-    # Expect cached 200 response
-    proxy-response:
-      status: 200
-      headers:
-        fields:
-        - [Cache-Control, { value: "max-age=1", as: equal }]
-        - [X-Cache, { value: "hit-fresh", as: equal }]
-      content:
-        encoding: plain
-        data: xxx
-        verify: { as: equal }
-
-  #############################################################################
-  # Test 3: No cache-control - response without caching directive (cache miss)
-  #############################################################################
-  - client-request:
-      method: GET
-      url: /no_cache_control
-      version: '1.1'
-      headers:
-        fields:
-        - [Host, www.example.com]
-        - [x-debug, "x-cache,x-cache-key,via"]
-        - [uuid, no-cache-control]
-
-    server-response:
-      status: 200
-      reason: OK
-      headers:
-        fields:
-        - [Content-Type, text/plain]
-        - [Content-Length, "14"]
-        # No Cache-Control header
-      content:
-        encoding: plain
-        data: "the flinstones"
-
-    proxy-response:
-      status: 200
-      headers:
-        fields:
-        - [X-Cache, { value: "miss", as: equal }]
-      content:
-        encoding: plain
-        data: "the flinstones"
-        verify: { as: equal }
-
-  #############################################################################
-  # Test 4: Hit stale cache - wait for cache entry to become stale
-  #############################################################################
-  - client-request:
-      # Wait for the cache entry from Test 1 to become stale
-      delay: 2s
-      method: GET
-      url: /cacheable
-      version: '1.1'
-      headers:
-        fields:
-        - [Host, www.example.com]
-        - [x-debug, "x-cache,x-cache-key,via"]
-        - [uuid, cache-hit-stale]
-
-    # Server should receive revalidation request
-    server-response:
-      status: 200
-      reason: OK
-      headers:
-        fields:
-        - [Content-Type, text/plain]
-        - [Content-Length, "3"]
-        - [Cache-Control, "max-age=1"]
-      content:
-        encoding: plain
-        data: xxx
-
-    proxy-response:
-      status: 200
-      headers:
-        fields:
-        - [X-Cache, { value: "hit-stale", as: equal }]
-
-  #############################################################################
-  # Test 5: only-if-cached - should return 504 if not in cache
-  #############################################################################
-  - client-request:
-      method: GET
-      url: /not_in_cache
-      version: '1.1'
-      headers:
-        fields:
-        - [Host, www.example.com]
-        - [Cache-Control, "only-if-cached"]
-        - [x-debug, "x-cache,x-cache-key,via"]
-        - [uuid, only-if-cached]
-
-    # Server should not be contacted for only-if-cached requests
-    server-response:
-      status: 200
-      reason: OK
-
-    # Should get 504 Not Cached
-    proxy-response:
-      status: 504
-      reason: "Not Cached"
-      headers:
-        fields:
-        - [X-Cache, { value: "miss", as: equal }]
-        - [Cache-Control, { value: "no-store", as: equal }]
-
diff --git a/tests/gold_tests/cache/replay/cache-control-max-age.replay.yaml 
b/tests/gold_tests/cache/replay/cache-control-max-age.replay.yaml
index 2a1fdec6fa..d97bf1531d 100644
--- a/tests/gold_tests/cache/replay/cache-control-max-age.replay.yaml
+++ b/tests/gold_tests/cache/replay/cache-control-max-age.replay.yaml
@@ -23,35 +23,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify correct handling of various max-age directives in both 
clients and responses'
-
-  dns:
-    name: 'dns-max_age'
-
-  server:
-    name: 'proxy-verifier-server'
-
-  client:
-    name: 'proxy-verifier-client'
-
-  ats:
-    name: 'ts-for-proxy-verifier'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-      # Disable ignoring max-age in the client request so we can test that 
behavior too.
-      proxy.config.http.cache.ignore_client_cc_max_age: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
   blocks:
   - request_for_positive_max_age: &request_for_positive_max_age
       client-request:
diff --git a/tests/gold_tests/cache/replay/cache-control-pragma.replay.yaml 
b/tests/gold_tests/cache/replay/cache-control-pragma.replay.yaml
index a691977d09..5cd5713178 100644
--- a/tests/gold_tests/cache/replay/cache-control-pragma.replay.yaml
+++ b/tests/gold_tests/cache/replay/cache-control-pragma.replay.yaml
@@ -23,32 +23,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify correct interaction between cache-control no-cache and 
pragma header'
-
-  dns:
-    name: 'dns-pragma'
-
-  server:
-    name: 'pragma-server'
-
-  client:
-    name: 'pragma-client'
-
-  ats:
-    name: 'ts-cache-control-pragma'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
   # Pragma: no-cache will prevent caching
diff --git a/tests/gold_tests/cache/replay/cache-control-s-maxage.replay.yaml 
b/tests/gold_tests/cache/replay/cache-control-s-maxage.replay.yaml
index 6bab36d567..f8cd29dbfd 100644
--- a/tests/gold_tests/cache/replay/cache-control-s-maxage.replay.yaml
+++ b/tests/gold_tests/cache/replay/cache-control-s-maxage.replay.yaml
@@ -21,33 +21,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify correct handling of various s-maxage directives in 
responses'
-
-  dns:
-    name: 'dns-s_maxage'
-
-  server:
-    name: 's-maxage-server'
-
-  client:
-    name: 's-maxage-client'
-
-  ats:
-    name: 'ts-s-maxage'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
   blocks:
   - request_for_positive_s_maxage: &request_for_positive_s_maxage
       client-request:
diff --git a/tests/gold_tests/cache/replay/cache-range-response.replay.yaml 
b/tests/gold_tests/cache/replay/cache-range-response.replay.yaml
index 0ebde6ac77..0bb4d2271e 100644
--- a/tests/gold_tests/cache/replay/cache-range-response.replay.yaml
+++ b/tests/gold_tests/cache/replay/cache-range-response.replay.yaml
@@ -18,31 +18,6 @@
 meta:
   version: "1.0"
 
-autest:
-  description: 'Verify correct caching behavior for range requests'
-
-  server:
-    name: 'server-range-response'
-
-  client:
-    name: 'client-range-response'
-
-  ats:
-    name: 'ts-range-response'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http.*|cache.*'
-      proxy.config.http.cache.range.write: 1
-      proxy.config.http.cache.when_to_revalidate: 4
-      proxy.config.http.insert_response_via_str: 3
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Populate the cache with a response to a GET request.
diff --git a/tests/gold_tests/cache/replay/conditional-get-cache-hit.yaml 
b/tests/gold_tests/cache/replay/conditional-get-cache-hit.yaml
index 21b052ae88..a1d838f5d0 100644
--- a/tests/gold_tests/cache/replay/conditional-get-cache-hit.yaml
+++ b/tests/gold_tests/cache/replay/conditional-get-cache-hit.yaml
@@ -17,29 +17,6 @@
 meta:
   version: "1.0"
 
-autest:
-  description: 'Verify conditional get with cache hit drains client body'
-
-  server:
-    name: 'server-conditional-get'
-
-  client:
-    name: 'client-conditional-get'
-
-  ats:
-    name: 'ts-conditional-get-caching'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-      proxy.config.http.cache.max_stale_age: 6
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
   # Cache a request
diff --git 
a/tests/gold_tests/cache/replay/cookie-all-but-text-with-excp.replay.yaml 
b/tests/gold_tests/cache/replay/cookie-all-but-text-with-excp.replay.yaml
index cbfe991837..77cefbc47f 100644
--- a/tests/gold_tests/cache/replay/cookie-all-but-text-with-excp.replay.yaml
+++ b/tests/gold_tests/cache/replay/cookie-all-but-text-with-excp.replay.yaml
@@ -23,34 +23,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-cookie_all_but_text_with_excp'
-  description: 'Verify the correct caching behavior when ATS is configured to 
cache all content types but text, but with a few exceptions for text types 
which would also be cached'
-
-  server:
-    name: 'cookie-all-but-text-with-excp-verifier-server'
-
-  client:
-    name: 'cookie-all-but-text-with-excp-client'
-
-  ats:
-    name: 'ts-cookie-all-but-text-with-excp'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Cache all content type but text. Text type also gets cached for
-      # server responses without Set-Cookie or with Cache-Control: public
-      proxy.config.http.cache.cache_responses_to_cookies: 4
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Verify that response containing Set-Cookie with image content type is
diff --git a/tests/gold_tests/cache/replay/cookie-all-but-text.replay.yaml 
b/tests/gold_tests/cache/replay/cookie-all-but-text.replay.yaml
index a0390c52eb..aa8a6e2a56 100644
--- a/tests/gold_tests/cache/replay/cookie-all-but-text.replay.yaml
+++ b/tests/gold_tests/cache/replay/cookie-all-but-text.replay.yaml
@@ -22,33 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-cookie_all_but_text'
-  description: 'Verify the correct caching behavior when ATS is configured to 
cache response to cookie for all but text types'
-
-  server:
-    name: 'cookie-all-but-text-verifier-server'
-
-  client:
-    name: 'cookie-all-but-text-client'
-
-  ats:
-    name: 'ts-cookie-all-but-text'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Cache all content type except text
-      proxy.config.http.cache.cache_responses_to_cookies: 3
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Verify that response containing Set-Cookie with image content type is
diff --git a/tests/gold_tests/cache/replay/cookie-bypass-cache.replay.yaml 
b/tests/gold_tests/cache/replay/cookie-bypass-cache.replay.yaml
index 9e0ab697ac..eda1128554 100644
--- a/tests/gold_tests/cache/replay/cookie-bypass-cache.replay.yaml
+++ b/tests/gold_tests/cache/replay/cookie-bypass-cache.replay.yaml
@@ -22,33 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-cookie_bypass_cache'
-  description: 'Verify the correct caching behavior when ATS is configured to 
not cache response to cookie for any content type'
-
-  server:
-    name: 'cookie-bypass-verifier-server'
-
-  client:
-    name: 'cookie-bypass-client'
-
-  ats:
-    name: 'ts-cookie-bypass'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Bypass cache for any responses to cookies
-      proxy.config.http.cache.cache_responses_to_cookies: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Verify that response containing Set-Cookie with text content type is 
not
diff --git a/tests/gold_tests/cache/replay/cookie-cache-img-only.replay.yaml 
b/tests/gold_tests/cache/replay/cookie-cache-img-only.replay.yaml
index e95cdc66f2..2b377eb232 100644
--- a/tests/gold_tests/cache/replay/cookie-cache-img-only.replay.yaml
+++ b/tests/gold_tests/cache/replay/cookie-cache-img-only.replay.yaml
@@ -22,33 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-cookie_cache_img_only'
-  description: 'Verify the correct caching behavior when ATS is configured to 
cache response to cookie only for image content type'
-
-  server:
-    name: 'cookie-img-only-verifier-server'
-
-  client:
-    name: 'cookie-img-only-client'
-
-  ats:
-    name: 'ts-cookie-img-only'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Cache only for image types
-      proxy.config.http.cache.cache_responses_to_cookies: 2
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Verify that response containing Set-Cookie with text content type is 
not
diff --git a/tests/gold_tests/cache/replay/cookie-default.replay.yaml 
b/tests/gold_tests/cache/replay/cookie-default.replay.yaml
index 0f1608f1c2..c9773bc5fe 100644
--- a/tests/gold_tests/cache/replay/cookie-default.replay.yaml
+++ b/tests/gold_tests/cache/replay/cookie-default.replay.yaml
@@ -16,37 +16,12 @@
 
 #
 # This replay file assumes that caching is enabled and
-# proxy.config.http.cache.cache_responses_to_cookies is set to 1 (current
+# proxy.config.http.cache.cache_responses_to_cookies is set to 1(current
 # default, cache for any content-type)
 #
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-cookie_default'
-  description: 'Verify the correct caching behavior when ATS is in default 
configuration'
-
-  server:
-    name: 'cookie-default-verifier-server'
-
-  client:
-    name: 'cookie-default-client'
-
-  ats:
-    name: 'ts-cookie-default'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Verify the response containing Set-Cookie with text content type is
diff --git a/tests/gold_tests/cache/replay/head_with_get_cached.replay.yaml 
b/tests/gold_tests/cache/replay/head_with_get_cached.replay.yaml
index 6f1136ab3c..e55b12a7e9 100644
--- a/tests/gold_tests/cache/replay/head_with_get_cached.replay.yaml
+++ b/tests/gold_tests/cache/replay/head_with_get_cached.replay.yaml
@@ -17,31 +17,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-head_with_get_cached'
-  description: 'Verify correct HEAD response handling with cached GET response'
-
-  server:
-    name: 'server-head'
-
-  client:
-    name: 'client-head'
-
-  ats:
-    name: 'ts-cache-head'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http.*|cache.*'
-      proxy.config.http.insert_age_in_response: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
 
 sessions:
 - transactions:
@@ -307,4 +282,4 @@ sessions:
       status: 200
       headers:
         fields:
-        - [ X-Response, { value: second_get_response, as: equal} ]
+        - [ X-Response, { value: second_get_response, as: equal} ]
\ No newline at end of file
diff --git a/tests/gold_tests/cache/replay/ignore_authentication.replay.yaml 
b/tests/gold_tests/cache/replay/ignore_authentication.replay.yaml
deleted file mode 100644
index eb04957d2a..0000000000
--- a/tests/gold_tests/cache/replay/ignore_authentication.replay.yaml
+++ /dev/null
@@ -1,158 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-# This replay file verifies auth-related caching behaviors with both default
-# configuration and with ignore_authentication enabled via conf_remap
-#
-meta:
-  version: "1.0"
-
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-auth'
-  description: 'Verify the proper caching behavior for request/response 
containing auth-related fields in both default and ignore_authentication 
configurations'
-
-  server:
-    name: 'auth-verifier-server'
-
-  client:
-    name: 'auth-client'
-
-  ats:
-    name: 'ts-auth'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Default behavior: respect WWW-Authenticate (don't cache)
-      proxy.config.http.cache.ignore_authentication: 0
-
-    remap_config:
-      # Default path - uses default ignore_authentication=0
-      - from: "http://example.com/default/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/default/";
-      # Ignored path - overrides to ignore_authentication=1 via conf_remap
-      - from: "http://example.com/ignored/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/ignored/";
-        plugins:
-          - name: "conf_remap.so"
-            args:
-              - "proxy.config.http.cache.ignore_authentication=1"
-
-    log_validation:
-      traffic_out:
-        contains:
-          - expression: "response has WWW-Authenticate, response is not 
cacheable"
-            description: "Verify ATS doesn't store the response with 
WWW-Authenticate in default config."
-
-sessions:
-  - transactions:
-      #########################################################################
-      # Test default behavior: WWW-Authenticate responses are NOT cached
-      #########################################################################
-      - client-request:
-          method: "GET"
-          version: "1.1"
-          url: /default/auth
-          headers:
-            fields:
-              - [uuid, default-www-auth-response]
-              - [Host, example.com]
-
-        server-response:
-          status: 401
-          reason: Unauthorized
-          headers:
-            fields:
-              - [Content-Length, 4]
-              - [Cache-Control, "max-age=5"]
-              - [WWW-Authenticate, "Basic"]
-
-        proxy-response:
-          status: 401
-
-      # Re-request to verify the previous response was NOT cached
-      - client-request:
-          # Add a delay so ATS has time to finish any caching IO for the
-          # previous transaction.
-          delay: 100ms
-          method: "GET"
-          version: "1.1"
-          url: /default/auth
-          headers:
-            fields:
-              - [uuid, default-www-auth-verify]
-              - [Host, example.com]
-              - [Authorization, "Basic ZGVtbzphdHNAc3Ryb25ncHc="]
-
-        server-response:
-          status: 200
-          reason: OK
-
-        # Verify that the new 200 response is returned instead of cached 401
-        proxy-response:
-          status: 200
-
-      #########################################################################
-      # Test ignore_authentication=1: WWW-Authenticate responses ARE cached
-      #########################################################################
-      - client-request:
-          method: "GET"
-          version: "1.1"
-          url: /ignored/auth
-          headers:
-            fields:
-              - [uuid, ignored-www-auth-response]
-              - [Host, example.com]
-
-        server-response:
-          status: 401
-          reason: Unauthorized
-          headers:
-            fields:
-              - [Content-Length, 4]
-              - [Cache-Control, "max-age=5"]
-              - [WWW-Authenticate, "Basic"]
-
-        proxy-response:
-          status: 401
-
-      # Re-request to verify the previous response WAS cached
-      - client-request:
-          # Add a delay so ATS has time to finish any caching IO for the
-          # previous transaction.
-          delay: 100ms
-          method: "GET"
-          version: "1.1"
-          url: /ignored/auth
-          headers:
-            fields:
-              - [uuid, ignored-www-auth-verify]
-              - [Host, example.com]
-              - [Authorization, "Basic ZGVtbzphdHNAc3Ryb25ncHc="]
-
-        server-response:
-          status: 200
-          reason: OK
-
-        # Verify that the cached 401 response is returned instead of new 200
-        proxy-response:
-          status: 401
-
diff --git 
a/tests/gold_tests/cache/replay/negative-caching-customized.replay.yaml 
b/tests/gold_tests/cache/replay/negative-caching-customized.replay.yaml
index bbdf572aa4..52df653b16 100644
--- a/tests/gold_tests/cache/replay/negative-caching-customized.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-caching-customized.replay.yaml
@@ -23,34 +23,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_caching_customized'
-  description: 'Verify customized negative caching list'
-
-  server:
-    name: 'server-customized'
-
-  client:
-    name: 'client-customized'
-
-  ats:
-    name: 'ts-customized'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.negative_caching_enabled: 1
-      proxy.config.http.negative_caching_list: "400"
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
   blocks:
   - 200_response: &200_response
       server-response:
diff --git a/tests/gold_tests/cache/replay/negative-caching-default.replay.yaml 
b/tests/gold_tests/cache/replay/negative-caching-default.replay.yaml
index 71d1f69919..6b945c3005 100644
--- a/tests/gold_tests/cache/replay/negative-caching-default.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-caching-default.replay.yaml
@@ -22,33 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_caching_default'
-  description: 'Verify default negative caching behavior'
-
-  server:
-    name: 'server-default'
-
-  client:
-    name: 'client-default'
-
-  ats:
-    name: 'ts-default'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.negative_caching_enabled: 1
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
   blocks:
   - 200_response: &200_response
       server-response:
diff --git 
a/tests/gold_tests/cache/replay/negative-caching-disabled.replay.yaml 
b/tests/gold_tests/cache/replay/negative-caching-disabled.replay.yaml
index 364be65eee..0df4f317cd 100644
--- a/tests/gold_tests/cache/replay/negative-caching-disabled.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-caching-disabled.replay.yaml
@@ -21,33 +21,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_caching_disabled'
-  description: 'Verify correct behavior without negative caching enabled'
-
-  server:
-    name: 'server-disabled'
-
-  client:
-    name: 'client-disabled'
-
-  ats:
-    name: 'ts-disabled'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.negative_caching_enabled: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
   blocks:
   - request_for_path_200: &request_for_path_200
       client-request:
diff --git 
a/tests/gold_tests/cache/replay/negative-revalidating-disabled.replay.yaml 
b/tests/gold_tests/cache/replay/negative-revalidating-disabled.replay.yaml
index 93e3a71a48..cfc3c9b636 100644
--- a/tests/gold_tests/cache/replay/negative-revalidating-disabled.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-revalidating-disabled.replay.yaml
@@ -22,35 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_revalidating_disabled'
-  description: 'Verify negative revalidating disabled'
-
-  server:
-    name: 'server-negative-revalidating-disabled'
-
-  client:
-    name: 'client-negative-revalidating-disabled'
-
-  ats:
-    name: 'ts-negative-revalidating-disabled'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.insert_response_via_str: 2
-      proxy.config.http.negative_revalidating_enabled: 0
-      proxy.config.http.cache.max_stale_age: 6
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
 
diff --git 
a/tests/gold_tests/cache/replay/negative-revalidating-enabled.replay.yaml 
b/tests/gold_tests/cache/replay/negative-revalidating-enabled.replay.yaml
index 32c5ad66eb..4b320767bf 100644
--- a/tests/gold_tests/cache/replay/negative-revalidating-enabled.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-revalidating-enabled.replay.yaml
@@ -15,44 +15,14 @@
 #  limitations under the License.
 
 #
-# Verify negative_revalidating enabled behavior. This replay file assumes:
-#   * ATS is configured with negative_revalidating enabled (default).
+# Verify negative_revalidating disabled behavior. This replay file assumes:
+#   * ATS is configured with negative_revalidating disabled.
 #   * max_stale_age is set to 6 seconds.
 #
 
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_revalidating_enabled'
-  description: 'Verify negative revalidating enabled'
-
-  server:
-    name: 'server-negative-revalidating-enabled'
-
-  client:
-    name: 'client-negative-revalidating-enabled'
-
-  ats:
-    name: 'ts-negative-revalidating-enabled'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.insert_response_via_str: 2
-      # Negative revalidating is on by default.
-      # proxy.config.http.negative_revalidating_enabled: 1
-      proxy.config.http.cache.max_stale_age: 6
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
 
diff --git 
a/tests/gold_tests/cache/replay/negative-revalidating-list.replay.yaml 
b/tests/gold_tests/cache/replay/negative-revalidating-list.replay.yaml
index af23465b16..f95dab2d93 100644
--- a/tests/gold_tests/cache/replay/negative-revalidating-list.replay.yaml
+++ b/tests/gold_tests/cache/replay/negative-revalidating-list.replay.yaml
@@ -15,45 +15,14 @@
 #  limitations under the License.
 
 #
-# Verify negative_revalidating_list behavior. This replay file assumes:
-#   * ATS is configured with negative_revalidating enabled.
+# Verify negative_revalidating disabled behavior. This replay file assumes:
+#   * ATS is configured with negative_revalidating disabled.
 #   * max_stale_age is set to 6 seconds.
-#   * negative_revalidating_list is set to "403 404"
 #
 
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-neg_revalidating_list'
-  description: 'Verify negative_revalidating_list behavior'
-
-  server:
-    name: 'server-negative-revalidating-list'
-
-  client:
-    name: 'client-negative-revalidating-list'
-
-  ats:
-    name: 'ts-negative-revalidating-list'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http|cache'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.insert_response_via_str: 2
-      proxy.config.http.cache.max_stale_age: 6
-      proxy.config.http.negative_revalidating_enabled: 1
-      proxy.config.http.negative_revalidating_list: "403 404"
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
 - transactions:
 
diff --git 
a/tests/gold_tests/cache/replay/post_with_post_caching_disabled.replay.yaml 
b/tests/gold_tests/cache/replay/post_with_post_caching_disabled.replay.yaml
index 13beb51e5c..84dcabe99c 100644
--- a/tests/gold_tests/cache/replay/post_with_post_caching_disabled.replay.yaml
+++ b/tests/gold_tests/cache/replay/post_with_post_caching_disabled.replay.yaml
@@ -17,35 +17,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-post_with_post_caching_disabled'
-  dns:
-    name: 'dns-post_with_post_caching_disabled'
-  description: 'Verify correct POST response handling when caching POST 
responses is disabled'
-
-  server:
-    name: 'server-post-disabled'
-
-  client:
-    name: 'client-post-disabled'
-
-  ats:
-    name: 'ts'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http.*|cache.*'
-      proxy.config.http.insert_age_in_response: 0
-      # Caching of POST responses is disabled by default.
-      # proxy.config.http.cache.post_method: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
 
 sessions:
 - transactions:
diff --git 
a/tests/gold_tests/cache/replay/post_with_post_caching_enabled.replay.yaml 
b/tests/gold_tests/cache/replay/post_with_post_caching_enabled.replay.yaml
index b5d1d1a23e..5f102d23cd 100644
--- a/tests/gold_tests/cache/replay/post_with_post_caching_enabled.replay.yaml
+++ b/tests/gold_tests/cache/replay/post_with_post_caching_enabled.replay.yaml
@@ -17,34 +17,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-post_with_post_caching_enabled'
-  dns:
-    name: 'dns-post_with_post_caching_enabled'
-  description: 'Verify correct POST response handling when caching POST 
responses is enabled'
-
-  server:
-    name: 'server-post-enabled'
-
-  client:
-    name: 'client-post-enabled'
-
-  ats:
-    name: 'ts-cache-post'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http.*|cache.*'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.http.cache.post_method: 1
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
 
 sessions:
 - transactions:
diff --git 
a/tests/gold_tests/cache/replay/post_with_post_caching_override.replay.yaml 
b/tests/gold_tests/cache/replay/post_with_post_caching_override.replay.yaml
deleted file mode 100644
index a50cf05a9f..0000000000
--- a/tests/gold_tests/cache/replay/post_with_post_caching_override.replay.yaml
+++ /dev/null
@@ -1,113 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-meta:
-  version: "1.0"
-
-# Configuration section for autest integration
-autest:
-  dns:
-    name: 'dns-post_with_post_caching_override'
-  dns:
-    name: 'dns-post_with_post_caching_override'
-  description: 'Verify correct POST response handling when caching POST 
responses is enabled via overridable config'
-
-  server:
-    name: 'server-post-override'
-
-  client:
-    name: 'client-post-override'
-
-  ats:
-    name: 'ts-cache-post-override'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http.*|cache.*'
-      proxy.config.http.insert_age_in_response: 0
-      # Override the following in remap.config.
-      proxy.config.http.cache.post_method: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-        plugins:
-          - name: "conf_remap.so"
-            args:
-              - "proxy.config.http.cache.post_method=1"
-
-# Use the same sessions as post_with_post_caching_enabled.replay.yaml
-# since the behavior should be the same (POST caching enabled)
-sessions:
-- transactions:
-
-  #
-  # Test 1: Verify caching of a response to a POST request.
-  #
-
-  # The simple case: perform two POST requests and make sure the second
-  # is served with the cached response of the first.
-  - client-request:
-      method: "POST"
-      version: "1.1"
-      url: /simple/post/test
-      headers:
-        fields:
-        - [ Host, example.com ]
-        - [ Content-Length, 48 ]
-        - [ uuid, 11 ]
-
-    server-response:
-      status: 200
-      reason: OK
-      headers:
-        fields:
-        - [ Content-Length, 16 ]
-        - [ Cache-Control, max-age=300 ]
-
-    proxy-response:
-      status: 200
-
-  - client-request:
-      # Add a delay so ATS has time to finish any caching IO for the previous
-      # transaction.
-      delay: 100ms
-
-      method: "POST"
-      version: "1.1"
-      url: /simple/post/test
-      headers:
-        fields:
-        - [ Host, example.com ]
-        - [ Content-Length, 48 ]
-        - [ uuid, 12 ]
-
-    # This should not go through to the server since the previous POST response
-    # should have been cached. Return a non-200 response to
-    # verify it is served from cache.
-    server-response:
-      status: 400
-      reason: "Bad Request"
-      headers:
-        fields:
-        - [ Content-Length, 0 ]
-
-    # Expect the cached 200 response.
-    proxy-response:
-      status: 200
-
diff --git a/tests/gold_tests/cache/replay/proxy_serve_stale.replay.yaml 
b/tests/gold_tests/cache/replay/proxy_serve_stale.replay.yaml
index b3a84d1b57..152af6ecd8 100644
--- a/tests/gold_tests/cache/replay/proxy_serve_stale.replay.yaml
+++ b/tests/gold_tests/cache/replay/proxy_serve_stale.replay.yaml
@@ -36,38 +36,6 @@ meta:
           - [ Content-Length, 16 ]
           - [ X-Response, should_not_see ]
 
-autest:
-  description: 'Verify that stale content is served when the parent is down'
-
-  dns:
-    name: 'dns-serve-stale'
-
-  server:
-    name: 'server-serve-stale'
-
-  client:
-    name: 'client-serve-stale'
-
-  ats:
-    name: 'ts_child'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.http.push_method_enabled: 1
-      proxy.config.http.parent_proxy.fail_threshold: 2
-      proxy.config.http.parent_proxy.total_connect_attempts: 1
-      proxy.config.http.cache.max_stale_age: 10
-      proxy.config.http.parent_proxy.self_detect: 0
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'cache|http|dns|hostdb|parent_proxy'
-
-    parent_config:
-      - 'dest_domain=. parent="localhost:82" round_robin=consistent_hash 
go_direct=false'
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://localhost:{SERVER_HTTP_PORT}/";
 
 sessions:
 - transactions:
diff --git 
a/tests/gold_tests/cache/replay/request-cache-control-default.replay.yaml 
b/tests/gold_tests/cache/replay/request-cache-control-default.replay.yaml
index e0a0d91f1a..94d3bde4af 100644
--- a/tests/gold_tests/cache/replay/request-cache-control-default.replay.yaml
+++ b/tests/gold_tests/cache/replay/request-cache-control-default.replay.yaml
@@ -21,32 +21,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify the proper handling of cache-control directives in 
requests in default configuration'
-
-  dns:
-    name: 'dns-req_default'
-
-  server:
-    name: 'request-cache-control-default-verifier-server'
-
-  client:
-    name: 'request-cache-control-default-client'
-
-  ats:
-    name: 'ts-request-cache-control-default'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
 sessions:
   - transactions:
       # Populating the cache
diff --git 
a/tests/gold_tests/cache/replay/request-cache-control-honor-client.replay.yaml 
b/tests/gold_tests/cache/replay/request-cache-control-honor-client.replay.yaml
index a5e8faf315..9340ed6653 100644
--- 
a/tests/gold_tests/cache/replay/request-cache-control-honor-client.replay.yaml
+++ 
b/tests/gold_tests/cache/replay/request-cache-control-honor-client.replay.yaml
@@ -22,42 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify the proper handling of cache-control directives in 
requests when ATS is configured to honor client requests to bypass the cache'
-
-  dns:
-    name: 'dns-req_honor_client'
-
-  server:
-    name: 'request-cache-control-honor-client-verifier-server'
-
-  client:
-    name: 'request-cache-control-honor-client-client'
-
-  ats:
-    name: 'ts-request-cache-control-honor-client'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      # Configured to honor client requests to bypass the cache
-      proxy.config.http.cache.ignore_client_no_cache: 0
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
-    log_validation:
-      traffic_out:
-        contains:
-          - expression: "Revalidate document with server"
-            description: "Verify that ATS honors the no-cache and performs a 
revalidation."
-          - expression: "client does not permit storing, and cache control 
does not say to ignore client no-cache"
-            description: "Verify that ATS honors the no-store."
-
 sessions:
   - transactions:
       # Populating the cache
diff --git 
a/tests/gold_tests/cache/replay/response-cache-control-default.replay.yaml 
b/tests/gold_tests/cache/replay/response-cache-control-default.replay.yaml
index 3ecfa83131..b87ad86ad5 100644
--- a/tests/gold_tests/cache/replay/response-cache-control-default.replay.yaml
+++ b/tests/gold_tests/cache/replay/response-cache-control-default.replay.yaml
@@ -22,40 +22,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify the proper handling of cache-control directives in 
responses in default configuration'
-
-  dns:
-    name: 'dns-resp_default'
-
-  server:
-    name: 'response-cache-control-default-verifier-server'
-
-  client:
-    name: 'response-cache-control-client-default'
-
-  ats:
-    name: 'ts-response-cache-control-default'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
-    log_validation:
-      traffic_out:
-        contains:
-          - expression: "Revalidate document with server"
-            description: "Verify that ATS honors the no-cache in response and 
performs a revalidation."
-          - expression: "server does not permit storing and config file does 
not indicate that server directive should be ignored"
-            description: "Verify that ATS honors the no-store in response and 
bypasses the cache."
-
 sessions:
   - transactions:
       # Verify Cache-Control: no-cache in response is honored
diff --git 
a/tests/gold_tests/cache/replay/response-cache-control-ignored.replay.yaml 
b/tests/gold_tests/cache/replay/response-cache-control-ignored.replay.yaml
index 17fa5d5c40..2380e4a34d 100644
--- a/tests/gold_tests/cache/replay/response-cache-control-ignored.replay.yaml
+++ b/tests/gold_tests/cache/replay/response-cache-control-ignored.replay.yaml
@@ -21,41 +21,6 @@
 meta:
   version: "1.0"
 
-# Configuration section for autest integration
-autest:
-  description: 'Verify the proper handling of cache-control directives in 
responses when ATS is configured to ignore server requests to bypass the cache'
-
-  dns:
-    name: 'dns-resp_ignored'
-
-  server:
-    name: 'response-cache-control-ignored-verifier-server'
-
-  client:
-    name: 'response-cache-control-client-ignored'
-
-  ats:
-    name: 'ts-response-cache-control-ignored'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.cache.ignore_server_no_cache: 1
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
-    log_validation:
-      traffic_out:
-        excludes:
-          - expression: "Revalidate document with server"
-            description: "Verify that ATS ignores the no-cache in response and 
therefore doesn't perform a revalidation."
-          - expression: "server does not permit storing and config file does 
not indicate that server directive should be ignored"
-            description: "Verify that ATS ignores the no-store in response and 
caches the responses despite its presence."
-
 sessions:
   - transactions:
       # Verify the no-cache in response is ignored and the response is cached
diff --git a/tests/gold_tests/cache/replay/varied_transactions.replay.yaml 
b/tests/gold_tests/cache/replay/varied_transactions.replay.yaml
index a7e65c0ac9..ccb35e7210 100644
--- a/tests/gold_tests/cache/replay/varied_transactions.replay.yaml
+++ b/tests/gold_tests/cache/replay/varied_transactions.replay.yaml
@@ -33,34 +33,6 @@ meta:
           fields:
           - [ Content-Length, 0 ]
 
-autest:
-  description: 'Run traffic with max_alts behavior when set to 4'
-
-  server:
-    name: 'server-vary-handling'
-
-  client:
-    name: 'client-vary-handling'
-
-  ats:
-    name: 'ts-vary-handling'
-    process_config:
-      enable_cache: true
-
-    records_config:
-      proxy.config.diags.debug.enabled: 1
-      proxy.config.diags.debug.tags: 'http'
-      proxy.config.http.insert_age_in_response: 0
-      proxy.config.cache.limits.http.max_alts: 4
-      proxy.config.cache.log.alternate.eviction: 1
-
-    remap_config:
-      - from: "http://example.com/";
-        to: "http://backend.example.com:{SERVER_HTTP_PORT}/";
-
-    log_validation:
-      diags_log:
-        gold_file: "gold/two_alternates_evicted.gold"
 
 sessions:
 - transactions:
diff --git a/tests/gold_tests/cache/vary-handling.test.py 
b/tests/gold_tests/cache/vary-handling.test.py
index 3e27012f99..45b5141425 100644
--- a/tests/gold_tests/cache/vary-handling.test.py
+++ b/tests/gold_tests/cache/vary-handling.test.py
@@ -21,5 +21,23 @@ Test.Summary = '''
 Test correct handling of alternates via the Vary header.
 '''
 
-# Run traffic with max_alts behavior when set to 4.
-Test.ATSReplayTest(replay_file="replay/varied_transactions.replay.yaml")
+ts = Test.MakeATSProcess("ts")
+replay_file = "replay/varied_transactions.replay.yaml"
+server = Test.MakeVerifierServerProcess("server", replay_file)
+ts.Disk.records_config.update(
+    {
+        'proxy.config.diags.debug.enabled': 1,
+        'proxy.config.diags.debug.tags': 'http',
+        'proxy.config.http.insert_age_in_response': 0,
+        'proxy.config.cache.limits.http.max_alts': 4,
+        'proxy.config.cache.log.alternate.eviction': 1,
+    })
+
+ts.Disk.remap_config.AddLine('map / 
http://127.0.0.1:{0}'.format(server.Variables.http_port))
+
+tr = Test.AddTestRun("Run traffic with max_alts behavior when set to 4")
+tr.Processes.Default.StartBefore(server)
+tr.Processes.Default.StartBefore(ts)
+tr.AddVerifierClientProcess("client", replay_file, 
http_ports=[ts.Variables.port])
+
+ts.Disk.diags_log.Content += "gold/two_alternates_evicted.gold"

Reply via email to