diff --git a/e2e/ctl_v3_make_mirror_test.go b/e2e/ctl_v3_make_mirror_test.go index e125f276c..8bb92e1d9 100644 --- a/e2e/ctl_v3_make_mirror_test.go +++ b/e2e/ctl_v3_make_mirror_test.go @@ -25,106 +25,38 @@ func TestCtlV3MakeMirrorModifyDestPrefix(t *testing.T) { testCtl(t, makeMirrorMo func TestCtlV3MakeMirrorNoDestPrefix(t *testing.T) { testCtl(t, makeMirrorNoDestPrefixTest) } func makeMirrorTest(cx ctlCtx) { - // set up another cluster to mirror with - cfg := configAutoTLS - cfg.clusterSize = 1 - cfg.basePort = 10000 - cx2 := ctlCtx{ - t: cx.t, - cfg: cfg, - dialTimeout: 7 * time.Second, - } - - epc, err := newEtcdProcessCluster(&cx2.cfg) - if err != nil { - cx.t.Fatalf("could not start etcd process cluster (%v)", err) - } - cx2.epc = epc - - defer func() { - if err = cx2.epc.Close(); err != nil { - cx.t.Fatalf("error closing etcd processes (%v)", err) - } - }() - - cmdArgs := append(cx.PrefixArgs(), "make-mirror", fmt.Sprintf("localhost:%d", cfg.basePort)) - proc, err := spawnCmd(cmdArgs) - if err != nil { - cx.t.Fatal(err) - } - defer func() { - err = proc.Stop() - if err != nil { - cx.t.Fatal(err) - } - }() - - var kvs = []kv{{"key1", "val1"}, {"key2", "val2"}, {"key3", "val3"}} - for i := range kvs { - if err = ctlV3Put(cx, kvs[i].key, kvs[i].val, ""); err != nil { - cx.t.Fatal(err) - } - } - if err = ctlV3Get(cx, []string{"key", "--prefix"}, kvs...); err != nil { - cx.t.Fatal(err) - } - if err = ctlV3Watch(cx2, []string{"key", "--rev", "1", "--prefix"}, kvs...); err != nil { - cx.t.Fatal(err) - } + var ( + flags = []string{} + kvs = []kv{{"key1", "val1"}, {"key2", "val2"}, {"key3", "val3"}} + prefix = "key" + ) + testMirrorCommand(cx, flags, kvs, kvs, prefix, prefix) } func makeMirrorModifyDestPrefixTest(cx ctlCtx) { - // set up another cluster to mirror with - mirrorcfg := configAutoTLS - mirrorcfg.clusterSize = 1 - mirrorcfg.basePort = 10000 - mirrorctx := ctlCtx{ - t: cx.t, - cfg: mirrorcfg, - dialTimeout: 7 * time.Second, - } - - mirrorepc, err := newEtcdProcessCluster(&mirrorctx.cfg) - if err != nil { - cx.t.Fatalf("could not start etcd process cluster (%v)", err) - } - mirrorctx.epc = mirrorepc - - defer func() { - if err = mirrorctx.epc.Close(); err != nil { - cx.t.Fatalf("error closing etcd processes (%v)", err) - } - }() - - cmdArgs := append(cx.PrefixArgs(), "make-mirror", "--prefix", "o_", "--dest-prefix", "d_", fmt.Sprintf("localhost:%d", mirrorcfg.basePort)) - proc, err := spawnCmd(cmdArgs) - if err != nil { - cx.t.Fatal(err) - } - defer func() { - err = proc.Stop() - if err != nil { - cx.t.Fatal(err) - } - }() - - var kvs = []kv{{"o_key1", "val1"}, {"o_key2", "val2"}, {"o_key3", "val3"}} - for i := range kvs { - if err = ctlV3Put(cx, kvs[i].key, kvs[i].val, ""); err != nil { - cx.t.Fatal(err) - } - } - if err = ctlV3Get(cx, []string{"o_", "--prefix"}, kvs...); err != nil { - cx.t.Fatal(err) - } - - var kvs2 = []kv{{"d_key1", "val1"}, {"d_key2", "val2"}, {"d_key3", "val3"}} - if err = ctlV3Watch(mirrorctx, []string{"d_", "--rev", "1", "--prefix"}, kvs2...); err != nil { - cx.t.Fatal(err) - } + var ( + flags = []string{"--prefix", "o_", "--dest-prefix", "d_"} + kvs = []kv{{"o_key1", "val1"}, {"o_key2", "val2"}, {"o_key3", "val3"}} + kvs2 = []kv{{"d_key1", "val1"}, {"d_key2", "val2"}, {"d_key3", "val3"}} + srcprefix = "o_" + destprefix = "d_" + ) + testMirrorCommand(cx, flags, kvs, kvs2, srcprefix, destprefix) } func makeMirrorNoDestPrefixTest(cx ctlCtx) { + var ( + flags = []string{"--prefix", "o_", "--no-dest-prefix"} + kvs = []kv{{"o_key1", "val1"}, {"o_key2", "val2"}, {"o_key3", "val3"}} + kvs2 = []kv{{"key1", "val1"}, {"key2", "val2"}, {"key3", "val3"}} + srcprefix = "o_" + destprefix = "key" + ) + + testMirrorCommand(cx, flags, kvs, kvs2, srcprefix, destprefix) +} + +func testMirrorCommand(cx ctlCtx, flags []string, sourcekvs, destkvs []kv, srcprefix, destprefix string) { // set up another cluster to mirror with mirrorcfg := configAutoTLS mirrorcfg.clusterSize = 1 @@ -147,7 +79,9 @@ func makeMirrorNoDestPrefixTest(cx ctlCtx) { } }() - cmdArgs := append(cx.PrefixArgs(), "make-mirror", "--prefix", "o_", "--no-dest-prefix", fmt.Sprintf("localhost:%d", mirrorcfg.basePort)) + cmdArgs := append(cx.PrefixArgs(), "make-mirror") + cmdArgs = append(cmdArgs, flags...) + cmdArgs = append(cmdArgs, fmt.Sprintf("localhost:%d", mirrorcfg.basePort)) proc, err := spawnCmd(cmdArgs) if err != nil { cx.t.Fatal(err) @@ -159,18 +93,16 @@ func makeMirrorNoDestPrefixTest(cx ctlCtx) { } }() - var kvs = []kv{{"o_key1", "val1"}, {"o_key2", "val2"}, {"o_key3", "val3"}} - for i := range kvs { - if err = ctlV3Put(cx, kvs[i].key, kvs[i].val, ""); err != nil { + for i := range sourcekvs { + if err = ctlV3Put(cx, sourcekvs[i].key, sourcekvs[i].val, ""); err != nil { cx.t.Fatal(err) } } - if err = ctlV3Get(cx, []string{"o_", "--prefix"}, kvs...); err != nil { + if err = ctlV3Get(cx, []string{srcprefix, "--prefix"}, sourcekvs...); err != nil { cx.t.Fatal(err) } - var kvs2 = []kv{{"key1", "val1"}, {"key2", "val2"}, {"key3", "val3"}} - if err = ctlV3Watch(mirrorctx, []string{"key", "--rev", "1", "--prefix"}, kvs2...); err != nil { + if err = ctlV3Watch(mirrorctx, []string{destprefix, "--rev", "1", "--prefix"}, destkvs...); err != nil { cx.t.Fatal(err) } }