test(cef): cover eager transcode seam
- commit
- e97d1315edd606ce4e61303baea27ce1c6e96c8d
- author
- brice · · 2026-04-11 13:21 UTC
- parent
- a8274e6
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
3 files · +15 -2
M internal/infrastructure/cef/engine_init.go +1 -1
| @@ -71,7 +71,7 @@ func NewEngine( | |||
| 71 | 71 | } | |
| 72 | 72 | os.Args = savedArgs | |
| 73 | 73 | ||
| 74 | - | return wireEngine(ctx, eng, cfg, transcodingCfg, windowlessFrameRate, audioFactory, logger, deps.MediaClassifier.normalize(), deps.CurrentConfigPayload, deps.DefaultConfigPayload) | |
| 74 | + | return wireEngine(ctx, eng, cfg, transcodingCfg, windowlessFrameRate, audioFactory, logger, deps.MediaClassifier, deps.CurrentConfigPayload, deps.DefaultConfigPayload) | |
| 75 | 75 | } | |
| 76 | 76 | ||
| 77 | 77 | func resolvedStateRoot(opts port.EngineOptions) string { | |
| @@ -71,7 +71,7 @@ func NewEngine( | |||||
| 71 | } | 71 | } | ||
| 72 | os.Args = savedArgs | 72 | os.Args = savedArgs | ||
| 73 | 73 | ||||
| 74 | - | return wireEngine(ctx, eng, cfg, transcodingCfg, windowlessFrameRate, audioFactory, logger, deps.MediaClassifier.normalize(), deps.CurrentConfigPayload, deps.DefaultConfigPayload) | 74 | + | return wireEngine(ctx, eng, cfg, transcodingCfg, windowlessFrameRate, audioFactory, logger, deps.MediaClassifier, deps.CurrentConfigPayload, deps.DefaultConfigPayload) |
| 75 | } | 75 | } | ||
| 76 | 76 | ||||
| 77 | func resolvedStateRoot(opts port.EngineOptions) string { | 77 | func resolvedStateRoot(opts port.EngineOptions) string { | ||
M internal/infrastructure/cef/transcoding_handler.go +1 -1
| @@ -200,7 +200,7 @@ func newTranscodingRequestHandler( | |||
| 200 | 200 | ) purecef.ResourceRequestHandler { | |
| 201 | 201 | return purecef.NewResourceRequestHandler(&transcodingRequestHandler{ | |
| 202 | 202 | transcoder: tc, | |
| 203 | - | classifier: classifier.normalize(), | |
| 203 | + | classifier: classifier, | |
| 204 | 204 | ctxf: ctxf, | |
| 205 | 205 | }) | |
| 206 | 206 | } | |
| @@ -200,7 +200,7 @@ func newTranscodingRequestHandler( | |||||
| 200 | ) purecef.ResourceRequestHandler { | 200 | ) purecef.ResourceRequestHandler { | ||
| 201 | return purecef.NewResourceRequestHandler(&transcodingRequestHandler{ | 201 | return purecef.NewResourceRequestHandler(&transcodingRequestHandler{ | ||
| 202 | transcoder: tc, | 202 | transcoder: tc, | ||
| 203 | - | classifier: classifier.normalize(), | 203 | + | classifier: classifier, |
| 204 | ctxf: ctxf, | 204 | ctxf: ctxf, | ||
| 205 | }) | 205 | }) | ||
| 206 | } | 206 | } | ||
M internal/infrastructure/cef/transcoding_handler_test.go +13 -0
| @@ -34,3 +34,16 @@ func TestResolveTranscodeSource_UsesInjectedClassifier(t *testing.T) { | |||
| 34 | 34 | require.Equal(t, "https://example.com", referer) | |
| 35 | 35 | require.Equal(t, "https://example.com", origin) | |
| 36 | 36 | } | |
| 37 | + | ||
| 38 | + | func TestResolveTranscodeSource_UsesEagerFallback(t *testing.T) { | |
| 39 | + | classifier := MediaClassifier{ | |
| 40 | + | ParseSyntheticTranscodeURL: func(string) (string, string, string, bool) { return "", "", "", false }, | |
| 41 | + | IsEagerTranscodeURL: func(string) bool { return true }, | |
| 42 | + | }.normalize() | |
| 43 | + | ||
| 44 | + | src, referer, origin, eager := resolveTranscodeSource(classifier, "https://cdn.example/video.mp4") | |
| 45 | + | require.True(t, eager) | |
| 46 | + | require.Equal(t, "https://cdn.example/video.mp4", src) | |
| 47 | + | require.Empty(t, referer) | |
| 48 | + | require.Empty(t, origin) | |
| 49 | + | } | |
| @@ -34,3 +34,16 @@ func TestResolveTranscodeSource_UsesInjectedClassifier(t *testing.T) { | |||||
| 34 | require.Equal(t, "https://example.com", referer) | 34 | require.Equal(t, "https://example.com", referer) | ||
| 35 | require.Equal(t, "https://example.com", origin) | 35 | require.Equal(t, "https://example.com", origin) | ||
| 36 | } | 36 | } | ||
| 37 | + | ||||
| 38 | + | func TestResolveTranscodeSource_UsesEagerFallback(t *testing.T) { | |||
| 39 | + | classifier := MediaClassifier{ | |||
| 40 | + | ParseSyntheticTranscodeURL: func(string) (string, string, string, bool) { return "", "", "", false }, | |||
| 41 | + | IsEagerTranscodeURL: func(string) bool { return true }, | |||
| 42 | + | }.normalize() | |||
| 43 | + | ||||
| 44 | + | src, referer, origin, eager := resolveTranscodeSource(classifier, "https://cdn.example/video.mp4") | |||
| 45 | + | require.True(t, eager) | |||
| 46 | + | require.Equal(t, "https://cdn.example/video.mp4", src) | |||
| 47 | + | require.Empty(t, referer) | |||
| 48 | + | require.Empty(t, origin) | |||
| 49 | + | } | |||