| 123456789101112131415161718192021222324252627 |
- package parking
- import (
- "testing"
- "time"
- )
- func TestCameraStreamSessionPublishesOneSourceToAllSubscribers(t *testing.T) {
- hub := newCameraStreamHub()
- session := newCameraStreamSession(hub, cameraStreamConfig{DeviceCode: "CAM-TEST"})
- _, first := session.addSubscriber()
- _, second := session.addSubscriber()
- frame := []byte("--ffmpeg\r\nContent-Type: image/jpeg\r\n\r\nframe")
- session.publish(frame)
- for _, subscriber := range []<-chan []byte{first, second} {
- select {
- case received := <-subscriber:
- if string(received) != string(frame) {
- t.Fatalf("published frame = %q, want %q", received, frame)
- }
- case <-time.After(time.Second):
- t.Fatal("subscriber did not receive the shared frame")
- }
- }
- }
|