1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-29 17:41:15 +03:00

Fix PubSub example. Fixes #575

This commit is contained in:
Vladimir Mihailenco
2017-07-01 13:22:39 +03:00
parent 8860475391
commit 55da68487f
2 changed files with 54 additions and 13 deletions

View File

@ -230,7 +230,15 @@ var _ = Describe("PubSub", func() {
pubsub := client.Subscribe("mychannel")
defer pubsub.Close()
err := client.Publish("mychannel", "hello").Err()
subscr, err := pubsub.ReceiveTimeout(time.Second)
Expect(err).NotTo(HaveOccurred())
Expect(subscr).To(Equal(&redis.Subscription{
Kind: "subscribe",
Channel: "mychannel",
Count: 1,
}))
err = client.Publish("mychannel", "hello").Err()
Expect(err).NotTo(HaveOccurred())
err = client.Publish("mychannel", "world").Err()
@ -253,6 +261,14 @@ var _ = Describe("PubSub", func() {
pubsub := client.Subscribe("mychannel")
defer pubsub.Close()
subscr, err := pubsub.ReceiveTimeout(time.Second)
Expect(err).NotTo(HaveOccurred())
Expect(subscr).To(Equal(&redis.Subscription{
Kind: "subscribe",
Channel: "mychannel",
Count: 1,
}))
done := make(chan bool, 1)
go func() {
defer GinkgoRecover()
@ -308,6 +324,14 @@ var _ = Describe("PubSub", func() {
pubsub := client.Subscribe("mychannel")
defer pubsub.Close()
subscr, err := pubsub.ReceiveTimeout(time.Second)
Expect(err).NotTo(HaveOccurred())
Expect(subscr).To(Equal(&redis.Subscription{
Kind: "subscribe",
Channel: "mychannel",
Count: 1,
}))
expectReceiveMessageOnError(pubsub)
})
@ -315,6 +339,14 @@ var _ = Describe("PubSub", func() {
pubsub := client.PSubscribe("mychannel")
defer pubsub.Close()
subscr, err := pubsub.ReceiveTimeout(time.Second)
Expect(err).NotTo(HaveOccurred())
Expect(subscr).To(Equal(&redis.Subscription{
Kind: "psubscribe",
Channel: "mychannel",
Count: 1,
}))
expectReceiveMessageOnError(pubsub)
})
@ -356,9 +388,12 @@ var _ = Describe("PubSub", func() {
defer GinkgoRecover()
time.Sleep(2 * timeout)
err := pubsub.Subscribe("mychannel")
Expect(err).NotTo(HaveOccurred())
time.Sleep(timeout)
err = client.Publish("mychannel", "hello").Err()
Expect(err).NotTo(HaveOccurred())
}()