OLD | NEW |
1 // Copyright 2016 The LUCI Authors. All rights reserved. | 1 // Copyright 2016 The LUCI Authors. All rights reserved. |
2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
4 | 4 |
5 package tsmon | 5 package tsmon |
6 | 6 |
7 import ( | 7 import ( |
8 "net/http" | 8 "net/http" |
9 "net/http/httptest" | 9 "net/http/httptest" |
10 "testing" | 10 "testing" |
11 "time" | 11 "time" |
12 | 12 |
13 "github.com/golang/protobuf/proto" | 13 "github.com/golang/protobuf/proto" |
14 "github.com/luci/gae/service/datastore" | 14 "github.com/luci/gae/service/datastore" |
15 "github.com/luci/luci-go/common/tsmon" | 15 "github.com/luci/luci-go/common/tsmon" |
16 "github.com/luci/luci-go/common/tsmon/field" | 16 "github.com/luci/luci-go/common/tsmon/field" |
17 "github.com/luci/luci-go/common/tsmon/store" | 17 "github.com/luci/luci-go/common/tsmon/store" |
18 "github.com/luci/luci-go/common/tsmon/store/storetest" | 18 "github.com/luci/luci-go/common/tsmon/store/storetest" |
19 "github.com/luci/luci-go/common/tsmon/target" | 19 "github.com/luci/luci-go/common/tsmon/target" |
20 "github.com/luci/luci-go/common/tsmon/types" | 20 "github.com/luci/luci-go/common/tsmon/types" |
21 "github.com/luci/luci-go/server/router" | 21 "github.com/luci/luci-go/server/router" |
22 | 22 |
23 . "github.com/smartystreets/goconvey/convey" | 23 . "github.com/smartystreets/goconvey/convey" |
24 ) | 24 ) |
25 | 25 |
26 func TestMiddleware(t *testing.T) { | 26 func TestMiddleware(t *testing.T) { |
27 t.Parallel() | 27 t.Parallel() |
28 » metric := &storetest.FakeMetric{"m", "", []field.Field{}, types.Cumulati
veIntType} | 28 » metric := &storetest.FakeMetric{ |
| 29 » » types.MetricInfo{"m", "", []field.Field{}, types.CumulativeIntTy
pe}, |
| 30 » » types.MetricMetadata{}} |
29 | 31 |
30 f := func(c *router.Context) { | 32 f := func(c *router.Context) { |
31 So(store.IsNilStore(tsmon.Store(c.Context)), ShouldBeFalse) | 33 So(store.IsNilStore(tsmon.Store(c.Context)), ShouldBeFalse) |
32 tsmon.Register(c.Context, metric) | 34 tsmon.Register(c.Context, metric) |
33 So(tsmon.Store(c.Context).Incr(c.Context, metric, time.Time{}, [
]interface{}{}, int64(1)), ShouldBeNil) | 35 So(tsmon.Store(c.Context).Incr(c.Context, metric, time.Time{}, [
]interface{}{}, int64(1)), ShouldBeNil) |
34 } | 36 } |
35 | 37 |
36 Convey("Creates instance entity", t, func() { | 38 Convey("Creates instance entity", t, func() { |
37 c, _ := buildGAETestContext() | 39 c, _ := buildGAETestContext() |
38 state, monitor := buildTestState() | 40 state, monitor := buildTestState() |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 router.RunMiddleware( | 148 router.RunMiddleware( |
147 &router.Context{Context: c, Writer: rec, Request: &http.
Request{}}, | 149 &router.Context{Context: c, Writer: rec, Request: &http.
Request{}}, |
148 router.NewMiddlewareChain(state.Middleware), | 150 router.NewMiddlewareChain(state.Middleware), |
149 func(c *router.Context) { | 151 func(c *router.Context) { |
150 So(store.IsNilStore(tsmon.Store(c.Context)), Sho
uldBeTrue) | 152 So(store.IsNilStore(tsmon.Store(c.Context)), Sho
uldBeTrue) |
151 }, | 153 }, |
152 ) | 154 ) |
153 So(rec.Code, ShouldEqual, http.StatusOK) | 155 So(rec.Code, ShouldEqual, http.StatusOK) |
154 }) | 156 }) |
155 } | 157 } |
OLD | NEW |