Started reworking skaldctl. Give room status along with room name.

This commit is contained in:
Storm Dragon
2026-05-30 22:46:32 -04:00
parent 4f35f4b933
commit 26c7808587
15 changed files with 639 additions and 556 deletions
+35
View File
@@ -8,6 +8,7 @@ import (
"strings"
"testing"
"git.stormux.org/storm/skald/diskwriter"
"git.stormux.org/storm/skald/hall"
"git.stormux.org/storm/skald/token"
"git.stormux.org/storm/skald/unbounded"
@@ -56,6 +57,40 @@ func TestParseStatefulToken(t *testing.T) {
}
}
func TestHallRecording(t *testing.T) {
oldDirectory := hall.Directory
hall.Directory = t.TempDir()
defer func() {
hall.Directory = oldDirectory
}()
if err := os.WriteFile(
filepath.Join(hall.Directory, "recording-status-test.json"),
[]byte("{}"), 0o600,
); err != nil {
t.Fatalf("Write hall description: %v", err)
}
g, err := hall.Add("recording-status-test", nil)
if err != nil {
t.Fatalf("Add hall: %v", err)
}
defer hall.Delete(g.Name())
if hallRecording(g) {
t.Fatal("empty hall reported active recording")
}
disk := diskwriter.New(g)
if _, err := hall.AddClient(g.Name(), disk, hall.ClientCredentials{}); err != nil {
t.Fatalf("Add recording client: %v", err)
}
defer hall.DelClient(disk)
if !hallRecording(g) {
t.Fatal("hall did not report active recording")
}
}
func testWebClient(id string) *webClient {
return &webClient{
id: id,