Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Oct 24, 2024
1 parent f8100ab commit 545bf1f
Showing 1 changed file with 46 additions and 43 deletions.
89 changes: 46 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,20 @@ Create a new file `app.py`:
```python
import strawberry


@strawberry.type
class User:
name: str
age: int


@strawberry.type
class Query:
@strawberry.field
def user(self) -> User:
return User(name="Patrick", age=100)


schema = strawberry.Schema(query=Query)
```

Expand Down Expand Up @@ -98,32 +101,31 @@ Strawberry provides built-in testing utilities through `BaseGraphQLTestClient`.
from strawberry.test import BaseGraphQLTestClient
import httpx


class HttpxTestClient(BaseGraphQLTestClient):
def __init__(self):
self.client = httpx.Client(base_url="http://localhost:8000")

def request(self, body: str, headers=None, files=None):
headers = headers or {}
response = self.client.post(
"/graphql",
json=body,
headers=headers,
files=files
)
response = self.client.post("/graphql", json=body, headers=headers, files=files)
return response.json()


def test_query():
client = HttpxTestClient()

response = client.query("""
{
user {
name
age
}

response = client.query(
"""
{
user {
name
age
}
}
""")

"""
)

assert response.data["user"]["name"] == "Patrick"
assert not response.errors
```
Expand All @@ -134,36 +136,35 @@ def test_query():
from strawberry.test import BaseGraphQLTestClient
from requests import Session


class RequestsTestClient(BaseGraphQLTestClient):
def __init__(self):
self.client = Session()
self.client.base_url = "http://localhost:8000"

def request(self, body: str, headers=None, files=None):
headers = headers or {}
response = self.client.post(
f"{self.client.base_url}/graphql",
json=body,
headers=headers,
files=files
f"{self.client.base_url}/graphql", json=body, headers=headers, files=files
)
return response.json()


def test_query_with_variables():
client = RequestsTestClient()

response = client.query(
"""
query GetUser($id: ID!) {
user(id: $id) {
name
age
}
query GetUser($id: ID!) {
user(id: $id) {
name
age
}
}
""",
variables={"id": "123"}
variables={"id": "123"},
)

assert response.data["user"]["name"] == "Patrick"
assert not response.errors
```
Expand All @@ -175,35 +176,37 @@ from strawberry.test import BaseGraphQLTestClient
import aiohttp
import asyncio


class AiohttpTestClient(BaseGraphQLTestClient):
def __init__(self):
self.base_url = "http://localhost:8000"

async def async_request(self, body: str, headers=None, files=None):
headers = headers or {}
async with aiohttp.ClientSession() as session:
async with session.post(
f"{self.base_url}/graphql",
json=body,
headers=headers
f"{self.base_url}/graphql", json=body, headers=headers
) as response:
return await response.json()

def request(self, body: str, headers=None, files=None):
return asyncio.run(self.async_request(body, headers, files))


def test_async_query():
client = AiohttpTestClient()

response = client.query("""
{
user {
name
age
}

response = client.query(
"""
{
user {
name
age
}
}
""")

"""
)

assert response.data["user"]["name"] == "Patrick"
assert not response.errors
```
Expand Down

0 comments on commit 545bf1f

Please sign in to comment.