(t *testing.T)
| 223 | } |
| 224 | |
| 225 | func TestBrokerMultipleWrites(t *testing.T) { |
| 226 | broker1, broker2 := setupBrokerPair() |
| 227 | |
| 228 | reader, meta := broker1.CreateStreamReader("reader1", "writer1", 1024) |
| 229 | writer, err := broker2.CreateStreamWriter(meta) |
| 230 | if err != nil { |
| 231 | t.Fatalf("CreateStreamWriter failed: %v", err) |
| 232 | } |
| 233 | |
| 234 | messages := []string{"First", "Second", "Third"} |
| 235 | for _, msg := range messages { |
| 236 | _, err := writer.Write([]byte(msg)) |
| 237 | if err != nil { |
| 238 | t.Fatalf("Write failed: %v", err) |
| 239 | } |
| 240 | } |
| 241 | |
| 242 | expected := "FirstSecondThird" |
| 243 | buf := make([]byte, len(expected)) |
| 244 | totalRead := 0 |
| 245 | for totalRead < len(expected) { |
| 246 | n, err := reader.Read(buf[totalRead:]) |
| 247 | if err != nil { |
| 248 | t.Fatalf("Read failed: %v", err) |
| 249 | } |
| 250 | totalRead += n |
| 251 | } |
| 252 | |
| 253 | if string(buf) != expected { |
| 254 | t.Fatalf("Expected %q, got %q", expected, string(buf)) |
| 255 | } |
| 256 | |
| 257 | writer.Close() |
| 258 | } |
| 259 | |
| 260 | func TestBrokerCleanup(t *testing.T) { |
| 261 | broker1, broker2 := setupBrokerPair() |
nothing calls this directly
no test coverage detected