...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package embed
16
17 import (
18 "fmt"
19 "io/ioutil"
20 "net/url"
21 "os"
22 "testing"
23
24 "go.etcd.io/etcd/server/v3/auth"
25 )
26
27
28 func TestStartEtcdWrongToken(t *testing.T) {
29 tdir, err := ioutil.TempDir(t.TempDir(), "token-test")
30
31 if err != nil {
32 t.Fatal(err)
33 }
34
35 cfg := NewConfig()
36
37
38 urls := newEmbedURLs(2)
39 curls := []url.URL{urls[0]}
40 purls := []url.URL{urls[1]}
41 cfg.ListenClientUrls, cfg.AdvertiseClientUrls = curls, curls
42 cfg.ListenPeerUrls, cfg.AdvertisePeerUrls = purls, purls
43 cfg.InitialCluster = ""
44 for i := range purls {
45 cfg.InitialCluster += ",default=" + purls[i].String()
46 }
47 cfg.InitialCluster = cfg.InitialCluster[1:]
48 cfg.Dir = tdir
49 cfg.AuthToken = "wrong-token"
50
51 if _, err = StartEtcd(cfg); err != auth.ErrInvalidAuthOpts {
52 t.Fatalf("expected %v, got %v", auth.ErrInvalidAuthOpts, err)
53 }
54 }
55
56 func newEmbedURLs(n int) (urls []url.URL) {
57 scheme := "unix"
58 for i := 0; i < n; i++ {
59 u, _ := url.Parse(fmt.Sprintf("%s://localhost:%d%06d", scheme, os.Getpid(), i))
60 urls = append(urls, *u)
61 }
62 return urls
63 }
64
View as plain text