ScuttleBot

scuttlebot / internal / bots / bridge / bridge_test.go
Source Blame History 55 lines
24a217e… lmata 1 package bridge
24a217e… lmata 2
24a217e… lmata 3 import (
24a217e… lmata 4 "testing"
24a217e… lmata 5 "time"
24a217e… lmata 6 )
24a217e… lmata 7
24a217e… lmata 8 func TestUsersFiltersAndPrunesExpiredWebUsers(t *testing.T) {
24a217e… lmata 9 b := &Bot{
24a217e… lmata 10 nick: "bridge",
24a217e… lmata 11 webUserTTL: 5 * time.Minute,
24a217e… lmata 12 webUsers: map[string]map[string]time.Time{
24a217e… lmata 13 "#general": {
24a217e… lmata 14 "recent-user": time.Now().Add(-2 * time.Minute),
24a217e… lmata 15 "stale-user": time.Now().Add(-10 * time.Minute),
24a217e… lmata 16 },
24a217e… lmata 17 },
24a217e… lmata 18 }
24a217e… lmata 19
24a217e… lmata 20 got := b.Users("#general")
24a217e… lmata 21 if len(got) != 1 || got[0] != "recent-user" {
24a217e… lmata 22 t.Fatalf("Users() = %v, want [recent-user]", got)
24a217e… lmata 23 }
24a217e… lmata 24
24a217e… lmata 25 if _, ok := b.webUsers["#general"]["stale-user"]; ok {
24a217e… lmata 26 t.Fatalf("stale-user was not pruned from webUsers")
24a217e… lmata 27 }
24a217e… lmata 28 }
24a217e… lmata 29
24a217e… lmata 30 func TestSetWebUserTTLDefaultsNonPositiveValues(t *testing.T) {
24a217e… lmata 31 b := &Bot{}
24a217e… lmata 32
24a217e… lmata 33 b.SetWebUserTTL(0)
24a217e… lmata 34 if b.webUserTTL != defaultWebUserTTL {
24a217e… lmata 35 t.Fatalf("SetWebUserTTL(0) = %v, want %v", b.webUserTTL, defaultWebUserTTL)
24a217e… lmata 36 }
24a217e… lmata 37
24a217e… lmata 38 b.SetWebUserTTL(-1 * time.Minute)
24a217e… lmata 39 if b.webUserTTL != defaultWebUserTTL {
24a217e… lmata 40 t.Fatalf("SetWebUserTTL(-1m) = %v, want %v", b.webUserTTL, defaultWebUserTTL)
24a217e… lmata 41 }
24a217e… lmata 42 }
24a217e… lmata 43
24a217e… lmata 44 func TestTouchUserMarksNickActive(t *testing.T) {
24a217e… lmata 45 b := &Bot{webUsers: make(map[string]map[string]time.Time)}
24a217e… lmata 46
24a217e… lmata 47 b.TouchUser("#general", "codex-test")
24a217e… lmata 48
24a217e… lmata 49 if b.webUsers["#general"] == nil {
24a217e… lmata 50 t.Fatal("TouchUser did not initialize channel map")
24a217e… lmata 51 }
24a217e… lmata 52 if _, ok := b.webUsers["#general"]["codex-test"]; !ok {
24a217e… lmata 53 t.Fatal("TouchUser did not record nick")
24a217e… lmata 54 }
24a217e… lmata 55 }

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button