e2e: add ClientTLSCertAuth coverage for curl v3 auth tests
@@ -73,6 +73,11 @@ func TestV3CurlAuth(t *testing.T) {
testCtl(t, testV3CurlAuth, withApiPrefix(p))
}
}
+func TestV3CurlAuthClientTLSCertAuth(t *testing.T) {
+ for _, p := range apiPrefix {
+ testCtl(t, testV3CurlAuth, withApiPrefix(p), withCfg(configClientTLSCertAuth))
+ }
+}
func testV3CurlPutGet(cx ctlCtx) {
var (
@@ -179,12 +184,21 @@ func testV3CurlTxn(cx ctlCtx) {
}
func testV3CurlAuth(cx ctlCtx) {
+ p := cx.apiPrefix
+
// create root user
- userreq, err := json.Marshal(&pb.AuthUserAddRequest{Name: string("root"), Password: string("toor")})
+ rootuser, err := json.Marshal(&pb.AuthUserAddRequest{Name: string("root"), Password: string("toor")})
testutil.AssertNil(cx.t, err)
- p := cx.apiPrefix
- if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/add"), value: string(userreq), expected: "revision"}); err != nil {
+ if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/add"), value: string(rootuser), expected: "revision"}); err != nil {
+ cx.t.Fatalf("failed testV3CurlAuth add user with curl (%v)", err)
+ }
+
+ // create non root user
+ nonrootuser, err := json.Marshal(&pb.AuthUserAddRequest{Name: string("example.com"), Password: string("example")})
+ testutil.AssertNil(cx.t, err)
+
+ if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/add"), value: string(nonrootuser), expected: "revision"}); err != nil {
cx.t.Fatalf("failed testV3CurlAuth add user with curl (%v)", err)
}
@@ -197,10 +211,18 @@ func testV3CurlAuth(cx ctlCtx) {
}
// grant root role
- grantrolereq, err := json.Marshal(&pb.AuthUserGrantRoleRequest{User: string("root"), Role: string("root")})
+ grantroleroot, err := json.Marshal(&pb.AuthUserGrantRoleRequest{User: string("root"), Role: string("root")})
+ testutil.AssertNil(cx.t, err)
+
+ if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/grant"), value: string(grantroleroot), expected: "revision"}); err != nil {
+ cx.t.Fatalf("failed testV3CurlAuth grant role with curl using prefix (%s) (%v)", p, err)
+ }
+
+ // grant non root user root role
+ grantrole, err := json.Marshal(&pb.AuthUserGrantRoleRequest{User: string("example.com"), Role: string("root")})
testutil.AssertNil(cx.t, err)
- if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/grant"), value: string(grantrolereq), expected: "revision"}); err != nil {
+ if err = cURLPost(cx.epc, cURLReq{endpoint: path.Join(p, "/auth/user/grant"), value: string(grantrole), expected: "revision"}); err != nil {
cx.t.Fatalf("failed testV3CurlAuth grant role with curl using prefix (%s) (%v)", p, err)
}
