Log in to GraphQL Editor
GraphQL Query Generator by IBM
Tomek

Tomek Poniatowicz

7/22/2020

GraphQL Query Generator by IBM

GraphQL Query Generator is an interesting library brought to you by the IBM team, which's the main idea is to allow users to generate randomized GraphQL queries from any given GraphQL schema.

The first thought that comes to your mind might be:

"Why I may ever want a bunch of randomized queries?"

but giving it a second thought it might be quite useful. The team behind the GraphQL Query Generator suggested two basic use-cases for their library:

  • Engineering - when operating a GraphQL service you might find this library useful for:
    • developing a collection of test modules of GraphQL queries,
    • developing a test group of queries to check the effect of performance improvements,
  • Scientific - to learn about the characteristics of various GraphQL services.

Queries generation

The library provides two functions for generating random GraphQL queries, both expecting a GraphQL schema, as well as specific instructions provided in configuration object as an input:

  • getRandomQuery(schema: GraphQLSchema, config: Configuration) - this function produces a random query from the given schema, considering configuration passed as an input,

  • getRandomMutation(schema: GraphQLSchema, config: Configuration) - that produces a random mutation from the given schema, considering passed configuration.

Diagram representing how GraphQL Query Generator works

Source: github.com/IBM

The configuration object accepts a set of predefined properties i.e.:

  • maxDepth - that defines the maximum depths of the query/mutation to generate,
  • argumentsToIgnore - in which you can list arguments names that should be ignored,
  • considerInterfaces- which a signal for the generator that it should create queries containing interfaces,
  • considerUnions - that creates queries that contain unions etc.

The full list of available properties is available in the GraphQL Query Generator docs.

Sample GraphQL Query Generator configuration object

Sample configuration object

Source: github.com/IBM/graphql-query-generator

Great addition

GraphQL Query Generator is a great addition to the already broad spectrum of GraphQL tools. Its a relatively new library that is worth experimenting with as maybe you could find some other innovative ways it could be used by the GraphQL community.

Check out our other blogposts

GraphQL vs REST vs gRPC
Michał Tyszkiewicz
Michał Tyszkiewicz
GraphQL vs REST vs gRPC
4 min read
over 3 years ago
GraphQL vs REST - a vending machine example
Tomek Poniatowicz
Tomek Poniatowicz
GraphQL vs REST - a vending machine example
2 min read
over 4 years ago
Ready-to-use PWA solutions with GraphQL support
Aleksandra Kwiecień
Aleksandra Kwiecień
Ready-to-use PWA solutions with GraphQL support
3 min read
over 4 years ago

Ready for take-off?

Elevate your work with our editor that combines world-class visual graph, documentation and API console

Get Started with GraphQL Editor