From 48f4de0efb51f05598dbed75bb31064511fcadf2 Mon Sep 17 00:00:00 2001 From: Larry Ruane Date: Mon, 24 Feb 2020 11:29:13 -0700 Subject: [PATCH] add simple gRPC test client --- testclient/main.go | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 testclient/main.go diff --git a/testclient/main.go b/testclient/main.go new file mode 100644 index 0000000..02751b1 --- /dev/null +++ b/testclient/main.go @@ -0,0 +1,61 @@ +/* + * + * Copyright 2015 gRPC 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 main implements a client for Greeter service. +package main + +import ( + "context" + "log" + "sync" + "time" + + pb "github.com/zcash/lightwalletd/walletrpc" + "google.golang.org/grpc" +) + +const ( + address = "localhost:9067" +) + +func main() { + // Set up a connection to the server. + conn, err := grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock()) + if err != nil { + log.Fatalf("did not connect: %v", err) + } + defer conn.Close() + c := pb.NewCompactTxStreamerClient(conn) + + ctx, cancel := context.WithTimeout(context.Background(), 1000*time.Second) + defer cancel() + var wg sync.WaitGroup + simultaneous := 2 + wg.Add(simultaneous) + for i := 0; i < simultaneous; i++ { + go func() { + r, err := c.GetLightdInfo(ctx, &pb.Empty{}) + if err != nil { + log.Fatalf("could not greet: %v", err) + } + log.Printf("LightdInfo: %v", r) + wg.Done() + }() + } + wg.Wait() +}