package vidhelpser import ( "encoding/json" "testing" "91porn-server/app/appg" "91porn-server/models/v/locmod" "91porn-server/models/v/vidmod" ) func TestH265URLForApp(t *testing.T) { oldConf := appg.Conf t.Cleanup(func() { appg.Conf = oldConf }) video := &vidmod.VideoModel{H265Url: "https://cdn.example.com/h265/index.m3u8"} if got := H265URLForApp(nil); got != "" { t.Fatalf("nil video returned %q", got) } appg.Conf = nil if got := H265URLForApp(video); got != video.H265Url { t.Fatalf("unconfigured switch returned %q", got) } disabled := false appg.Conf = &appg.GlobalConfig{} appg.Conf.Hevc.EnableApp = &disabled if got := H265URLForApp(video); got != "" { t.Fatalf("disabled switch returned %q", got) } enabled := true appg.Conf.Hevc.EnableApp = &enabled if got := H265URLForApp(video); got != video.H265Url { t.Fatalf("enabled switch returned %q", got) } } func TestTransfer2InfoIncludesH265URL(t *testing.T) { video := &vidmod.VideoModel{ SourceURL: "https://cdn.example.com/h264/index.m3u8", H265Url: "https://cdn.example.com/h265/index.m3u8", } info := transfer2Info( video, vidmod.Publisher{}, vidmod.VideoStatus{}, locmod.Location{}, nil, vidmod.CommentInfo{}, 0, ) data, err := json.Marshal(info) if err != nil { t.Fatalf("marshal video info: %v", err) } var response map[string]interface{} if err := json.Unmarshal(data, &response); err != nil { t.Fatalf("unmarshal video info response: %v", err) } if response["sourceURL"] != video.SourceURL { t.Fatalf("unexpected H.264 URL: %v", response["sourceURL"]) } if response["h265Url"] != video.H265Url { t.Fatalf("unexpected H.265 URL: %v", response["h265Url"]) } } func TestNewTransfer2InfoIncludesH265URL(t *testing.T) { video := &vidmod.VideoModel{ SourceURL: "https://cdn.example.com/h264/index.m3u8", H265Url: "https://cdn.example.com/h265/index.m3u8", } info := NewTransfer2Info( video, vidmod.Publisher{}, vidmod.VideoStatus{}, nil, 0, ) data, err := json.Marshal(info) if err != nil { t.Fatalf("marshal video info response: %v", err) } var response map[string]interface{} if err := json.Unmarshal(data, &response); err != nil { t.Fatalf("unmarshal video info response: %v", err) } if response["sourceURL"] != video.SourceURL { t.Fatalf("unexpected H.264 URL: %v", response["sourceURL"]) } if response["h265Url"] != video.H265Url { t.Fatalf("unexpected H.265 URL: %v", response["h265Url"]) } } func TestToVideoBaseInfoIncludesH265URL(t *testing.T) { video := &vidmod.VideoModel{ SourceURL: "https://cdn.example.com/h264/index.m3u8", H265Url: "https://cdn.example.com/h265/index.m3u8", } info := ToVideoBaseInfo(video, nil, 0) if info.SourceURL != video.SourceURL { t.Fatalf("unexpected H.264 URL: %q", info.SourceURL) } if info.H265Url != video.H265Url { t.Fatalf("unexpected H.265 URL: %q", info.H265Url) } }