integration: test grpc lock service

This commit is contained in:
Anthony Romano
2017-03-07 14:16:28 -08:00
parent ad1a790116
commit 300323fa50
2 changed files with 88 additions and 0 deletions

View File

@ -38,6 +38,9 @@ import (
"github.com/coreos/etcd/clientv3"
"github.com/coreos/etcd/etcdserver"
"github.com/coreos/etcd/etcdserver/api/v2http"
"github.com/coreos/etcd/etcdserver/api/v3client"
"github.com/coreos/etcd/etcdserver/api/v3lock"
lockpb "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb"
"github.com/coreos/etcd/etcdserver/api/v3rpc"
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
"github.com/coreos/etcd/pkg/testutil"
@ -459,6 +462,9 @@ type member struct {
grpcServer *grpc.Server
grpcAddr string
grpcBridge *bridge
// serverClient is a clientv3 that directly calls the etcdserver.
serverClient *clientv3.Client
}
func (m *member) GRPCAddr() string { return m.grpcAddr }
@ -652,6 +658,8 @@ func (m *member) Launch() error {
}
}
m.grpcServer = v3rpc.Server(m.s, tlscfg)
m.serverClient = v3client.New(m.s)
lockpb.RegisterLockServer(m.grpcServer, v3lock.NewLockServer(m.serverClient))
go m.grpcServer.Serve(m.grpcListener)
}
@ -695,6 +703,10 @@ func (m *member) Close() {
m.grpcBridge.Close()
m.grpcBridge = nil
}
if m.serverClient != nil {
m.serverClient.Close()
m.serverClient = nil
}
if m.grpcServer != nil {
m.grpcServer.Stop()
m.grpcServer = nil