|
- package helper
-
- import (
- "testing"
-
- "github.com/stretchr/testify/require"
- )
-
- func TestDerivedInputMode(t *testing.T) {
- mode, err := derivedInputMode(map[string]any{}, nil)
- require.NoError(t, err)
- require.Equal(t, "t2v", mode)
-
- mode, err = derivedInputMode(map[string]any{"image": "frame.png"}, nil)
- require.NoError(t, err)
- require.Equal(t, "i2v", mode)
-
- mode, err = derivedInputMode(map[string]any{"image": "frame.png", "video": "clip.mp4"}, nil)
- require.NoError(t, err)
- require.Equal(t, "v2v", mode)
- }
-
- func TestDerivedVideoInput(t *testing.T) {
- value, err := derivedVideoInput(map[string]any{}, nil)
- require.NoError(t, err)
- require.Equal(t, false, value)
-
- value, err = derivedVideoInput(map[string]any{"video_url": "https://example.test/input.mp4"}, nil)
- require.NoError(t, err)
- require.Equal(t, true, value)
-
- value, err = derivedVideoInput(map[string]any{
- "metadata": map[string]any{
- "content": []any{
- map[string]any{
- "type": "video_url",
- "video_url": map[string]any{
- "url": "https://example.test/input.mp4",
- },
- },
- },
- },
- }, nil)
- require.NoError(t, err)
- require.Equal(t, true, value)
-
- value, err = derivedVideoInput(map[string]any{
- "metadata": `{"content":[{"type":"video_url","video_url":{"url":"https://example.test/input.mp4"}}]}`,
- }, nil)
- require.NoError(t, err)
- require.Equal(t, true, value)
-
- value, err = derivedVideoInput(map[string]any{
- "metadata": map[string]any{
- "content": []any{
- map[string]any{
- "type": "image_url",
- "image_url": map[string]any{
- "url": "https://example.test/input.png",
- },
- },
- },
- },
- }, nil)
- require.NoError(t, err)
- require.Equal(t, false, value)
- }
-
- func TestDerivedResolutionHelpers(t *testing.T) {
- mp, err := derivedMegapixels(map[string]any{"resolution": "1280x720"}, nil)
- require.NoError(t, err)
- require.InDelta(t, 0.9216, mp, 0.0001)
-
- ratio, err := derivedAspectRatio(map[string]any{"options": map[string]any{"size": "1280x720"}}, nil)
- require.NoError(t, err)
- require.Equal(t, "16:9", ratio)
- }
-
- func TestHasNonEmptyValue(t *testing.T) {
- require.False(t, hasNonEmptyValue(""))
- require.False(t, hasNonEmptyValue(" "))
- require.False(t, hasNonEmptyValue(nil))
- require.False(t, hasNonEmptyValue([]any{}))
- require.True(t, hasNonEmptyValue([]any{"x"}))
- require.True(t, hasNonEmptyValue("x"))
- require.True(t, hasNonEmptyValue(0))
- }
|