|
2 | 2 |
|
3 | 3 | from jinja2 import Environment |
4 | 4 |
|
5 | | -from .util import app, client, url_string, create_app |
| 5 | +from .app import create_app |
| 6 | +from .util import app, client, url_string |
6 | 7 |
|
7 | 8 |
|
8 | | -@pytest.mark.parametrize('app', [create_app(graphiql=True)]) |
9 | | -def test_graphiql_is_enabled(app, client): |
10 | | - response = client.get(app, uri=url_string(), headers={'Accept': 'text/html'}) |
11 | | - assert response.status == 200 |
12 | | - |
13 | | - |
14 | | -@pytest.mark.parametrize('app', [create_app(graphiql=True)]) |
15 | | -def test_graphiql_simple_renderer(app, client): |
16 | | - response = client.get(app, uri=url_string(query='{test}'), headers={'Accept': 'text/html'}) |
17 | | - assert response.status == 200 |
18 | | - pretty_response = ( |
| 9 | +@pytest.fixture |
| 10 | +def pretty_response(): |
| 11 | + return ( |
19 | 12 | '{\n' |
20 | 13 | ' "data": {\n' |
21 | 14 | ' "test": "Hello World"\n' |
22 | 15 | ' }\n' |
23 | 16 | '}' |
24 | 17 | ).replace('\"','\\\"').replace('\n', '\\n') |
25 | 18 |
|
26 | | - assert pretty_response in response.body.decode('utf-8') |
| 19 | + |
| 20 | +@pytest.mark.parametrize('app', [ |
| 21 | + (create_app(async_executor=False, graphiql=True)), |
| 22 | + (create_app(async_executor=True, graphiql=True)), |
| 23 | +]) |
| 24 | +def test_graphiql_is_enabled(app, client): |
| 25 | + response = client.get(app, uri=url_string(), headers={'Accept': 'text/html'}) |
| 26 | + assert response.status == 200 |
27 | 27 |
|
28 | 28 |
|
29 | | -@pytest.mark.parametrize('app', [create_app(graphiql=True, jinja_env=Environment())]) |
30 | | -def test_graphiql_jinja_renderer(app, client): |
| 29 | +@pytest.mark.parametrize('app', [ |
| 30 | + (create_app(async_executor=False, graphiql=True)), |
| 31 | + (create_app(async_executor=True, graphiql=True)), |
| 32 | +]) |
| 33 | +def test_graphiql_simple_renderer(app, client, pretty_response): |
31 | 34 | response = client.get(app, uri=url_string(query='{test}'), headers={'Accept': 'text/html'}) |
32 | 35 | assert response.status == 200 |
33 | | - pretty_response = ( |
34 | | - '{\n' |
35 | | - ' "data": {\n' |
36 | | - ' "test": "Hello World"\n' |
37 | | - ' }\n' |
38 | | - '}' |
39 | | - ).replace('\"','\\\"').replace('\n', '\\n') |
40 | | - |
41 | 36 | assert pretty_response in response.body.decode('utf-8') |
42 | 37 |
|
43 | 38 |
|
44 | | -@pytest.mark.parametrize('app', [create_app(graphiql=True, jinja_env=Environment(enable_async=True))]) |
45 | | -def test_graphiql_jinja_async_renderer(app, client): |
| 39 | +@pytest.mark.parametrize('app', [ |
| 40 | + (create_app(async_executor=False, graphiql=True, jinja_env=Environment())), |
| 41 | + (create_app(async_executor=True, graphiql=True, jinja_env=Environment())), |
| 42 | +]) |
| 43 | +def test_graphiql_jinja_renderer(app, client, pretty_response): |
46 | 44 | response = client.get(app, uri=url_string(query='{test}'), headers={'Accept': 'text/html'}) |
47 | 45 | assert response.status == 200 |
48 | | - pretty_response = ( |
49 | | - '{\n' |
50 | | - ' "data": {\n' |
51 | | - ' "test": "Hello World"\n' |
52 | | - ' }\n' |
53 | | - '}' |
54 | | - ).replace('\"','\\\"').replace('\n', '\\n') |
| 46 | + assert pretty_response in response.body.decode('utf-8') |
55 | 47 |
|
| 48 | + |
| 49 | +@pytest.mark.parametrize('app', [ |
| 50 | + (create_app(async_executor=False, graphiql=True, jinja_env=Environment(enable_async=True))), |
| 51 | + (create_app(async_executor=True, graphiql=True, jinja_env=Environment(enable_async=True))), |
| 52 | +]) |
| 53 | +def test_graphiql_jinja_async_renderer(app, client, pretty_response): |
| 54 | + response = client.get(app, uri=url_string(query='{test}'), headers={'Accept': 'text/html'}) |
| 55 | + assert response.status == 200 |
56 | 56 | assert pretty_response in response.body.decode('utf-8') |
57 | 57 |
|
58 | 58 |
|
59 | | -@pytest.mark.parametrize('app', [create_app(graphiql=True)]) |
| 59 | +@pytest.mark.parametrize('app', [ |
| 60 | + (create_app(async_executor=False, graphiql=True, jinja_env=Environment())), |
| 61 | + (create_app(async_executor=True, graphiql=True, jinja_env=Environment())), |
| 62 | +]) |
60 | 63 | def test_graphiql_html_is_not_accepted(app, client): |
61 | 64 | response = client.get(app, uri=url_string(), headers={'Accept': 'application/json'}) |
62 | 65 | assert response.status == 400 |
0 commit comments