contentserver/testing/client/client.go
Stefan Martinov 0e44ca809d
Deterministic Log Messaging & Refactoring (#26)
* feat: remove apex log from dependency list & upgrade deps

* chore: remove commented out code

* chore: remove high cardinality metric labels

* chore: add stack trace to failed repo requests

* chore: remove logging and return error instead

* chore: change log messages for contentserver

* chore: add constistent messages to content update routine

* feat: add runtime id, and multierr validator

* chore: rename history

* chore: golint fixes

* chore: simplify (golinter)

* chore: update go version

* chore: remove unused dependencies for new go

* chore: move content update to else statement

* chore: remove go-spew

* chore: bump go version to 1.18

* chore: remove alpine dep for updated deps

* chore: update go version and improve build

* chore: minor reformatting
2022-05-26 15:09:11 +02:00

58 lines
1.1 KiB
Go

package main
import (
"flag"
"log"
"time"
"github.com/foomo/contentserver/client"
)
var (
flagAddr = flag.String("addr", "http://127.0.0.1:9191/contentserver", "set addr")
flagGetRepo = flag.Bool("getRepo", false, "get repo")
flagUpdate = flag.Bool("update", true, "trigger content update")
flagNum = flag.Int("num", 100, "num repititions")
flagDelay = flag.Int("delay", 2, "delay in seconds")
)
func main() {
flag.Parse()
c, errClient := client.NewHTTPClient(*flagAddr)
if errClient != nil {
log.Fatal(errClient)
}
for i := 1; i <= *flagNum; i++ {
if *flagUpdate {
go func(num int) {
log.Println("start update")
resp, errUpdate := c.Update()
if errUpdate != nil {
log.Fatal(errUpdate)
}
log.Println(num, "update done", resp)
}(i)
}
if *flagGetRepo {
go func(num int) {
log.Println("GetRepo", num)
resp, err := c.GetRepo()
if err != nil {
// spew.Dump(resp)
log.Fatal("failed to get repo")
}
log.Println(num, "GetRepo done, got", len(resp), "dimensions")
}(i)
}
time.Sleep(time.Duration(*flagDelay) * time.Second)
}
log.Println("done!")
}