forked from mirror/redis
Fix Client process instrumentation.
This commit is contained in:
parent
57efac6c84
commit
9556378547
|
@ -5,9 +5,6 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
redis "gopkg.in/redis.v5"
|
||||
)
|
||||
|
||||
|
@ -60,35 +57,3 @@ func wrapRedisProcess(client *redis.Client) {
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
var _ = Describe("Instrumentation", func() {
|
||||
var client *redis.Client
|
||||
|
||||
BeforeEach(func() {
|
||||
client = redis.NewClient(redisOptions())
|
||||
Expect(client.FlushDb().Err()).NotTo(HaveOccurred())
|
||||
})
|
||||
|
||||
AfterEach(func() {
|
||||
Expect(client.Close()).NotTo(HaveOccurred())
|
||||
})
|
||||
|
||||
Describe("WrapProcess", func() {
|
||||
|
||||
It("should call for client", func() {
|
||||
wrapperFnCalled := false
|
||||
|
||||
client.WrapProcess(func(oldProcess func(redis.Cmder) error) func(redis.Cmder) error {
|
||||
return func(cmd redis.Cmder) error {
|
||||
wrapperFnCalled = true
|
||||
return oldProcess(cmd)
|
||||
}
|
||||
})
|
||||
|
||||
client.Ping()
|
||||
|
||||
Expect(wrapperFnCalled).To(Equal(true))
|
||||
})
|
||||
|
||||
})
|
||||
})
|
||||
|
|
12
redis.go
12
redis.go
|
@ -293,12 +293,14 @@ type Client struct {
|
|||
}
|
||||
|
||||
func newClient(opt *Options, pool pool.Pooler) *Client {
|
||||
base := baseClient{opt: opt, connPool: pool}
|
||||
client := &Client{
|
||||
baseClient: base,
|
||||
cmdable: cmdable{base.Process},
|
||||
client := Client{
|
||||
baseClient: baseClient{
|
||||
opt: opt,
|
||||
connPool: pool,
|
||||
},
|
||||
}
|
||||
return client
|
||||
client.cmdable.process = client.Process
|
||||
return &client
|
||||
}
|
||||
|
||||
// NewClient returns a client to the Redis Server specified by Options.
|
||||
|
|
|
@ -199,6 +199,21 @@ var _ = Describe("Client", func() {
|
|||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(got).To(Equal(bigVal))
|
||||
})
|
||||
|
||||
It("should call WrapProcess", func() {
|
||||
var wrapperFnCalled bool
|
||||
|
||||
client.WrapProcess(func(oldProcess func(redis.Cmder) error) func(redis.Cmder) error {
|
||||
return func(cmd redis.Cmder) error {
|
||||
wrapperFnCalled = true
|
||||
return oldProcess(cmd)
|
||||
}
|
||||
})
|
||||
|
||||
Expect(client.Ping().Err()).NotTo(HaveOccurred())
|
||||
|
||||
Expect(wrapperFnCalled).To(BeTrue())
|
||||
})
|
||||
})
|
||||
|
||||
var _ = Describe("Client timeout", func() {
|
||||
|
|
Loading…
Reference in New Issue