hypothesis-graphql
Hypothesis strategies for GraphQL schemas, queries and data.
NOTE This package is experimental, some features are not supported yet.
Usage
There are two strategies for different use cases.
- Schema generation -
hypothesis_graphql.strategies.schema()
- Query -
hypothesis_graphql.strategies.query(schema)
.
Lets take this schema as an example:
type Book { title: String author: Author } type Author { name: String books: [Book] } type Query { getBooks: [Book] getAuthors: [Author] }
Then strategies might be used in this way:
from hypothesis import given
from hypothesis_graphql import strategies as gql_st
SCHEMA = "..." # the one above
@given(query=gql_st.query(SCHEMA))
def test_query(query):
...
# This query might be generated:
#
# query {
# getBooks {
# title
# }
# }