diff options
| -rw-r--r-- | cmd/testclient/main.go | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/cmd/testclient/main.go b/cmd/testclient/main.go new file mode 100644 index 0000000..135cc3f --- /dev/null +++ b/cmd/testclient/main.go @@ -0,0 +1,49 @@ +package main + +import ( + "context" + "flag" + "fmt" + + generatorpb "go.nc0.fr/clawflake/api/nc0/clawflake/generator/v3" + + "go.uber.org/zap" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +var ( + serverAddr *string = flag.String("server", "localhost:5000", "Server URL") + amount *uint = flag.Uint("amount", 1, "Amount of ID numbers to generate.") +) + +func main() { + flag.Parse() + logger, _ := zap.NewDevelopment() + l := logger.Named("testclient").With(zap.String("server_addr", *serverAddr), zap.Uint("amount", *amount)) + + conn, err := grpc.Dial(*serverAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + l.Error("failed to connect to server", zap.Error(err)) + return + } + defer conn.Close() + + c := generatorpb.NewGeneratorServiceClient(conn) + l.Debug("created client") + + fmt.Println(*amount) + + ids, err := c.Generate(context.Background(), &generatorpb.GenerateRequest{ + Amount: uint32(*amount), + }) + if err != nil { + l.Error("failed to generate ID numbers", zap.Error(err)) + return + } + + l.Info("generated ID numbers") + for _, v := range ids.IdNumbers { + fmt.Println(v) + } +} |
