Files
core/ffmpeg/validator_test.go
Jan Stabenow 9c0b535199 Add v16.7.2
2022-05-13 19:26:45 +02:00

51 lines
1.3 KiB
Go

package ffmpeg
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestValidatorNew(t *testing.T) {
var err error
_, err = NewValidator([]string{}, []string{})
require.NoError(t, err)
_, err = NewValidator([]string{"^https?://", "^rtmp://", ""}, []string{})
require.NoError(t, err)
_, err = NewValidator([]string{}, []string{"^https?://", "^rtmp://", ""})
require.NoError(t, err)
}
func TestValidatorError(t *testing.T) {
var err error
_, err = NewValidator([]string{}, []string{})
require.NoError(t, err)
_, err = NewValidator([]string{"^(foobar"}, []string{})
require.Error(t, err, "should not accept invalid expression")
_, err = NewValidator([]string{}, []string{"^(foobar"})
require.Error(t, err, "should not accept invalid expression")
}
func TestValidatorNoExpressions(t *testing.T) {
valider, _ := NewValidator([]string{}, []string{})
require.Equal(t, true, valider.IsValid("foobar"), "Expression should be allowed")
}
func TestValidatorAllowBlock(t *testing.T) {
valider, _ := NewValidator([]string{"^rtmps?://"}, []string{"^https?://"})
require.Equal(t, true, valider.IsValid("rtmp://"), "Expression should be allowed")
if valider.IsValid("rtmp://") == false {
t.Errorf("Allowed expression should be allowed")
}
require.Equal(t, false, valider.IsValid("http://"), "Unallowed expression should be blocked")
}