Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
package updownctrl
import (
"net/url"
"strings"
"testing"
"time"
"91porn-server/common/hevcpull"
)
func TestSignedTranscodeChildPlaylistURI(t *testing.T) {
now := time.Date(2026, 7, 25, 12, 0, 0, 0, time.UTC)
expiresAt := now.Add(time.Hour)
secret := "test-pull-secret-strong-32-bytes!!"
childURI, err := signedTranscodeChildPlaylistURI(
"sp/movie/master.m3u8",
"720/index.m3u8",
secret,
expiresAt,
)
if err != nil {
t.Fatalf("signedTranscodeChildPlaylistURI failed: %v", err)
}
if !strings.HasPrefix(childURI, transcodeM3u8RoutePrefix+"sp/movie/720/index.m3u8?") {
t.Fatalf("unexpected child URI: %s", childURI)
}
parsed, err := url.Parse("https://app.example.com" + childURI)
if err != nil {
t.Fatalf("parse child URI: %v", err)
}
if err = hevcpull.VerifyURL(parsed, secret, now); err != nil {
t.Fatalf("child URI signature failed: %v", err)
}
if _, err = signedTranscodeChildPlaylistURI(
"sp/movie/master.m3u8",
"https://external.example.com/index.m3u8",
secret,
expiresAt,
); err == nil {
t.Fatal("absolute child playlist was accepted")
}
}
func TestTranscodePlaybackSourcePreservesExistingM3u8Semantics(t *testing.T) {
for _, source := range []string{
"sp/movie/index.m3u8",
"pms/movie/index.m3u8",
"laosiji/m3m/movie/index.m3u8",
} {
got := transcodePlaybackSource(source)
if got != "/"+source {
t.Fatalf("transcodePlaybackSource(%q) = %q", source, got)
}
}
}