|
|
@@ -21,9 +21,10 @@ import (
|
|
|
|
|
|
func Test_parseWatchArgs(t *testing.T) {
|
|
|
tt := []struct {
|
|
|
- osArgs []string // raw arguments to "watch" command
|
|
|
- commandArgs []string // arguments after "spf13/cobra" preprocessing
|
|
|
- interactive bool
|
|
|
+ osArgs []string // raw arguments to "watch" command
|
|
|
+ commandArgs []string // arguments after "spf13/cobra" preprocessing
|
|
|
+ envKey, envRange string
|
|
|
+ interactive bool
|
|
|
|
|
|
watchArgs []string
|
|
|
execArgs []string
|
|
|
@@ -45,6 +46,46 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: nil,
|
|
|
err: errBadArgsNumSeparator,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch"},
|
|
|
+ commandArgs: nil,
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: []string{"foo", "bar"},
|
|
|
+ execArgs: nil,
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "foo"},
|
|
|
+ commandArgs: []string{"foo"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: nil,
|
|
|
+ execArgs: nil,
|
|
|
+ err: errBadArgsNumConflictEnv,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "foo", "bar"},
|
|
|
+ commandArgs: []string{"foo", "bar"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: nil,
|
|
|
+ execArgs: nil,
|
|
|
+ err: errBadArgsNumConflictEnv,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "foo", "bar"},
|
|
|
+ commandArgs: []string{"foo", "bar"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: nil,
|
|
|
+ execArgs: nil,
|
|
|
+ err: errBadArgsNumConflictEnv,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "foo"},
|
|
|
commandArgs: []string{"foo"},
|
|
|
@@ -53,6 +94,15 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: nil,
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch"},
|
|
|
+ commandArgs: nil,
|
|
|
+ envKey: "foo",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: []string{"foo"},
|
|
|
+ execArgs: nil,
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "--rev", "1", "foo"},
|
|
|
commandArgs: []string{"foo"},
|
|
|
@@ -61,6 +111,24 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: nil,
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "--rev", "1", "foo"},
|
|
|
+ commandArgs: []string{"foo"},
|
|
|
+ envKey: "foo",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: nil,
|
|
|
+ execArgs: nil,
|
|
|
+ err: errBadArgsNumConflictEnv,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "--rev", "1"},
|
|
|
+ commandArgs: nil,
|
|
|
+ envKey: "foo",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: []string{"foo"},
|
|
|
+ execArgs: nil,
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "foo", "--rev", "1"},
|
|
|
commandArgs: []string{"foo"},
|
|
|
@@ -117,6 +185,35 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: []string{"echo", "Hello", "World"},
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "--rev", "1", "--", "echo", "Hello", "World"},
|
|
|
+ commandArgs: []string{"echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: []string{"foo"},
|
|
|
+ execArgs: []string{"echo", "Hello", "World"},
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "--rev", "1", "--", "echo", "Hello", "World"},
|
|
|
+ commandArgs: []string{"echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: []string{"foo", "bar"},
|
|
|
+ execArgs: []string{"echo", "Hello", "World"},
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "foo", "bar", "--rev", "1", "--", "echo", "Hello", "World"},
|
|
|
+ commandArgs: []string{"foo", "bar", "echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ interactive: false,
|
|
|
+ watchArgs: nil,
|
|
|
+ execArgs: nil,
|
|
|
+ err: errBadArgsNumConflictEnv,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
commandArgs: []string{"foo", "bar", "--", "echo", "Hello", "World"},
|
|
|
@@ -141,6 +238,26 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: nil,
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
+ commandArgs: []string{"watch"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: true,
|
|
|
+ watchArgs: []string{"foo", "bar"},
|
|
|
+ execArgs: nil,
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
+ commandArgs: []string{"watch"},
|
|
|
+ envKey: "hello world!",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: true,
|
|
|
+ watchArgs: []string{"hello world!", "bar"},
|
|
|
+ execArgs: nil,
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
commandArgs: []string{"watch", "foo", "--rev", "1"},
|
|
|
@@ -165,6 +282,25 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: []string{"echo", "Hello", "World"},
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
+ commandArgs: []string{"watch", "--", "echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ interactive: true,
|
|
|
+ watchArgs: []string{"foo"},
|
|
|
+ execArgs: []string{"echo", "Hello", "World"},
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
+ commandArgs: []string{"watch", "--", "echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: true,
|
|
|
+ watchArgs: []string{"foo", "bar"},
|
|
|
+ execArgs: []string{"echo", "Hello", "World"},
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
commandArgs: []string{"watch", "foo", "bar", "--", "echo", "Hello", "World"},
|
|
|
@@ -181,6 +317,16 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
execArgs: []string{"echo", "Hello", "World"},
|
|
|
err: nil,
|
|
|
},
|
|
|
+ {
|
|
|
+ osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
+ commandArgs: []string{"watch", "--rev", "1", "--", "echo", "Hello", "World"},
|
|
|
+ envKey: "foo",
|
|
|
+ envRange: "bar",
|
|
|
+ interactive: true,
|
|
|
+ watchArgs: []string{"foo", "bar"},
|
|
|
+ execArgs: []string{"echo", "Hello", "World"},
|
|
|
+ err: nil,
|
|
|
+ },
|
|
|
{
|
|
|
osArgs: []string{"./bin/etcdctl", "watch", "-i"},
|
|
|
commandArgs: []string{"watch", "foo", "--rev", "1", "bar", "--", "echo", "Hello", "World"},
|
|
|
@@ -199,7 +345,7 @@ func Test_parseWatchArgs(t *testing.T) {
|
|
|
},
|
|
|
}
|
|
|
for i, ts := range tt {
|
|
|
- watchArgs, execArgs, err := parseWatchArgs(ts.osArgs, ts.commandArgs, ts.interactive)
|
|
|
+ watchArgs, execArgs, err := parseWatchArgs(ts.osArgs, ts.commandArgs, ts.envKey, ts.envRange, ts.interactive)
|
|
|
if err != ts.err {
|
|
|
t.Fatalf("#%d: error expected %v, got %v", i, ts.err, err)
|
|
|
}
|