import json def format_response(response): return json.loads(response.content.decode()) def test_client_get_good_query(settings, client): settings.ROOT_URLCONF = 'graphene_django.tests.urls' response = client.get('/graphql', {'query': '{ human { headline } }'}) json_response = format_response(response) expected_json = { 'data': { 'human': { 'headline': None } } } assert json_response == expected_json def test_client_get_good_query_with_raise(settings, client): settings.ROOT_URLCONF = 'graphene_django.tests.urls' response = client.get('/graphql', {'query': '{ human { raises } }'}) json_response = format_response(response) assert json_response['errors'][0]['message'] == 'This field should raise exception' assert json_response['data']['human']['raises'] is None def test_client_post_good_query_json(settings, client): settings.ROOT_URLCONF = 'graphene_django.tests.urls' response = client.post( '/graphql', json.dumps({'query': '{ human { headline } }'}), 'application/json') json_response = format_response(response) expected_json = { 'data': { 'human': { 'headline': None } } } assert json_response == expected_json def test_client_post_good_query_graphql(settings, client): settings.ROOT_URLCONF = 'graphene_django.tests.urls' response = client.post( '/graphql', '{ human { headline } }', 'application/graphql') json_response = format_response(response) expected_json = { 'data': { 'human': { 'headline': None } } } assert json_response == expected_json