From a4097c05f41b310510a23c5d06b30bd16ffcee0e Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Tue, 21 May 2019 17:30:39 +0200 Subject: [PATCH] added targets for testing --- Makefile | 15 +++++++++++++++ contentserver.graffle | Bin 0 -> 7838 bytes testing/client/client.go | 32 ++++++++++++++++++++++++++++++++ testing/server/server.go | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 contentserver.graffle create mode 100644 testing/client/client.go create mode 100644 testing/server/server.go diff --git a/Makefile b/Makefile index dd20b00..bc665ea 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,12 @@ build-docker: clean build-arch echo "# tagged container `cat .image_id` as $(IMAGE):$(TAG)" rm -vf .image_id .cacert.pem +build-testclient: + go build -o bin/testclient -i github.com/foomo/contentserver/testing/client + +build-testserver: + go build -o bin/testserver -i github.com/foomo/contentserver/testing/server + package: build pkg/build.sh @@ -46,6 +52,15 @@ test: bench: go test -run=none -bench=. ./... +run-testserver: + bin/testserver -json-file var/cse-globus-stage-b-with-main-section.json + +run-contentserver: + contentserver -var-dir var -webserver-address :9191 -address :9999 -log-level debug http://127.0.0.1:1234 + +clean-var: + rm var/contentserver-repo-2019* + # Profiling test-cpu-profile: diff --git a/contentserver.graffle b/contentserver.graffle new file mode 100644 index 0000000000000000000000000000000000000000..75addb694fe252646213483693202f7f577e7fac GIT binary patch literal 7838 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 literal 0 HcmV?d00001 diff --git a/testing/client/client.go b/testing/client/client.go new file mode 100644 index 0000000..b6884a7 --- /dev/null +++ b/testing/client/client.go @@ -0,0 +1,32 @@ +package main + +import ( + "log" + "time" + + "github.com/davecgh/go-spew/spew" + "github.com/foomo/contentserver/client" +) + +func main() { + serverAdr := "http://127.0.0.1:9191/contentserver" + c, errClient := client.NewHTTPClient(serverAdr) + if errClient != nil { + log.Fatal(errClient) + } + + for i := 1; i <= 50; i++ { + go func() { + log.Println("start update") + resp, errUpdate := c.Update() + if errUpdate != nil { + spew.Dump(resp) + log.Fatal(errUpdate) + } + log.Println(i, "update done", resp) + }() + time.Sleep(5 * time.Second) + } + + log.Println("done") +} diff --git a/testing/server/server.go b/testing/server/server.go new file mode 100644 index 0000000..588c158 --- /dev/null +++ b/testing/server/server.go @@ -0,0 +1,35 @@ +package main + +import ( + "flag" + "log" + "net/http" +) + +type testServer struct { + file string +} + +func main() { + + var ( + flagJSONFile = flag.String("json-file", "", "provide a json source file") + flagAddress = flag.String("addr", ":1234", "set the webserver address") + ) + flag.Parse() + + if *flagJSONFile == "" { + log.Fatal("js source file must be provided") + } + + ts := &testServer{ + file: *flagJSONFile, + } + + log.Println("start test server at", *flagAddress, "serving file:", ts.file) + log.Fatal(http.ListenAndServe(*flagAddress, ts)) +} + +func (ts *testServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { + http.ServeFile(w, r, ts.file) +}