32 lines
808 B
Go
32 lines
808 B
Go
package metrics
|
|
|
|
import (
|
|
tor2 "git.openprivacy.ca/cwtch.im/tapir/networks/tor"
|
|
"git.openprivacy.ca/openprivacy/log"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestMonitors(t *testing.T) {
|
|
log.SetLevel(log.LevelInfo)
|
|
os.RemoveAll("testLog")
|
|
os.Mkdir("testLog", 0700)
|
|
service := new(tor2.BaseOnionService)
|
|
mp := Monitors{}
|
|
mp.Start(service, func() int { return 1 }, "testLog", true)
|
|
mp.MessageCounter.Add(1)
|
|
log.Infof("sleeping for minute to give to for monitors to trigger...")
|
|
// wait a minute for it to trigger
|
|
time.Sleep(62 * time.Second)
|
|
|
|
// it didn't segfault? that's good, did it create a log file?
|
|
if _, err := os.Stat(filepath.Join("testLog", "serverMonitorReport.txt")); err != nil {
|
|
t.Errorf("serverMonitorReport.txt not generated")
|
|
}
|
|
|
|
mp.Stop()
|
|
os.RemoveAll("testLog")
|
|
}
|