refactor(rest): keep rest log collector context key private (#3407)

This commit is contained in:
cong
2023-07-10 09:52:26 +08:00
committed by GitHub
parent b71453985c
commit 61e562d0c7
4 changed files with 39 additions and 23 deletions

View File

@@ -14,7 +14,7 @@ import (
func TestInfo(t *testing.T) {
collector := new(LogCollector)
req := httptest.NewRequest(http.MethodGet, "http://localhost", http.NoBody)
req = req.WithContext(context.WithValue(req.Context(), LogContext, collector))
req = req.WithContext(WithLogCollector(req.Context(), collector))
Info(req, "first")
Infof(req, "second %s", "third")
val := collector.Flush()
@@ -35,7 +35,10 @@ func TestError(t *testing.T) {
assert.True(t, strings.Contains(val, "third"))
}
func TestContextKey_String(t *testing.T) {
val := contextKey("foo")
assert.True(t, strings.Contains(val.String(), "foo"))
func TestLogCollectorContext(t *testing.T) {
ctx := context.Background()
assert.Nil(t, LogCollectorFromContext(ctx))
collector := new(LogCollector)
ctx = WithLogCollector(ctx, collector)
assert.Equal(t, collector, LogCollectorFromContext(ctx))
}