Browse Source

tests/e2e: test move-leader command with TLS

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 years ago
parent
commit
6d9cb7ac9a
1 changed files with 27 additions and 2 deletions
  1. 27 2
      tests/e2e/ctl_v3_move_leader_test.go

+ 27 - 2
tests/e2e/ctl_v3_move_leader_test.go

@@ -16,6 +16,7 @@ package e2e
 
 
 import (
 import (
 	"context"
 	"context"
+	"crypto/tls"
 	"fmt"
 	"fmt"
 	"os"
 	"os"
 	"testing"
 	"testing"
@@ -23,19 +24,42 @@ import (
 
 
 	"github.com/coreos/etcd/clientv3"
 	"github.com/coreos/etcd/clientv3"
 	"github.com/coreos/etcd/pkg/testutil"
 	"github.com/coreos/etcd/pkg/testutil"
+	"github.com/coreos/etcd/pkg/transport"
 	"github.com/coreos/etcd/pkg/types"
 	"github.com/coreos/etcd/pkg/types"
 )
 )
 
 
-func TestCtlV3MoveLeader(t *testing.T) {
+func TestCtlV3MoveLeaderSecure(t *testing.T) {
+	testCtlV3MoveLeader(t, configTLS)
+}
+
+func TestCtlV3MoveLeaderInsecure(t *testing.T) {
+	testCtlV3MoveLeader(t, configNoTLS)
+}
+
+func testCtlV3MoveLeader(t *testing.T, cfg etcdProcessClusterConfig) {
 	defer testutil.AfterTest(t)
 	defer testutil.AfterTest(t)
 
 
-	epc := setupEtcdctlTest(t, &configNoTLS, true)
+	epc := setupEtcdctlTest(t, &cfg, true)
 	defer func() {
 	defer func() {
 		if errC := epc.Close(); errC != nil {
 		if errC := epc.Close(); errC != nil {
 			t.Fatalf("error closing etcd processes (%v)", errC)
 			t.Fatalf("error closing etcd processes (%v)", errC)
 		}
 		}
 	}()
 	}()
 
 
+	var tcfg *tls.Config
+	if cfg.clientTLS == clientTLS {
+		tinfo := transport.TLSInfo{
+			CertFile:      certPath,
+			KeyFile:       privateKeyPath,
+			TrustedCAFile: caPath,
+		}
+		var err error
+		tcfg, err = tinfo.ClientConfig()
+		if err != nil {
+			t.Fatal(err)
+		}
+	}
+
 	var leadIdx int
 	var leadIdx int
 	var leaderID uint64
 	var leaderID uint64
 	var transferee uint64
 	var transferee uint64
@@ -43,6 +67,7 @@ func TestCtlV3MoveLeader(t *testing.T) {
 		cli, err := clientv3.New(clientv3.Config{
 		cli, err := clientv3.New(clientv3.Config{
 			Endpoints:   []string{ep},
 			Endpoints:   []string{ep},
 			DialTimeout: 3 * time.Second,
 			DialTimeout: 3 * time.Second,
+			TLS:         tcfg,
 		})
 		})
 		if err != nil {
 		if err != nil {
 			t.Fatal(err)
 			t.Fatal(err)