mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
e2e: test auth enabled with CN name cert
This commit is contained in:
parent
1d37154793
commit
f308a27e91
@ -280,6 +280,42 @@ func TestCtlV2Backup(t *testing.T) { // For https://github.com/coreos/etcd/issue
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCtlV2AuthWithCommonName(t *testing.T) {
|
||||||
|
defer testutil.AfterTest(t)
|
||||||
|
|
||||||
|
copiedCfg := configClientTLS
|
||||||
|
copiedCfg.clientCertAuthEnabled = true
|
||||||
|
|
||||||
|
epc := setupEtcdctlTest(t, &copiedCfg, false)
|
||||||
|
defer func() {
|
||||||
|
if err := epc.Close(); err != nil {
|
||||||
|
t.Fatalf("error closing etcd processes (%v)", err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
if err := etcdctlRoleAdd(epc, "testrole"); err != nil {
|
||||||
|
t.Fatalf("failed to add role (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlRoleGrant(epc, "testrole", "--rw", "--path=/foo"); err != nil {
|
||||||
|
t.Fatalf("failed to grant role (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlUserAdd(epc, "root", "123"); err != nil {
|
||||||
|
t.Fatalf("failed to add user (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlUserAdd(epc, "Autogenerated CA", "123"); err != nil {
|
||||||
|
t.Fatalf("failed to add user (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlUserGrant(epc, "Autogenerated CA", "testrole"); err != nil {
|
||||||
|
t.Fatalf("failed to grant role (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlAuthEnable(epc); err != nil {
|
||||||
|
t.Fatalf("failed to enable auth (%v)", err)
|
||||||
|
}
|
||||||
|
if err := etcdctlSet(epc, "foo", "bar"); err != nil {
|
||||||
|
t.Fatalf("failed to write (%v)", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func etcdctlPrefixArgs(clus *etcdProcessCluster) []string {
|
func etcdctlPrefixArgs(clus *etcdProcessCluster) []string {
|
||||||
endpoints := ""
|
endpoints := ""
|
||||||
if proxies := clus.proxies(); len(proxies) != 0 {
|
if proxies := clus.proxies(); len(proxies) != 0 {
|
||||||
@ -352,6 +388,13 @@ func etcdctlRoleAdd(clus *etcdProcessCluster, role string) error {
|
|||||||
return spawnWithExpect(cmdArgs, role)
|
return spawnWithExpect(cmdArgs, role)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func etcdctlRoleGrant(clus *etcdProcessCluster, role string, perms ...string) error {
|
||||||
|
cmdArgs := append(etcdctlPrefixArgs(clus), "role", "grant")
|
||||||
|
cmdArgs = append(cmdArgs, perms...)
|
||||||
|
cmdArgs = append(cmdArgs, role)
|
||||||
|
return spawnWithExpect(cmdArgs, role)
|
||||||
|
}
|
||||||
|
|
||||||
func etcdctlRoleList(clus *etcdProcessCluster, expectedRole string) error {
|
func etcdctlRoleList(clus *etcdProcessCluster, expectedRole string) error {
|
||||||
cmdArgs := append(etcdctlPrefixArgs(clus), "role", "list")
|
cmdArgs := append(etcdctlPrefixArgs(clus), "role", "list")
|
||||||
return spawnWithExpect(cmdArgs, expectedRole)
|
return spawnWithExpect(cmdArgs, expectedRole)
|
||||||
|
@ -149,13 +149,14 @@ type etcdProcessClusterConfig struct {
|
|||||||
|
|
||||||
snapCount int // default is 10000
|
snapCount int // default is 10000
|
||||||
|
|
||||||
clientTLS clientConnType
|
clientTLS clientConnType
|
||||||
isPeerTLS bool
|
clientCertAuthEnabled bool
|
||||||
isPeerAutoTLS bool
|
isPeerTLS bool
|
||||||
isClientAutoTLS bool
|
isPeerAutoTLS bool
|
||||||
forceNewCluster bool
|
isClientAutoTLS bool
|
||||||
initialToken string
|
forceNewCluster bool
|
||||||
quotaBackendBytes int64
|
initialToken string
|
||||||
|
quotaBackendBytes int64
|
||||||
}
|
}
|
||||||
|
|
||||||
// newEtcdProcessCluster launches a new cluster from etcd processes, returning
|
// newEtcdProcessCluster launches a new cluster from etcd processes, returning
|
||||||
@ -325,6 +326,10 @@ func (cfg *etcdProcessClusterConfig) tlsArgs() (args []string) {
|
|||||||
"--ca-file", caPath,
|
"--ca-file", caPath,
|
||||||
}
|
}
|
||||||
args = append(args, tlsClientArgs...)
|
args = append(args, tlsClientArgs...)
|
||||||
|
|
||||||
|
if cfg.clientCertAuthEnabled {
|
||||||
|
args = append(args, "--client-cert-auth")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user