(t *testing.T)
| 34 | } |
| 35 | |
| 36 | func TestQueue_SendAndReceive(t *testing.T) { |
| 37 | q := New[*testMessage]("test", 10) |
| 38 | defer q.Close() |
| 39 | |
| 40 | received := make(chan *testMessage, 1) |
| 41 | q.RegisterHandler(func(ctx context.Context, msg *testMessage) error { |
| 42 | received <- msg |
| 43 | return nil |
| 44 | }) |
| 45 | |
| 46 | msg := &testMessage{ID: 1, Data: "hello"} |
| 47 | q.Send(context.Background(), msg) |
| 48 | |
| 49 | select { |
| 50 | case r := <-received: |
| 51 | if r.ID != msg.ID || r.Data != msg.Data { |
| 52 | t.Errorf("received message mismatch: got %+v, want %+v", r, msg) |
| 53 | } |
| 54 | case <-time.After(time.Second): |
| 55 | t.Fatal("timeout waiting for message") |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | func TestQueue_MultipleMessages(t *testing.T) { |
| 60 | q := New[*testMessage]("test", 10) |
nothing calls this directly
no test coverage detected