test(coverage): raise engine+agent coverage above 50%
This commit is contained in:
parent
e89b647dfa
commit
bf18812a3d
10 changed files with 839 additions and 2 deletions
90
internal/engine/stream_source_test.go
Normal file
90
internal/engine/stream_source_test.go
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
package engine
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestParseBitrateKbps(t *testing.T) {
|
||||
cases := []struct {
|
||||
in string
|
||||
fb int
|
||||
want int
|
||||
}{
|
||||
{"", 5000, 5000},
|
||||
{"192k", 0, 192},
|
||||
{"192K", 0, 192},
|
||||
{"5M", 0, 5000},
|
||||
{"5m", 0, 5000},
|
||||
{"4500", 0, 4500},
|
||||
{"bogus", 100, 100},
|
||||
{"0k", 100, 100},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.in, func(t *testing.T) {
|
||||
if got := parseBitrateKbps(tc.in, tc.fb); got != tc.want {
|
||||
t.Errorf("parseBitrateKbps(%q,%d) = %d, want %d", tc.in, tc.fb, got, tc.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestEstimateOutputSize(t *testing.T) {
|
||||
if got := estimateOutputSize(nil, TranscodeOpts{}); got != 0 {
|
||||
t.Errorf("nil probe -> 0, got %d", got)
|
||||
}
|
||||
if got := estimateOutputSize(&StreamProbe{}, TranscodeOpts{}); got != 0 {
|
||||
t.Errorf("zero duration -> 0, got %d", got)
|
||||
}
|
||||
probe := &StreamProbe{DurationSec: 60}
|
||||
opts := TranscodeOpts{VideoBitrate: "5M", AudioBitrate: "192k"}
|
||||
// (5000 + 192) * 1000 / 8 = 649_000 bytes/s; *60 = 38_940_000
|
||||
got := estimateOutputSize(probe, opts)
|
||||
if got != 38_940_000 {
|
||||
t.Errorf("estimateOutputSize = %d, want 38_940_000", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDiskFileSourceLifecycle(t *testing.T) {
|
||||
tmp := t.TempDir()
|
||||
path := filepath.Join(tmp, "movie.bin")
|
||||
data := []byte("hello world")
|
||||
if err := os.WriteFile(path, data, 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
src, err := newDiskFileSource(path)
|
||||
if err != nil {
|
||||
t.Fatalf("newDiskFileSource: %v", err)
|
||||
}
|
||||
defer src.Close()
|
||||
|
||||
if src.Size() != int64(len(data)) {
|
||||
t.Errorf("Size = %d, want %d", src.Size(), len(data))
|
||||
}
|
||||
if src.EstimatedSize() != src.Size() {
|
||||
t.Errorf("EstimatedSize should equal Size for disk source")
|
||||
}
|
||||
if !src.Final() {
|
||||
t.Errorf("disk source should be Final")
|
||||
}
|
||||
if src.Transcoded() {
|
||||
t.Errorf("disk source should not report Transcoded")
|
||||
}
|
||||
if src.FileName() != "movie.bin" {
|
||||
t.Errorf("FileName = %q", src.FileName())
|
||||
}
|
||||
|
||||
buf := make([]byte, 5)
|
||||
n, err := src.ReadAt(buf, 6)
|
||||
if err != nil || n != 5 || string(buf) != "world" {
|
||||
t.Errorf("ReadAt = (%d,%v,%q), want (5,nil,'world')", n, err, buf)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDiskFileSourceMissing(t *testing.T) {
|
||||
if _, err := newDiskFileSource("/nonexistent/movie.bin"); err == nil {
|
||||
t.Error("expected error opening nonexistent file")
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue