events_test.go 573 B

1234567891011121314151617181920212223242526272829303132
  1. package gocql
  2. import (
  3. "net"
  4. "sync"
  5. "testing"
  6. )
  7. func TestEventDebounce(t *testing.T) {
  8. const eventCount = 150
  9. wg := &sync.WaitGroup{}
  10. wg.Add(1)
  11. eventsSeen := 0
  12. debouncer := newEventDeouncer("testDebouncer", func(events []frame) {
  13. defer wg.Done()
  14. eventsSeen += len(events)
  15. })
  16. for i := 0; i < eventCount; i++ {
  17. debouncer.debounce(&statusChangeEventFrame{
  18. change: "UP",
  19. host: net.IPv4(127, 0, 0, 1),
  20. port: 9042,
  21. })
  22. }
  23. wg.Wait()
  24. if eventCount != eventsSeen {
  25. t.Fatalf("expected to see %d events but got %d", eventCount, eventsSeen)
  26. }
  27. }