streamdata: optionally rename from alternate

This is useful for migration, or external downloads.

Signed-off-by: Yonah <contrib@gensokyo.uk>
This commit is contained in:
2026-03-19 17:49:31 +09:00
parent 70476f2c51
commit 0e534c06fe
2 changed files with 45 additions and 3 deletions

View File

@@ -194,7 +194,7 @@ func TestChannelBadMetadata(t *testing.T) {
})
}
func TestChannelAdd(t *testing.T) {
func TestChannel(t *testing.T) {
t.Parallel()
d := t.TempDir()
@@ -334,6 +334,28 @@ func TestChannelAdd(t *testing.T) {
t.Errorf("Perm: %#o", fi.Mode().Perm())
}
rf := streamdata.RenameFrom(path.Join(d, "alternate"))
if err := os.WriteFile(string(rf), []byte{0}, 0); err != nil {
t.Fatal(err)
}
if err := c.Add(&streamdata.Ident{Channel: 0xcafe}, func(*streamdata.VOD, io.Writer) error {
return rf
}); err != nil {
t.Fatalf("Add: error = %v", err)
}
if _, err := os.Stat(string(rf)); !errors.Is(err, os.ErrNotExist) {
t.Fatalf("Stat: error = %v", err)
}
if data, err := os.ReadFile(path.Join(
d,
"vod",
(&streamdata.Ident{Channel: 0xcafe}).String()+".mp4",
)); err != nil {
t.Fatal(err)
} else if string(data) != "\x00" {
t.Errorf("(rf) Add: %#v", data)
}
if err := os.Chmod(path.Join(d, "vod", wantIdent), 0); err != nil {
t.Fatal(err)
}