diff options
| author | n1c00o <n@nc0.fr> | 2023-02-06 21:55:20 +0100 |
|---|---|---|
| committer | Nicolas <34602094+n1c00o@users.noreply.github.com> | 2023-02-06 22:35:54 +0100 |
| commit | 38db6a4a74ce289744073de909124b49dc625100 (patch) | |
| tree | a905b0b669e9a1e80d3be15781545c8bec56038f | |
| parent | 90f58a5db6742ac8b43fc3be76fb2cf78b96f6b4 (diff) | |
Add testclient
Allows testing the generator service
| -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) + } +} |
