github.com/HaswinVidanage/gqlgen@v0.8.1-0.20220609041233-69528c1bf712/example/starwars/benchmarks_test.go (about) 1 package starwars 2 3 import ( 4 "net/http/httptest" 5 "strings" 6 "testing" 7 8 "github.com/HaswinVidanage/gqlgen/example/starwars/generated" 9 "github.com/HaswinVidanage/gqlgen/handler" 10 ) 11 12 func BenchmarkSimpleQueryNoArgs(b *testing.B) { 13 server := handler.GraphQL(generated.NewExecutableSchema(NewResolver())) 14 15 q := `{"query":"{ search(text:\"Luke\") { ... on Human { starships { name } } } }"}` 16 17 var body strings.Reader 18 r := httptest.NewRequest("POST", "/graphql", &body) 19 20 b.ResetTimer() 21 rec := httptest.NewRecorder() 22 for i := 0; i < b.N; i++ { 23 body.Reset(q) 24 rec.Body.Reset() 25 server.ServeHTTP(rec, r) 26 if rec.Body.String() != `{"data":{"search":[{"starships":[{"name":"X-Wing"},{"name":"Imperial shuttle"}]}]}}` { 27 b.Fatalf("Unexpected response") 28 } 29 30 } 31 }