mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-06-27 21:05:53 +00:00
66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
package server
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestExpiredCleanup(t *testing.T) {
|
|
const cmd = "test_command"
|
|
const channel = "trihex"
|
|
const channel2 = "twitch"
|
|
const channel3 = "360chrism"
|
|
const channel4 = "qa_partner"
|
|
|
|
DumpBacklogData()
|
|
defer DumpBacklogData()
|
|
|
|
var zeroTime time.Time
|
|
hourAgo := time.Now().Add(-1 * time.Hour)
|
|
now := time.Now()
|
|
hourFromNow := time.Now().Add(1 * time.Hour)
|
|
|
|
saveLastMessage(cmd, channel, hourAgo, "1", false)
|
|
saveLastMessage(cmd, channel2, now, "2", false)
|
|
|
|
if len(CachedLastMessages) != 1 {
|
|
t.Error("messages not saved")
|
|
}
|
|
if len(CachedLastMessages[cmd]) != 2 {
|
|
t.Error("messages not saved")
|
|
}
|
|
|
|
time.Sleep(2 * time.Millisecond)
|
|
|
|
cachedMessageJanitor_do()
|
|
|
|
if len(CachedLastMessages) != 0 {
|
|
t.Error("messages still present")
|
|
}
|
|
|
|
saveLastMessage(cmd, channel, hourAgo, "1", false)
|
|
saveLastMessage(cmd, channel2, now, "2", false)
|
|
saveLastMessage(cmd, channel3, hourFromNow, "3", false)
|
|
saveLastMessage(cmd, channel4, zeroTime, "4", false)
|
|
|
|
if len(CachedLastMessages[cmd]) != 4 {
|
|
t.Error("messages not saved")
|
|
}
|
|
|
|
time.Sleep(2 * time.Millisecond)
|
|
|
|
cachedMessageJanitor_do()
|
|
|
|
if len(CachedLastMessages) != 1 {
|
|
t.Error("messages not saved")
|
|
}
|
|
if len(CachedLastMessages[cmd]) != 2 {
|
|
t.Error("messages not saved")
|
|
}
|
|
if CachedLastMessages[cmd][channel3].Data != "3" {
|
|
t.Error("saved wrong message")
|
|
}
|
|
if CachedLastMessages[cmd][channel4].Data != "4" {
|
|
t.Error("saved wrong message")
|
|
}
|
|
}
|