-
Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathconfig_test.go
45 lines (40 loc) · 935 Bytes
/
config_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package srv
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestCustomOptions(t *testing.T) {
testCases := []struct {
customOptions []interface{}
expectedResult error
}{
{
customOptions: []interface{}{"--verbose"},
expectedResult: nil,
},
{
customOptions: []interface{}{"--exclude-scheme=test_scheme"},
expectedResult: nil,
},
{
customOptions: []interface{}{`--exclude-scheme="test_scheme"`},
expectedResult: nil,
},
{
customOptions: []interface{}{"--table=$(echo 'test')"},
expectedResult: errInvalidOption,
},
{
customOptions: []interface{}{"--table=test&table"},
expectedResult: errInvalidOption,
},
{
customOptions: []interface{}{5},
expectedResult: errInvalidOptionType,
},
}
for _, tc := range testCases {
validationResult := validateCustomOptions(tc.customOptions)
require.ErrorIs(t, validationResult, tc.expectedResult)
}
}