MCPcopy Index your code
hub / github.com/coder/coder / TestPubsubMemory

Function TestPubsubMemory

coderd/database/pubsub/pubsub_memory_test.go:13–56  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestPubsubMemory(t *testing.T) {
14 t.Parallel()
15
16 t.Run("Legacy", func(t *testing.T) {
17 t.Parallel()
18
19 pubsub := pubsub.NewInMemory()
20 event := "test"
21 data := "testing"
22 messageChannel := make(chan []byte)
23 cancelFunc, err := pubsub.Subscribe(event, func(ctx context.Context, message []byte) {
24 messageChannel <- message
25 })
26 require.NoError(t, err)
27 defer cancelFunc()
28 go func() {
29 err = pubsub.Publish(event, []byte(data))
30 assert.NoError(t, err)
31 }()
32 message := <-messageChannel
33 assert.Equal(t, string(message), data)
34 })
35
36 t.Run("WithErr", func(t *testing.T) {
37 t.Parallel()
38
39 pubsub := pubsub.NewInMemory()
40 event := "test"
41 data := "testing"
42 messageChannel := make(chan []byte)
43 cancelFunc, err := pubsub.SubscribeWithErr(event, func(ctx context.Context, message []byte, err error) {
44 assert.NoError(t, err) // memory pubsub never sends errors.
45 messageChannel <- message
46 })
47 require.NoError(t, err)
48 defer cancelFunc()
49 go func() {
50 err = pubsub.Publish(event, []byte(data))
51 assert.NoError(t, err)
52 }()
53 message := <-messageChannel
54 assert.Equal(t, string(message), data)
55 })
56}

Callers

nothing calls this directly

Calls 5

RunMethod · 0.65
SubscribeMethod · 0.65
PublishMethod · 0.65
SubscribeWithErrMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected