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 b57ed59 commit acc42b6
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 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 @@ -97,30 +100,29 @@ 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("""
response = client.query(
"""
{
user {
name
age
}
}
""")
"""
)
assert response.data["user"]["name"] == "Patrick"
assert not response.errors
```
Expand All @@ -131,6 +133,7 @@ def test_query():
from strawberry.test import BaseGraphQLTestClient
from requests import Session


class RequestsTestClient(BaseGraphQLTestClient):
def __init__(self):
self.client = Session()
Expand All @@ -139,13 +142,11 @@ class RequestsTestClient(BaseGraphQLTestClient):
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(
Expand All @@ -157,7 +158,7 @@ def test_query_with_variables():
}
}
""",
variables={"id": "123"}
variables={"id": "123"},
)
assert response.data["user"]["name"] == "Patrick"
assert not response.errors
Expand All @@ -170,6 +171,7 @@ from strawberry.test import BaseGraphQLTestClient
import aiohttp
import asyncio


class AiohttpTestClient(BaseGraphQLTestClient):
def __init__(self):
self.base_url = "http://localhost:8000"
Expand All @@ -178,25 +180,26 @@ class AiohttpTestClient(BaseGraphQLTestClient):
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("""
response = client.query(
"""
{
user {
name
age
}
}
""")
"""
)
assert response.data["user"]["name"] == "Patrick"
assert not response.errors
```
Expand Down

0 comments on commit acc42b6

Please sign in to comment.