Skip to content

Commit 260a017

Browse files
committed
multiflag: add simple testcases
Signed-off-by: Mustafa Abdelrahman <[email protected]>
1 parent f6f9efb commit 260a017

File tree

2 files changed

+41
-9
lines changed

2 files changed

+41
-9
lines changed

config/config_test.go

-9
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"github.com/zalando/skipper/filters/openpolicyagent"
1515
"github.com/zalando/skipper/net"
1616
"github.com/zalando/skipper/proxy"
17-
"gopkg.in/yaml.v2"
1817

1918
"github.com/google/go-cmp/cmp"
2019
"github.com/google/go-cmp/cmp/cmpopts"
@@ -482,11 +481,3 @@ func TestDeprecatedFlags(t *testing.T) {
482481
}
483482
}
484483
}
485-
486-
func TestMultiFlagYamlErr(t *testing.T) {
487-
m := &multiFlag{}
488-
err := yaml.Unmarshal([]byte(`foo=bar`), m)
489-
if err == nil {
490-
t.Error("Failed to get error on wrong yaml input")
491-
}
492-
}

config/multiflag_test.go

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package config
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
"github.com/stretchr/testify/require"
8+
"gopkg.in/yaml.v2"
9+
)
10+
11+
func TestMultiFlagSet(t *testing.T) {
12+
for _, tc := range []struct {
13+
name string
14+
args string
15+
values string
16+
}{
17+
{
18+
name: "single value",
19+
args: "foo=bar",
20+
values: "foo=bar",
21+
},
22+
{
23+
name: "multiple values",
24+
args: "foo=bar foo=baz foo=qux bar=baz",
25+
values: "foo=bar foo=baz foo=qux bar=baz",
26+
},
27+
} {
28+
t.Run(tc.name+"_valid", func(t *testing.T) {
29+
multiFlag := &multiFlag{}
30+
err := multiFlag.Set(tc.args)
31+
require.NoError(t, err)
32+
assert.Equal(t, tc.values, multiFlag.String())
33+
})
34+
}
35+
}
36+
37+
func TestMultiFlagYamlErr(t *testing.T) {
38+
m := &multiFlag{}
39+
err := yaml.Unmarshal([]byte(`-foo=bar`), m)
40+
require.Error(t, err, "Failed to get error on wrong yaml input")
41+
}

0 commit comments

Comments
 (0)