mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #8072 from heyitsanthony/auth-proxy-test
integration: test auth layer in grpc proxy tests
This commit is contained in:
commit
3a6180d490
@ -21,7 +21,6 @@ import (
|
||||
|
||||
"github.com/coreos/etcd/clientv3"
|
||||
"github.com/coreos/etcd/clientv3/namespace"
|
||||
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
||||
"github.com/coreos/etcd/proxy/grpcproxy"
|
||||
"github.com/coreos/etcd/proxy/grpcproxy/adapter"
|
||||
)
|
||||
@ -58,6 +57,7 @@ func toGRPC(c *clientv3.Client) grpcAPI {
|
||||
lp, lpch := grpcproxy.NewLeaseProxy(c)
|
||||
mp := grpcproxy.NewMaintenanceProxy(c)
|
||||
clp, _ := grpcproxy.NewClusterProxy(c, "", "") // without registering proxy URLs
|
||||
authp := grpcproxy.NewAuthProxy(c)
|
||||
lockp := grpcproxy.NewLockProxy(c)
|
||||
electp := grpcproxy.NewElectionProxy(c)
|
||||
|
||||
@ -67,7 +67,7 @@ func toGRPC(c *clientv3.Client) grpcAPI {
|
||||
adapter.LeaseServerToLeaseClient(lp),
|
||||
adapter.WatchServerToWatchClient(wp),
|
||||
adapter.MaintenanceServerToMaintenanceClient(mp),
|
||||
pb.NewAuthClient(c.ActiveConnection()),
|
||||
adapter.AuthServerToAuthClient(authp),
|
||||
adapter.LockServerToLockClient(lockp),
|
||||
adapter.ElectionServerToElectionClient(electp),
|
||||
}
|
||||
|
91
proxy/grpcproxy/adapter/auth_client_adapter.go
Normal file
91
proxy/grpcproxy/adapter/auth_client_adapter.go
Normal file
@ -0,0 +1,91 @@
|
||||
// Copyright 2017 The etcd Authors
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package adapter
|
||||
|
||||
import (
|
||||
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
||||
"golang.org/x/net/context"
|
||||
grpc "google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type as2ac struct{ as pb.AuthServer }
|
||||
|
||||
func AuthServerToAuthClient(as pb.AuthServer) pb.AuthClient {
|
||||
return &as2ac{as}
|
||||
}
|
||||
|
||||
func (s *as2ac) AuthEnable(ctx context.Context, in *pb.AuthEnableRequest, opts ...grpc.CallOption) (*pb.AuthEnableResponse, error) {
|
||||
return s.as.AuthEnable(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) AuthDisable(ctx context.Context, in *pb.AuthDisableRequest, opts ...grpc.CallOption) (*pb.AuthDisableResponse, error) {
|
||||
return s.as.AuthDisable(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) Authenticate(ctx context.Context, in *pb.AuthenticateRequest, opts ...grpc.CallOption) (*pb.AuthenticateResponse, error) {
|
||||
return s.as.Authenticate(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleAdd(ctx context.Context, in *pb.AuthRoleAddRequest, opts ...grpc.CallOption) (*pb.AuthRoleAddResponse, error) {
|
||||
return s.as.RoleAdd(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleDelete(ctx context.Context, in *pb.AuthRoleDeleteRequest, opts ...grpc.CallOption) (*pb.AuthRoleDeleteResponse, error) {
|
||||
return s.as.RoleDelete(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleGet(ctx context.Context, in *pb.AuthRoleGetRequest, opts ...grpc.CallOption) (*pb.AuthRoleGetResponse, error) {
|
||||
return s.as.RoleGet(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleList(ctx context.Context, in *pb.AuthRoleListRequest, opts ...grpc.CallOption) (*pb.AuthRoleListResponse, error) {
|
||||
return s.as.RoleList(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleRevokePermission(ctx context.Context, in *pb.AuthRoleRevokePermissionRequest, opts ...grpc.CallOption) (*pb.AuthRoleRevokePermissionResponse, error) {
|
||||
return s.as.RoleRevokePermission(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) RoleGrantPermission(ctx context.Context, in *pb.AuthRoleGrantPermissionRequest, opts ...grpc.CallOption) (*pb.AuthRoleGrantPermissionResponse, error) {
|
||||
return s.as.RoleGrantPermission(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserDelete(ctx context.Context, in *pb.AuthUserDeleteRequest, opts ...grpc.CallOption) (*pb.AuthUserDeleteResponse, error) {
|
||||
return s.as.UserDelete(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserAdd(ctx context.Context, in *pb.AuthUserAddRequest, opts ...grpc.CallOption) (*pb.AuthUserAddResponse, error) {
|
||||
return s.as.UserAdd(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserGet(ctx context.Context, in *pb.AuthUserGetRequest, opts ...grpc.CallOption) (*pb.AuthUserGetResponse, error) {
|
||||
return s.as.UserGet(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserList(ctx context.Context, in *pb.AuthUserListRequest, opts ...grpc.CallOption) (*pb.AuthUserListResponse, error) {
|
||||
return s.as.UserList(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserGrantRole(ctx context.Context, in *pb.AuthUserGrantRoleRequest, opts ...grpc.CallOption) (*pb.AuthUserGrantRoleResponse, error) {
|
||||
return s.as.UserGrantRole(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserRevokeRole(ctx context.Context, in *pb.AuthUserRevokeRoleRequest, opts ...grpc.CallOption) (*pb.AuthUserRevokeRoleResponse, error) {
|
||||
return s.as.UserRevokeRole(ctx, in)
|
||||
}
|
||||
|
||||
func (s *as2ac) UserChangePassword(ctx context.Context, in *pb.AuthUserChangePasswordRequest, opts ...grpc.CallOption) (*pb.AuthUserChangePasswordResponse, error) {
|
||||
return s.as.UserChangePassword(ctx, in)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user