MVP 1.0: IRC-over-HTTP chat server #10

Merged
sneak merged 18 commits from feature/mvp-1.0 into main 2026-02-27 07:21:35 +01:00
Showing only changes of commit d71d09c021 - Show all commits

View File

@@ -13,7 +13,6 @@ import (
"testing"
"time"
"git.eeqj.de/sneak/chat/internal/broker"
"git.eeqj.de/sneak/chat/internal/config"
"git.eeqj.de/sneak/chat/internal/db"
"git.eeqj.de/sneak/chat/internal/globals"
@@ -855,42 +854,4 @@ func TestNickBroadcastToChannels(t *testing.T) {
}
}
// Broker unit tests
func TestBrokerNotifyWithoutWaiters(t *testing.T) {
b := broker.New()
// Should not panic
b.Notify(999)
}
func TestBrokerWaitAndNotify(t *testing.T) {
b := broker.New()
ch := b.Wait(1)
go func() {
time.Sleep(50 * time.Millisecond)
b.Notify(1)
}()
select {
case <-ch:
// ok
case <-time.After(2 * time.Second):
t.Fatal("timeout waiting for notification")
}
}
func TestBrokerRemove(t *testing.T) {
b := broker.New()
ch := b.Wait(1)
b.Remove(1, ch)
// Notify should not send to removed channel
b.Notify(1)
select {
case <-ch:
t.Fatal("should not receive after remove")
case <-time.After(100 * time.Millisecond):
// ok
}
}
// Broker tests are in internal/broker/broker_test.go