From e6a928f9edfed001d1620db3d76ff5abb278e9e9 Mon Sep 17 00:00:00 2001
From: James Ranson <james@ranson.org>
Date: Thu, 15 Aug 2024 18:43:25 -0600
Subject: [PATCH] add noop logger to tests that need it

---
 pkg/backends/alb/response_merge_test.go       |  5 +-
 pkg/backends/healthcheck/healthcheck_test.go  | 19 +++--
 pkg/backends/healthcheck/target_test.go       |  1 +
 pkg/backends/prometheus/model/alerts_test.go  | 29 ++++---
 pkg/backends/prometheus/model/labels_test.go  | 10 +--
 pkg/backends/prometheus/model/series_test.go  | 10 +--
 pkg/backends/prometheus/model/vector.go       |  2 +-
 pkg/backends/prometheus/model/vector_test.go  | 10 +--
 pkg/backends/prometheus/prometheus_test.go    |  7 +-
 .../prometheus/transformations_test.go        |  5 +-
 pkg/backends/prometheus/url_test.go           |  3 +-
 pkg/observability/logging/logging.go          |  2 +
 pkg/proxy/engines/cache.go                    |  8 +-
 pkg/proxy/engines/client_test.go              | 79 -------------------
 pkg/proxy/engines/deltaproxycache_test.go     |  6 +-
 pkg/proxy/engines/httpproxy.go                |  4 +-
 pkg/proxy/engines/httpproxy_test.go           |  5 +-
 pkg/proxy/engines/key.go                      |  1 +
 pkg/proxy/engines/revalidation_status.go      |  8 --
 19 files changed, 74 insertions(+), 140 deletions(-)

diff --git a/pkg/backends/alb/response_merge_test.go b/pkg/backends/alb/response_merge_test.go
index 629de7b82..2f27ae28a 100644
--- a/pkg/backends/alb/response_merge_test.go
+++ b/pkg/backends/alb/response_merge_test.go
@@ -24,11 +24,14 @@ import (
 
 	"github.com/trickstercache/trickster/v2/pkg/backends/alb/pool"
 	"github.com/trickstercache/trickster/v2/pkg/backends/healthcheck"
+	"github.com/trickstercache/trickster/v2/pkg/observability/logging"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/request"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/response/merge"
 	tu "github.com/trickstercache/trickster/v2/pkg/testutil"
 )
 
+var testLogger = logging.NoopLogger()
+
 func testMergeFunc(w http.ResponseWriter, r *http.Request, rgs merge.ResponseGates) {
 
 }
