@@ -5,13 +5,15 @@ import (
5
5
"io"
6
6
"net/http"
7
7
"net/http/httptest"
8
+ "time"
8
9
9
10
. "github.com/onsi/ginkgo/v2"
10
11
. "github.com/onsi/gomega"
11
12
"github.com/urfave/negroni/v3"
12
13
13
14
"code.cloudfoundry.org/gorouter/accesslog/fakes"
14
15
"code.cloudfoundry.org/gorouter/handlers"
16
+ metrics_fakes "code.cloudfoundry.org/gorouter/metrics/fakes"
15
17
"code.cloudfoundry.org/gorouter/proxy/utils"
16
18
"code.cloudfoundry.org/gorouter/route"
17
19
"code.cloudfoundry.org/gorouter/test_util"
@@ -26,6 +28,7 @@ var _ = Describe("AccessLog", func() {
26
28
27
29
logger * test_util.TestLogger
28
30
accessLogger * fakes.FakeAccessLogger
31
+ fakeReporter * metrics_fakes.FakeMetricReporter
29
32
extraHeadersToLog []string
30
33
31
34
nextCalled bool
@@ -52,6 +55,10 @@ var _ = Describe("AccessLog", func() {
52
55
reqInfo , err := handlers .ContextRequestInfo (req )
53
56
if err == nil {
54
57
reqInfo .RouteEndpoint = testEndpoint
58
+ timeNow := time .Now ()
59
+ reqInfo .ReceivedAt = timeNow .Add (- 1 * time .Millisecond )
60
+ reqInfo .AppRequestStartedAt = timeNow .Add (1 * time .Millisecond )
61
+ reqInfo .AppRequestFinishedAt = timeNow .Add (2 * time .Millisecond )
55
62
}
56
63
57
64
if next != nil {
@@ -75,13 +82,15 @@ var _ = Describe("AccessLog", func() {
75
82
extraHeadersToLog = []string {}
76
83
77
84
accessLogger = & fakes.FakeAccessLogger {}
85
+ fakeReporter = new (metrics_fakes.FakeMetricReporter )
78
86
79
87
logger = test_util .NewTestLogger ("test" )
80
88
81
89
handler = negroni .New ()
82
90
handler .Use (handlers .NewRequestInfo ())
83
91
handler .Use (handlers .NewProxyWriter (logger .Logger ))
84
92
handler .Use (handlers .NewAccessLog (accessLogger , extraHeadersToLog , nil , logger .Logger ))
93
+ handler .Use (handlers .NewReporter (fakeReporter , logger .Logger ))
85
94
handler .Use (nextHandler )
86
95
87
96
reqChan = make (chan * http.Request , 1 )
@@ -107,8 +116,8 @@ var _ = Describe("AccessLog", func() {
107
116
Expect (alr .Request .URL ).To (Equal (req .URL ))
108
117
Expect (alr .Request .RemoteAddr ).To (Equal (req .RemoteAddr ))
109
118
Expect (alr .ExtraHeadersToLog ).To (Equal (extraHeadersToLog ))
110
- Expect (alr .FinishedAt ).ToNot (BeZero ())
111
119
Expect (alr .RequestBytesReceived ).To (Equal (13 ))
120
+ Expect (alr .GorouterTime ).ToNot (BeZero ())
112
121
Expect (alr .BodyBytesSent ).To (Equal (37 ))
113
122
Expect (alr .StatusCode ).To (Equal (http .StatusTeapot ))
114
123
Expect (alr .RouteEndpoint ).To (Equal (testEndpoint ))
0 commit comments