@@ -36,7 +39,7 @@ func testMergeFunc(w http.ResponseWriter, r *http.Request, rgs merge.ResponseGat
 func TestHandleResponseMerge(t *testing.T) {
 
 	r, _ := http.NewRequest("GET", "http://trickstercache.org/", nil)
-	rsc := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc.ResponseMergeFunc = testMergeFunc
 	rsc.IsMergeMember = true
 	r = request.SetResources(r, rsc)
diff --git a/pkg/backends/healthcheck/healthcheck_test.go b/pkg/backends/healthcheck/healthcheck_test.go
index 4fa19d239..73b58a6c8 100644
--- a/pkg/backends/healthcheck/healthcheck_test.go
+++ b/pkg/backends/healthcheck/healthcheck_test.go
@@ -22,8 +22,11 @@ import (
 	"testing"
 
 	ho "github.com/trickstercache/trickster/v2/pkg/backends/healthcheck/options"
+	"github.com/trickstercache/trickster/v2/pkg/observability/logging"
 )
 
+var testLogger = logging.NoopLogger()
+
 func TestNew(t *testing.T) {
 
 	hc := New()
@@ -58,23 +61,23 @@ func TestRegister(t *testing.T) {
 	hc := New().(*healthChecker)
 	o := ho.New()
 	o.IntervalMS = 500
-	_, err := hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err := hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
 	target := hc.targets["test"]
 	target.Start()
 	target.Stop()
-	_, err = hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err = hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
 	o.Body = "test-body"
-	_, err = hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err = hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
-	_, err = hc.Register("test", "test", nil, http.DefaultClient, nil)
+	_, err = hc.Register("test", "test", nil, http.DefaultClient, testLogger)
 	if err != ho.ErrNoOptionsProvided {
 		t.Errorf("expected %v got %v", ho.ErrNoOptionsProvided, err)
 	}
@@ -84,7 +87,7 @@ func TestUnregister(t *testing.T) {
 	hc := New().(*healthChecker)
 	o := ho.New()
 	o.IntervalMS = 500
-	_, err := hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err := hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
@@ -99,7 +102,7 @@ func TestStatus(t *testing.T) {
 	hc := New().(*healthChecker)
 	o := ho.New()
 	o.IntervalMS = 500
-	_, err := hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err := hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
@@ -125,7 +128,7 @@ func TestStatuses(t *testing.T) {
 	hc := New().(*healthChecker)
 	o := ho.New()
 	o.IntervalMS = 500
-	_, err := hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err := hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
@@ -144,7 +147,7 @@ func TestHealthCheckerProbe(t *testing.T) {
 	ts := newTestServer(200, "OK", map[string]string{})
 	r, _ := http.NewRequest("GET", ts.URL+"/", nil)
 
-	_, err := hc.Register("test", "test", o, http.DefaultClient, nil)
+	_, err := hc.Register("test", "test", o, http.DefaultClient, testLogger)
 	if err != nil {
 		t.Error(err)
 	}
diff --git a/pkg/backends/healthcheck/target_test.go b/pkg/backends/healthcheck/target_test.go
index 12e9cadba..dc62900e0 100644
--- a/pkg/backends/healthcheck/target_test.go
+++ b/pkg/backends/healthcheck/target_test.go
@@ -224,6 +224,7 @@ func TestProbe(t *testing.T) {
 		baseRequest: r,
 		httpClient:  ts.Client(),
 		ec:          []int{200},
+		logger:      testLogger,
 	}
 	target.probe()
 	if target.successConsecutiveCnt.Load() != 1 {
diff --git a/pkg/backends/prometheus/model/alerts_test.go b/pkg/backends/prometheus/model/alerts_test.go
index dcfde3878..719482565 100644
--- a/pkg/backends/prometheus/model/alerts_test.go
+++ b/pkg/backends/prometheus/model/alerts_test.go
@@ -24,10 +24,14 @@ import (
 	"strconv"
 	"testing"
 
+	"github.com/trickstercache/trickster/v2/pkg/observability/logging"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/request"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/response/merge"
 )
 
+var testLogger = logging.NoopLogger()
+var testResources = request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
+
 func TestCalculateHash(t *testing.T) {
 
 	a := &WFAlert{
@@ -81,6 +85,11 @@ func TestMerge(t *testing.T) {
 
 }
 
+func newTestReq() *http.Request {
+	r, _ := http.NewRequest(http.MethodGet, "/", nil)
+	return r
+}
+
 func TestMergeAndWriteAlerts(t *testing.T) {
 
 	var nilRG *merge.ResponseGate
@@ -91,22 +100,22 @@ func TestMergeAndWriteAlerts(t *testing.T) {
 		expCode int
 	}{
 		{
-			nil,
+			newTestReq(),
 			nil,
 			http.StatusBadGateway,
 		},
 		{
-			nil,
+			newTestReq(),
 			merge.ResponseGates{nilRG},
 			http.StatusBadGateway,
 		},
 		{
-			nil,
+			newTestReq(),
 			testResponseGates1(),
 			http.StatusOK,
 		},
 		{
-			nil,
+			newTestReq(),
 			testResponseGates2(),
 			http.StatusBadRequest,
 		},
@@ -115,7 +124,7 @@ func TestMergeAndWriteAlerts(t *testing.T) {
 	for i, test := range tests {
 		t.Run(strconv.Itoa(i), func(t *testing.T) {
 			w := httptest.NewRecorder()
-			MergeAndWriteAlerts(w, test.r, test.rgs)
+			MergeAndWriteAlerts(w, request.SetResources(test.r, testResources), test.rgs)
 			if w.Code != test.expCode {
 				t.Errorf("expected %d got %d", test.expCode, w.Code)
 			}
@@ -130,7 +139,7 @@ func testResponseGates1() merge.ResponseGates {
 		{"state":"test","labels":{},"annotations":{},"value":"x","activeAt":"y"}
 	]}}`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 200,
@@ -144,7 +153,7 @@ func testResponseGates1() merge.ResponseGates {
 
 	b2bad := []byte(`{"stat`)
 	closer2 := io.NopCloser(bytes.NewReader(b2bad))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 200,
@@ -158,7 +167,7 @@ func testResponseGates1() merge.ResponseGates {
 
 	b3 := []byte(`{"status":"success","data":{"alerts":[]}}`)
 	closer3 := io.NopCloser(bytes.NewReader(b3))
-	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc3.Response = &http.Response{
 		Body:       closer3,
 		StatusCode: 200,
@@ -178,7 +187,7 @@ func testResponseGates2() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"error","data":{"alerts":[]}}`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 400,
@@ -192,7 +201,7 @@ func testResponseGates2() merge.ResponseGates {
 
 	b2 := []byte(`{"status":"error","data":{"alerts":[]}}`)
 	closer2 := io.NopCloser(bytes.NewReader(b1))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 400,
diff --git a/pkg/backends/prometheus/model/labels_test.go b/pkg/backends/prometheus/model/labels_test.go
index 943092d13..9a762f9f1 100644
--- a/pkg/backends/prometheus/model/labels_test.go
+++ b/pkg/backends/prometheus/model/labels_test.go
@@ -121,7 +121,7 @@ func testResponseGates3() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"success","data":["test", "trickster"]}`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 200,
@@ -135,7 +135,7 @@ func testResponseGates3() merge.ResponseGates {
 
 	b2bad := []byte(`{"stat`)
 	closer2 := io.NopCloser(bytes.NewReader(b2bad))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 200,
@@ -149,7 +149,7 @@ func testResponseGates3() merge.ResponseGates {
 
 	b3 := []byte(`{"status":"success","data":["test2", "trickster2"]}`)
 	closer3 := io.NopCloser(bytes.NewReader(b3))
-	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc3.Response = &http.Response{
 		Body:       closer3,
 		StatusCode: 200,
@@ -169,7 +169,7 @@ func testResponseGates4() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"error"`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 400,
@@ -183,7 +183,7 @@ func testResponseGates4() merge.ResponseGates {
 
 	b2 := []byte(`{"status":"error","data":["should", "not", "append"]`)
 	closer2 := io.NopCloser(bytes.NewReader(b1))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 400,
diff --git a/pkg/backends/prometheus/model/series_test.go b/pkg/backends/prometheus/model/series_test.go
index d7dfe5485..2d0b10525 100644
--- a/pkg/backends/prometheus/model/series_test.go
+++ b/pkg/backends/prometheus/model/series_test.go
@@ -177,7 +177,7 @@ func testResponseGates5() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"success","data":[{"__name__":"test1","instance":"i1","job":"trickster"}]}`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 200,
@@ -191,7 +191,7 @@ func testResponseGates5() merge.ResponseGates {
 
 	b2bad := []byte(`{"stat`)
 	closer2 := io.NopCloser(bytes.NewReader(b2bad))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 200,
@@ -205,7 +205,7 @@ func testResponseGates5() merge.ResponseGates {
 
 	b3 := []byte(`{"status":"success","data":[{"__name__":"test1","instance":"i2","job":"trickster"}]}`)
 	closer3 := io.NopCloser(bytes.NewReader(b3))
-	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc3.Response = &http.Response{
 		Body:       closer3,
 		StatusCode: 200,
@@ -225,7 +225,7 @@ func testResponseGates6() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"error"`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 400,
@@ -239,7 +239,7 @@ func testResponseGates6() merge.ResponseGates {
 
 	b2 := []byte(`{"status":"error","data":[{"__name__":"should","instance":"not","job":"append"}]}`)
 	closer2 := io.NopCloser(bytes.NewReader(b1))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 400,
diff --git a/pkg/backends/prometheus/model/vector.go b/pkg/backends/prometheus/model/vector.go
index d56c1bbac..6a794e35b 100644
--- a/pkg/backends/prometheus/model/vector.go
+++ b/pkg/backends/prometheus/model/vector.go
@@ -74,7 +74,7 @@ func MergeAndWriteVector(w http.ResponseWriter, r *http.Request, rgs merge.Respo
 					ds, ok := t2.(*dataset.DataSet)
 					if !ok {
 						rg.Resources.Logger.Error("vector unmarshaling error",
-							logging.Pairs{"provider": "prometheus", "detail": err.Error()})
+							logging.Pairs{"provider": "prometheus"})
 						continue
 					}
 					ts = ds
diff --git a/pkg/backends/prometheus/model/vector_test.go b/pkg/backends/prometheus/model/vector_test.go
index ce2e7f9a5..828796842 100644
--- a/pkg/backends/prometheus/model/vector_test.go
+++ b/pkg/backends/prometheus/model/vector_test.go
@@ -63,7 +63,7 @@ func testResponseGates7() merge.ResponseGates {
 
 	b1 := []byte(testVector)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 200,
@@ -78,7 +78,7 @@ func testResponseGates7() merge.ResponseGates {
 
 	b2bad := []byte(`{"stat`)
 	closer2 := io.NopCloser(bytes.NewReader(b2bad))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 200,
@@ -92,7 +92,7 @@ func testResponseGates7() merge.ResponseGates {
 
 	b3 := []byte(testVector2)
 	closer3 := io.NopCloser(bytes.NewReader(b3))
-	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc3 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc3.Response = &http.Response{
 		Body:       closer3,
 		StatusCode: 200,
@@ -114,7 +114,7 @@ func testResponseGates8() merge.ResponseGates {
 
 	b1 := []byte(`{"status":"error","data":{}`)
 	closer1 := io.NopCloser(bytes.NewReader(b1))
-	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc1 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc1.Response = &http.Response{
 		Body:       closer1,
 		StatusCode: 400,
@@ -128,7 +128,7 @@ func testResponseGates8() merge.ResponseGates {
 
 	b2 := []byte(`{"status":"error","data":{}`)
 	closer2 := io.NopCloser(bytes.NewReader(b1))
-	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, nil)
+	rsc2 := request.NewResources(nil, nil, nil, nil, nil, nil, testLogger)
 	rsc2.Response = &http.Response{
 		Body:       closer2,
 		StatusCode: 400,
diff --git a/pkg/backends/prometheus/prometheus_test.go b/pkg/backends/prometheus/prometheus_test.go
index 775a5be9e..fd16dbad8 100644
--- a/pkg/backends/prometheus/prometheus_test.go
+++ b/pkg/backends/prometheus/prometheus_test.go
@@ -27,7 +27,6 @@ import (
 
 	"github.com/trickstercache/trickster/v2/pkg/backends"
 	bo "github.com/trickstercache/trickster/v2/pkg/backends/options"
-	"github.com/trickstercache/trickster/v2/pkg/backends/prometheus/model"
 	po "github.com/trickstercache/trickster/v2/pkg/backends/prometheus/options"
 	cr "github.com/trickstercache/trickster/v2/pkg/cache/registration"
 	"github.com/trickstercache/trickster/v2/pkg/config"
@@ -37,8 +36,6 @@ import (
 	"github.com/trickstercache/trickster/v2/pkg/timeseries"
 )
 
-var testModeler = model.NewModeler()
-
 func TestPrometheusClientInterfacing(t *testing.T) {
 
 	// this test ensures the client will properly conform to the
@@ -143,7 +140,7 @@ func TestParseTimeRangeQuery(t *testing.T) {
 	req := &http.Request{URL: u}
 	o := bo.New()
 	o.Prometheus = &po.Options{Labels: map[string]string{"test": "trickster"}}
-	rsc := request.NewResources(o, nil, nil, nil, nil, nil, nil)
+	rsc := request.NewResources(o, nil, nil, nil, nil, nil, testLogger)
 	req = request.SetResources(req, rsc)
 
 	client := &Client{}
@@ -378,7 +375,7 @@ func TestParseVectorQuery(t *testing.T) {
 
 	o := bo.New()
 	o.Prometheus = &po.Options{Labels: map[string]string{"test": "trickster"}}
-	rsc := request.NewResources(o, nil, nil, nil, nil, nil, nil)
+	rsc := request.NewResources(o, nil, nil, nil, nil, nil, testLogger)
 	req = request.SetResources(req, rsc)
 
 	rounder := time.Second * 15
diff --git a/pkg/backends/prometheus/transformations_test.go b/pkg/backends/prometheus/transformations_test.go
index 943428778..292776bdf 100644
--- a/pkg/backends/prometheus/transformations_test.go
+++ b/pkg/backends/prometheus/transformations_test.go
@@ -21,11 +21,14 @@ import (
 	"net/http/httptest"
 	"testing"
 
+	"github.com/trickstercache/trickster/v2/pkg/observability/logging"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/request"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/response/merge"
 	"github.com/trickstercache/trickster/v2/pkg/timeseries/dataset"
 )
 
+var testLogger = logging.NoopLogger()
+
 func TestProcessTransformations(t *testing.T) {
 	// passing test case is no panics
 	c := &Client{injectLabels: map[string]string{"test": "trickster"}}
@@ -50,7 +53,7 @@ func TestProcessVectorTransformations(t *testing.T) {
 	r, _ := http.NewRequest(http.MethodGet, "http://example.com/", nil)
 	resp := &http.Response{StatusCode: 200}
 
-	rsc := &request.Resources{}
+	rsc := &request.Resources{Logger: testLogger}
 	rg := merge.NewResponseGate(w, r, rsc)
 	rg.Response = resp
 	rg.Write([]byte("trickster"))
diff --git a/pkg/backends/prometheus/url_test.go b/pkg/backends/prometheus/url_test.go
index 6e9d935f5..e4a575888 100644
--- a/pkg/backends/prometheus/url_test.go
+++ b/pkg/backends/prometheus/url_test.go
@@ -73,8 +73,7 @@ func TestSetExtent(t *testing.T) {
 	pc.SetExtent(r, nil, e)
 	if int(r.ContentLength) != len(expected) {
 		b, _ := io.ReadAll(r.Body)
-		fmt.Println(string(b))
-		t.Errorf("expected %d got %d", len(expected), r.ContentLength)
+		t.Errorf("expected %d got %d / %d", len(expected), r.ContentLength, len(b))
 	}
 
 }
diff --git a/pkg/observability/logging/logging.go b/pkg/observability/logging/logging.go
index 569da27d1..db0aa9ab0 100644
--- a/pkg/observability/logging/logging.go
+++ b/pkg/observability/logging/logging.go
@@ -94,6 +94,8 @@ func NoopLogger() Logger {
 	l := &logger{
 		logFunc:        func(level.Level, string, Pairs) {},
 		onceRanEntries: make(map[string]any),
+		levelID:        level.InfoID,
+		level:          level.Info,
 	}
 	return l
 }
diff --git a/pkg/proxy/engines/cache.go b/pkg/proxy/engines/cache.go
index 81d7c1108..7c2370b19 100644
--- a/pkg/proxy/engines/cache.go
+++ b/pkg/proxy/engines/cache.go
@@ -49,7 +49,7 @@ type queryResult struct {
 	err          error
 }
 
-func queryConcurrent(ctx context.Context, c cache.Cache, key string, cr chan<- *queryResult, done func()) *queryResult {
+func queryConcurrent(_ context.Context, c cache.Cache, key string, cr chan<- *queryResult, done func()) *queryResult {
 	if done != nil {
 		defer done()
 	}
@@ -322,7 +322,7 @@ func stripConditionalHeaders(h http.Header) {
 	h.Del(headers.NameIfModifiedSince)
 }
 
-func writeConcurrent(ctx context.Context, c cache.Cache, key string, d *HTTPDocument,
+func writeConcurrent(_ context.Context, c cache.Cache, key string, d *HTTPDocument,
 	compress bool, ttl time.Duration, cr chan<- error, done func()) {
 
 	if done != nil {
@@ -443,7 +443,7 @@ func WriteCache(ctx context.Context, c cache.Cache, key string, d *HTTPDocument,
 			close(cr)
 			// Handle results
 			for res := range cr {
-				if res != nil && err != nil {
+				if res != nil {
 					err = res
 					break
 				}
@@ -485,7 +485,7 @@ func WriteCache(ctx context.Context, c cache.Cache, key string, d *HTTPDocument,
 			close(cr)
 			// Handle results
 			for res := range cr {
-				if res != nil && err != nil {
+				if res != nil {
 					err = res
 					break
 				}
diff --git a/pkg/proxy/engines/client_test.go b/pkg/proxy/engines/client_test.go
index 537eb9e96..5d0b219ea 100644
--- a/pkg/proxy/engines/client_test.go
+++ b/pkg/proxy/engines/client_test.go
@@ -23,7 +23,6 @@ import (
 	"math"
 	"net/http"
 	"net/url"
-	"sort"
 	"strconv"
 	"strings"
 	"time"
@@ -37,7 +36,6 @@ import (
 	po "github.com/trickstercache/trickster/v2/pkg/proxy/paths/options"
 	tst "github.com/trickstercache/trickster/v2/pkg/testutil/timeseries/model"
 	"github.com/trickstercache/trickster/v2/pkg/timeseries"
-	"github.com/trickstercache/trickster/v2/pkg/timeseries/dataset"
 	tt "github.com/trickstercache/trickster/v2/pkg/util/timeconv"
 )
 
@@ -357,83 +355,6 @@ func (c *TestClient) FastForwardRequest(r *http.Request) (*http.Request, error)
 	return nr, nil
 }
 
-// // VectorEnvelope represents a Vector response object from the Prometheus HTTP API
-// type VectorEnvelope struct {
-// 	Status string     `json:"status"`
-// 	Data   VectorData `json:"data"`
-// }
-
-// // VectorData represents the Data body of a Vector response object from the Prometheus HTTP API
-// type VectorData struct {
-// 	ResultType string       `json:"resultType"`
-// 	Result     model.Vector `json:"result"`
-// }
-
-// // MatrixEnvelope represents a Matrix response object from the Prometheus HTTP API
-// type MatrixEnvelope struct {
-// 	Status       string                `json:"status"`
-// 	Data         MatrixData            `json:"data"`
-// 	ExtentList   timeseries.ExtentList `json:"extents,omitempty"`
-// 	StepDuration time.Duration         `json:"step,omitempty"`
-
-// 	timestamps map[time.Time]bool // tracks unique timestamps in the matrix data
-// 	tslist     times.Times
-// 	isSorted   bool // tracks if the matrix data is currently sorted
-// 	isCounted  bool // tracks if timestamps slice is up-to-date
-
-// 	timeRangeQuery *timeseries.TimeRangeQuery
-// }
-
-// // MatrixData represents the Data body of a Matrix response object from the Prometheus HTTP API
-// type MatrixData struct {
-// 	ResultType string       `json:"resultType"`
-// 	Result     model.Matrix `json:"result"`
-// }
-
-func (c *TestClient) marshalTimeseriesWriter(ts timeseries.Timeseries, w io.Writer) error {
-	// Marshal the Envelope back to a json object for Cache Storage
-	if c.RangeCacheKey == "failkey" {
-		return fmt.Errorf("generic failure for testing purposes (key: %s)", c.RangeCacheKey)
-	}
-
-	ds, ok := ts.(*dataset.DataSet)
-	if !ok {
-		return timeseries.ErrUnknownFormat
-	}
-	// With Prometheus we presume only one Result per Dataset
-	if len(ds.Results) != 1 {
-		return timeseries.ErrUnknownFormat
-	}
-
-	w.Write([]byte(`{"status":"success","data":{"resultType":"matrix","result":[`)) // todo: always "success" ?
-
-	seriesSep := ""
-	for _, s := range ds.Results[0].SeriesList {
-		w.Write([]byte(seriesSep + `{"metric":{`))
-		sep := ""
-		for _, k := range s.Header.Tags.Keys() {
-			w.Write([]byte(fmt.Sprintf(`%s"%s":"%s"`, sep, k, s.Header.Tags[k])))
-			sep = ","
-		}
-		w.Write([]byte(`},"values":[`))
-		sep = ""
-		sort.Sort(s.Points)
-		for _, p := range s.Points {
-			w.Write([]byte(fmt.Sprintf(`%s[%s,"%s"]`,
-				sep,
-				strconv.FormatFloat(float64(p.Epoch)/1000000000, 'f', -1, 64),
-				p.Values[0]),
-			))
-			sep = ","
-		}
-		w.Write([]byte("]}"))
-		seriesSep = ","
-	}
-	w.Write([]byte("]}}"))
-	return nil
-
-}
-
 func (c *TestClient) testModeler() *timeseries.Modeler {
 	m := tst.Modeler()
 	mw := m.WireMarshalWriter
diff --git a/pkg/proxy/engines/deltaproxycache_test.go b/pkg/proxy/engines/deltaproxycache_test.go
index 5b1cab26b..f5d6cba93 100644
--- a/pkg/proxy/engines/deltaproxycache_test.go
+++ b/pkg/proxy/engines/deltaproxycache_test.go
@@ -26,10 +26,11 @@ import (
 
 	mockprom "github.com/trickstercache/mockster/pkg/mocks/prometheus"
 	"github.com/trickstercache/trickster/v2/pkg/backends"
+	"github.com/trickstercache/trickster/v2/pkg/observability/logging"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/headers"
 	"github.com/trickstercache/trickster/v2/pkg/proxy/request"
-	"github.com/trickstercache/trickster/v2/pkg/timeseries"
 	tu "github.com/trickstercache/trickster/v2/pkg/testutil"
+	"github.com/trickstercache/trickster/v2/pkg/timeseries"
 )
 
 // test queries
@@ -54,6 +55,7 @@ func setupTestHarnessDPC() (*httptest.Server, *httptest.ResponseRecorder, *http.
 	rsc := request.GetResources(r)
 	rsc.BackendClient = client
 	rsc.Tracer = tu.NewTestTracer()
+	rsc.Logger = logging.NoopLogger()
 	pc := rsc.PathConfig
 
 	if pc == nil {
@@ -229,7 +231,7 @@ func TestDeltaProxyCacheRequestRemoveStale(t *testing.T) {
 
 }
 
-// Will understand why this test is failing, and if it's due to an application or test defect,
+// TODO: Will understand why this test is failing, and if it's due to an application or test defect,
 // Will commit to test issue fix in v1.2.0 or app defect fix in the next release of v1.1.x
 
 // func TestDeltaProxyCacheRequestRemoveStaleLRU(t *testing.T) {
diff --git a/pkg/proxy/engines/httpproxy.go b/pkg/proxy/engines/httpproxy.go
index ed138866e..77eee4166 100644
--- a/pkg/proxy/engines/httpproxy.go
+++ b/pkg/proxy/engines/httpproxy.go
@@ -124,11 +124,11 @@ func DoProxy(w io.Writer, r *http.Request, closeResponse bool) *http.Response {
 	}
 
 	elapsed = time.Since(start)
-	recordResults(r, "HTTPProxy", cacheStatusCode, resp.StatusCode,
-		r.URL.Path, "", elapsed.Seconds(), nil, resp.Header)
 
 	if resp != nil && rsc != nil && (rsc.IsMergeMember || rsc.TSTransformer != nil) {
 		rsc.Response = resp
+		recordResults(r, "HTTPProxy", cacheStatusCode, resp.StatusCode,
+			r.URL.Path, "", elapsed.Seconds(), nil, resp.Header)
 	}
 
 	return resp
diff --git a/pkg/proxy/engines/httpproxy_test.go b/pkg/proxy/engines/httpproxy_test.go
index 46af80f0d..bee63034f 100644
--- a/pkg/proxy/engines/httpproxy_test.go
+++ b/pkg/proxy/engines/httpproxy_test.go
@@ -34,7 +34,7 @@ import (
 	tu "github.com/trickstercache/trickster/v2/pkg/testutil"
 )
 
-var testLogger = logging.ConsoleLogger("error")
+var testLogger = logging.ConsoleLogger("warn")
 
 func TestDoProxy(t *testing.T) {
 
@@ -153,7 +153,8 @@ func TestClockOffsetWarning(t *testing.T) {
 	w := httptest.NewRecorder()
 	r := httptest.NewRequest("GET", s.URL, nil)
 	r = r.WithContext(tc.WithResources(r.Context(),
-		request.NewResources(o, pc, nil, nil, nil, tu.NewTestTracer(), testLogger)))
+		request.NewResources(o, pc, nil, nil, nil, tu.NewTestTracer(),
+			testLogger)))
 
 	if testLogger.HasWarnedOnce("clockoffset.default") {
 		t.Errorf("expected %t got %t", false, true)
diff --git a/pkg/proxy/engines/key.go b/pkg/proxy/engines/key.go
index dbac3fb07..ee2d59807 100644
--- a/pkg/proxy/engines/key.go
+++ b/pkg/proxy/engines/key.go
@@ -115,6 +115,7 @@ func (pr *proxyRequest) DeriveCacheKey(extra string) string {
 					}
 				}
 			}
+			// TODO: this value of r does not appear to be used
 			r = request.SetBody(r, b)
 		}
 
diff --git a/pkg/proxy/engines/revalidation_status.go b/pkg/proxy/engines/revalidation_status.go
index d0454c2ce..a866583ee 100644
--- a/pkg/proxy/engines/revalidation_status.go
+++ b/pkg/proxy/engines/revalidation_status.go
@@ -38,14 +38,6 @@ const (
 	RevalStatusFailed
 )
 
-var revalidationStatusNames = map[string]RevalidationStatus{
-	"none":         RevalStatusNone,
-	"revalidating": RevalStatusInProgress,
-	"revalidated":  RevalStatusOK,
-	"failed":       RevalStatusFailed,
-	"local":        RevalStatusLocal,
-}
-
 var revalidationStatusValues = map[RevalidationStatus]string{
 	RevalStatusNone:       "none",
 	RevalStatusInProgress: "revalidating",