-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.5.0: pytest fails because missing tests/test_pylama_linter.py and PytestDeprecationWarning warnings #499
Comments
Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-gql-3.5.0-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-gql-3.5.0-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/tkloczko/rpmbuild/BUILD/gql-3.5.0
configfile: setup.cfg
plugins: anyio-4.4.0, asyncio-0.23.8
asyncio: mode=strict
collected 567 items / 2 errors
==================================== ERRORS ====================================
___________ ERROR collecting gql-checker/tests/test_flake8_linter.py ___________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/gql-3.5.0/gql-checker/tests/test_flake8_linter.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
E ModuleNotFoundError: No module named 'tests.test_flake8_linter'
___________ ERROR collecting gql-checker/tests/test_pylama_linter.py ___________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/gql-3.5.0/gql-checker/tests/test_pylama_linter.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
E ModuleNotFoundError: No module named 'tests.test_pylama_linter'
=============================== warnings summary ===============================
tests/custom_scalars/test_money.py:493
tests/custom_scalars/test_money.py:493: PytestDeprecationWarning: test_custom_scalar_in_output_with_transport is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:511
tests/custom_scalars/test_money.py:511: PytestDeprecationWarning: test_custom_scalar_in_input_query_with_transport is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:533
tests/custom_scalars/test_money.py:533: PytestDeprecationWarning: test_custom_scalar_in_input_variable_values_with_transport is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:557
tests/custom_scalars/test_money.py:557: PytestDeprecationWarning: test_custom_scalar_in_input_variable_values_split_with_transport is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:583
tests/custom_scalars/test_money.py:583: PytestDeprecationWarning: test_custom_scalar_serialize_variables is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:605
tests/custom_scalars/test_money.py:605: PytestDeprecationWarning: test_custom_scalar_serialize_variables_no_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:624
tests/custom_scalars/test_money.py:624: PytestDeprecationWarning: test_custom_scalar_serialize_variables_schema_from_introspection is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:658
tests/custom_scalars/test_money.py:658: PytestDeprecationWarning: test_update_schema_scalars is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:735
tests/custom_scalars/test_money.py:735: PytestDeprecationWarning: test_custom_scalar_serialize_variables_sync_transport is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:760
tests/custom_scalars/test_money.py:760: PytestDeprecationWarning: test_custom_scalar_serialize_variables_sync_transport_2 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/custom_scalars/test_money.py:820
tests/custom_scalars/test_money.py:820: PytestDeprecationWarning: test_gql_cli_print_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/starwars/test_introspection.py:12
tests/starwars/test_introspection.py:12: PytestDeprecationWarning: test_starwars_introspection_args is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1145
/home/tkloczko/rpmbuild/BUILD/gql-3.5.0/tests/test_aiohttp.py:1145: PytestUnknownMarkWarning: Unknown pytest.mark.script_launch_mode - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.script_launch_mode("subprocess")
tests/test_aiohttp.py:43
tests/test_aiohttp.py:43: PytestDeprecationWarning: test_aiohttp_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:82
tests/test_aiohttp.py:82: PytestDeprecationWarning: test_aiohttp_ignore_backend_content_type is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:111
tests/test_aiohttp.py:111: PytestDeprecationWarning: test_aiohttp_cookies is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:144
tests/test_aiohttp.py:144: PytestDeprecationWarning: test_aiohttp_error_code_401 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:175
tests/test_aiohttp.py:175: PytestDeprecationWarning: test_aiohttp_error_code_429 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:222
tests/test_aiohttp.py:222: PytestDeprecationWarning: test_aiohttp_error_code_500 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:256
tests/test_aiohttp.py:256: PytestDeprecationWarning: test_aiohttp_error_code[{"errors": ["Error 1", "Error 2"]}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:256
tests/test_aiohttp.py:256: PytestDeprecationWarning: test_aiohttp_error_code[{"errors": {"error_1": "Something"}}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:256
tests/test_aiohttp.py:256: PytestDeprecationWarning: test_aiohttp_error_code[{"errors": 5}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:311
tests/test_aiohttp.py:311: PytestDeprecationWarning: test_aiohttp_invalid_protocol[param0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:311
tests/test_aiohttp.py:311: PytestDeprecationWarning: test_aiohttp_invalid_protocol[param1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:311
tests/test_aiohttp.py:311: PytestDeprecationWarning: test_aiohttp_invalid_protocol[param2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:311
tests/test_aiohttp.py:311: PytestDeprecationWarning: test_aiohttp_invalid_protocol[param3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:340
tests/test_aiohttp.py:340: PytestDeprecationWarning: test_aiohttp_subscribe_not_supported is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:365
tests/test_aiohttp.py:365: PytestDeprecationWarning: test_aiohttp_cannot_connect_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:387
tests/test_aiohttp.py:387: PytestDeprecationWarning: test_aiohttp_cannot_execute_if_not_connected is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:409
tests/test_aiohttp.py:409: PytestDeprecationWarning: test_aiohttp_extra_args is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:456
tests/test_aiohttp.py:456: PytestDeprecationWarning: test_aiohttp_query_variable_values is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:488
tests/test_aiohttp.py:488: PytestDeprecationWarning: test_aiohttp_query_variable_values_fix_issue_292 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:522
tests/test_aiohttp.py:522: PytestDeprecationWarning: test_aiohttp_execute_running_in_thread is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:550
tests/test_aiohttp.py:550: PytestDeprecationWarning: test_aiohttp_subscribe_running_in_thread is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:638
tests/test_aiohttp.py:638: PytestDeprecationWarning: test_aiohttp_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:703
tests/test_aiohttp.py:703: PytestDeprecationWarning: test_aiohttp_file_upload_with_content_type is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:741
tests/test_aiohttp.py:741: PytestDeprecationWarning: test_aiohttp_file_upload_without_session is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:811
tests/test_aiohttp.py:811: PytestDeprecationWarning: test_aiohttp_binary_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:846
tests/test_aiohttp.py:846: PytestDeprecationWarning: test_aiohttp_stream_reader_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:883
tests/test_aiohttp.py:883: PytestDeprecationWarning: test_aiohttp_async_generator_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:946
tests/test_aiohttp.py:946: PytestDeprecationWarning: test_aiohttp_file_upload_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1037
tests/test_aiohttp.py:1037: PytestDeprecationWarning: test_aiohttp_file_upload_list_of_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1109
tests/test_aiohttp.py:1109: PytestDeprecationWarning: test_aiohttp_using_cli is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1144
tests/test_aiohttp.py:1144: PytestDeprecationWarning: test_aiohttp_using_cli_ep is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1182
tests/test_aiohttp.py:1182: PytestDeprecationWarning: test_aiohttp_using_cli_invalid_param is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1218
tests/test_aiohttp.py:1218: PytestDeprecationWarning: test_aiohttp_using_cli_invalid_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1258
tests/test_aiohttp.py:1258: PytestDeprecationWarning: test_aiohttp_query_with_extensions is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1285
tests/test_aiohttp.py:1285: PytestDeprecationWarning: test_aiohttp_query_https[0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1285
tests/test_aiohttp.py:1285: PytestDeprecationWarning: test_aiohttp_query_https[10] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1320
tests/test_aiohttp.py:1320: PytestDeprecationWarning: test_aiohttp_error_fetching_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1363
tests/test_aiohttp.py:1363: PytestDeprecationWarning: test_aiohttp_reconnecting_session is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1400
tests/test_aiohttp.py:1400: PytestDeprecationWarning: test_aiohttp_reconnecting_session_retries[False] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1400
tests/test_aiohttp.py:1400: PytestDeprecationWarning: test_aiohttp_reconnecting_session_retries[<lambda>] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1434
tests/test_aiohttp.py:1434: PytestDeprecationWarning: test_aiohttp_reconnecting_session_start_connecting_task_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1469
tests/test_aiohttp.py:1469: PytestDeprecationWarning: test_aiohttp_json_serializer is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp.py:1514
tests/test_aiohttp.py:1514: PytestDeprecationWarning: test_aiohttp_connector_owner_false is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_aiohttp_online.py:11
tests/test_aiohttp_online.py:11: PytestDeprecationWarning: test_aiohttp_simple_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_aiohttp_online.py:56
tests/test_aiohttp_online.py:56: PytestDeprecationWarning: test_aiohttp_invalid_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_aiohttp_online.py:84
tests/test_aiohttp_online.py:84: PytestDeprecationWarning: test_aiohttp_two_queries_in_parallel_using_two_tasks is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_appsync_http.py:8
tests/test_appsync_http.py:8: PytestDeprecationWarning: test_appsync_iam_mutation is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:403
tests/test_appsync_websockets.py:403: PytestDeprecationWarning: test_appsync_subscription_api_key[realtime_appsync_server_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:422
tests/test_appsync_websockets.py:422: PytestDeprecationWarning: test_appsync_subscription_iam_with_token[realtime_appsync_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:449
tests/test_appsync_websockets.py:449: PytestDeprecationWarning: test_appsync_subscription_iam_without_token[realtime_appsync_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:475
tests/test_appsync_websockets.py:475: PytestDeprecationWarning: test_appsync_execute_method_not_allowed[realtime_appsync_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:523
tests/test_appsync_websockets.py:523: PytestDeprecationWarning: test_appsync_fetch_schema_from_transport_not_allowed is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:551
tests/test_appsync_websockets.py:551: PytestDeprecationWarning: test_appsync_subscription_api_key_unauthorized[realtime_appsync_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:575
tests/test_appsync_websockets.py:575: PytestDeprecationWarning: test_appsync_subscription_iam_not_allowed[realtime_appsync_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:613
tests/test_appsync_websockets.py:613: PytestDeprecationWarning: test_appsync_subscription_server_sending_a_not_json_answer[realtime_appsync_server_not_json_answer] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:641
tests/test_appsync_websockets.py:641: PytestDeprecationWarning: test_appsync_subscription_server_sending_an_error_without_an_id[realtime_appsync_server_error_without_id] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_appsync_websockets.py:669
tests/test_appsync_websockets.py:669: PytestDeprecationWarning: test_appsync_subscription_variable_values_and_operation_name[realtime_appsync_server_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_async_client_validation.py:76
tests/test_async_client_validation.py:76: PytestDeprecationWarning: test_async_client_validation[client_params0-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:76
tests/test_async_client_validation.py:76: PytestDeprecationWarning: test_async_client_validation[client_params1-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:76
tests/test_async_client_validation.py:76: PytestDeprecationWarning: test_async_client_validation[client_params2-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:123
tests/test_async_client_validation.py:123: PytestDeprecationWarning: test_async_client_validation_invalid_query[client_params0-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n not_valid_field,\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:123
tests/test_async_client_validation.py:123: PytestDeprecationWarning: test_async_client_validation_invalid_query[client_params1-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n not_valid_field,\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:123
tests/test_async_client_validation.py:123: PytestDeprecationWarning: test_async_client_validation_invalid_query[client_params2-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n not_valid_field,\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:160
tests/test_async_client_validation.py:160: PytestDeprecationWarning: test_async_client_validation_different_schemas_parameters_forbidden[client_params0-\n subscription ListenEpisodeReviews($ep: Episode!) {\n reviewAdded(episode: $ep) {\n not_valid_field,\n stars,\n commentary,\n episode\n }\n }\n-server_starwars] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:191
tests/test_async_client_validation.py:191: PytestDeprecationWarning: test_async_client_validation_fetch_schema_from_server_valid_query[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:229
tests/test_async_client_validation.py:229: PytestDeprecationWarning: test_async_client_validation_fetch_schema_from_server_invalid_query[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_async_client_validation.py:255
tests/test_async_client_validation.py:255: PytestDeprecationWarning: test_async_client_validation_fetch_schema_from_server_with_client_argument[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.websockets
tests/test_graphqlws_exceptions.py:38
tests/test_graphqlws_exceptions.py:38: PytestDeprecationWarning: test_graphqlws_invalid_query[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-graphqlws_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:79
tests/test_graphqlws_exceptions.py:79: PytestDeprecationWarning: test_graphqlws_invalid_subscription[\n subscription getContinents {\n continents {\n code\n bloh\n }\n }\n-server_invalid_subscription] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:109
tests/test_graphqlws_exceptions.py:109: PytestDeprecationWarning: test_graphqlws_server_does_not_send_ack[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-server_no_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:142
tests/test_graphqlws_exceptions.py:142: PytestDeprecationWarning: test_graphqlws_sending_invalid_query[server_invalid_query] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server4] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server5] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server6] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server7] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server8] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server9] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:178
tests/test_graphqlws_exceptions.py:178: PytestDeprecationWarning: test_graphqlws_transport_protocol_errors[graphqlws_server10] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:214
tests/test_graphqlws_exceptions.py:214: PytestDeprecationWarning: test_graphqlws_server_does_not_ack[server_without_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:233
tests/test_graphqlws_exceptions.py:233: PytestDeprecationWarning: test_graphqlws_server_closing_directly[server_closing_directly] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_exceptions.py:254
tests/test_graphqlws_exceptions.py:254: PytestDeprecationWarning: test_graphqlws_server_closing_after_ack[server_closing_after_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:228
tests/test_graphqlws_subscription.py:228: PytestDeprecationWarning: test_graphqlws_subscription[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:251
tests/test_graphqlws_subscription.py:251: PytestDeprecationWarning: test_graphqlws_subscription_break[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:281
tests/test_graphqlws_subscription.py:281: PytestDeprecationWarning: test_graphqlws_subscription_task_cancel[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:320
tests/test_graphqlws_subscription.py:320: PytestDeprecationWarning: test_graphqlws_subscription_close_transport[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:383
tests/test_graphqlws_subscription.py:383: PytestDeprecationWarning: test_graphqlws_subscription_server_connection_closed[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_close_connection_in_middle] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:410
tests/test_graphqlws_subscription.py:410: PytestDeprecationWarning: test_graphqlws_subscription_with_operation_name[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:438
tests/test_graphqlws_subscription.py:438: PytestDeprecationWarning: test_graphqlws_subscription_with_keepalive[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:468
tests/test_graphqlws_subscription.py:468: PytestDeprecationWarning: test_graphqlws_subscription_with_keepalive_with_timeout_ok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:500
tests/test_graphqlws_subscription.py:500: PytestDeprecationWarning: test_graphqlws_subscription_with_keepalive_with_timeout_nok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:533
tests/test_graphqlws_subscription.py:533: PytestDeprecationWarning: test_graphqlws_subscription_with_ping_interval_ok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:569
tests/test_graphqlws_subscription.py:569: PytestDeprecationWarning: test_graphqlws_subscription_with_ping_interval_nok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_dont_answer_pings] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:602
tests/test_graphqlws_subscription.py:602: PytestDeprecationWarning: test_graphqlws_subscription_manual_pings_with_payload[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:644
tests/test_graphqlws_subscription.py:644: PytestDeprecationWarning: test_graphqlws_subscription_manual_pong_answers_with_payload[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:775
tests/test_graphqlws_subscription.py:775: PytestDeprecationWarning: test_graphqlws_subscription_running_in_thread[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_keepalive] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:808
tests/test_graphqlws_subscription.py:808: PytestDeprecationWarning: test_graphqlws_subscription_reconnecting_session[False-\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_disconnect] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_graphqlws_subscription.py:808
tests/test_graphqlws_subscription.py:808: PytestDeprecationWarning: test_graphqlws_subscription_reconnecting_session[True-\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_disconnect] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_http_async_sync.py:6
tests/test_http_async_sync.py:6: PytestDeprecationWarning: test_async_client_async_transport[True] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_http_async_sync.py:6
tests/test_http_async_sync.py:6: PytestDeprecationWarning: test_async_client_async_transport[False] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_http_async_sync.py:50
tests/test_http_async_sync.py:50: PytestDeprecationWarning: test_async_client_sync_transport[True] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.requests
tests/test_http_async_sync.py:50
tests/test_http_async_sync.py:50: PytestDeprecationWarning: test_async_client_sync_transport[False] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.requests
tests/test_httpx.py:37
tests/test_httpx.py:37: PytestDeprecationWarning: test_httpx_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:80
tests/test_httpx.py:80: PytestDeprecationWarning: test_httpx_cookies is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:117
tests/test_httpx.py:117: PytestDeprecationWarning: test_httpx_error_code_401 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:152
tests/test_httpx.py:152: PytestDeprecationWarning: test_httpx_error_code_429 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:201
tests/test_httpx.py:201: PytestDeprecationWarning: test_httpx_error_code_500 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:233
tests/test_httpx.py:233: PytestDeprecationWarning: test_httpx_error_code is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:270
tests/test_httpx.py:270: PytestDeprecationWarning: test_httpx_invalid_protocol[{}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:270
tests/test_httpx.py:270: PytestDeprecationWarning: test_httpx_invalid_protocol[qlsjfqsdlkj] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:270
tests/test_httpx.py:270: PytestDeprecationWarning: test_httpx_invalid_protocol[{"not_data_or_errors": 35}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:301
tests/test_httpx.py:301: PytestDeprecationWarning: test_httpx_cannot_connect_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:327
tests/test_httpx.py:327: PytestDeprecationWarning: test_httpx_cannot_execute_if_not_connected is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:366
tests/test_httpx.py:366: PytestDeprecationWarning: test_httpx_query_with_extensions is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:421
tests/test_httpx.py:421: PytestDeprecationWarning: test_httpx_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:481
tests/test_httpx.py:481: PytestDeprecationWarning: test_httpx_file_upload_with_content_type is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:549
tests/test_httpx.py:549: PytestDeprecationWarning: test_httpx_file_upload_additional_headers is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:613
tests/test_httpx.py:613: PytestDeprecationWarning: test_httpx_binary_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:686
tests/test_httpx.py:686: PytestDeprecationWarning: test_httpx_file_upload_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:784
tests/test_httpx.py:784: PytestDeprecationWarning: test_httpx_file_upload_list_of_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx.py:875
tests/test_httpx.py:875: PytestDeprecationWarning: test_httpx_error_fetching_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1019
/home/tkloczko/rpmbuild/BUILD/gql-3.5.0/tests/test_httpx_async.py:1019: PytestUnknownMarkWarning: Unknown pytest.mark.script_launch_mode - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
@pytest.mark.script_launch_mode("subprocess")
tests/test_httpx_async.py:43
tests/test_httpx_async.py:43: PytestDeprecationWarning: test_httpx_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:83
tests/test_httpx_async.py:83: PytestDeprecationWarning: test_httpx_ignore_backend_content_type is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:113
tests/test_httpx_async.py:113: PytestDeprecationWarning: test_httpx_cookies is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:147
tests/test_httpx_async.py:147: PytestDeprecationWarning: test_httpx_error_code_401 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:179
tests/test_httpx_async.py:179: PytestDeprecationWarning: test_httpx_error_code_429 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:227
tests/test_httpx_async.py:227: PytestDeprecationWarning: test_httpx_error_code_500 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:262
tests/test_httpx_async.py:262: PytestDeprecationWarning: test_httpx_error_code[{"errors": ["Error 1", "Error 2"]}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:262
tests/test_httpx_async.py:262: PytestDeprecationWarning: test_httpx_error_code[{"errors": {"error_1": "Something"}}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:262
tests/test_httpx_async.py:262: PytestDeprecationWarning: test_httpx_error_code[{"errors": 5}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:318
tests/test_httpx_async.py:318: PytestDeprecationWarning: test_httpx_invalid_protocol[param0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:318
tests/test_httpx_async.py:318: PytestDeprecationWarning: test_httpx_invalid_protocol[param1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:318
tests/test_httpx_async.py:318: PytestDeprecationWarning: test_httpx_invalid_protocol[param2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:318
tests/test_httpx_async.py:318: PytestDeprecationWarning: test_httpx_invalid_protocol[param3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:348
tests/test_httpx_async.py:348: PytestDeprecationWarning: test_httpx_subscribe_not_supported is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:374
tests/test_httpx_async.py:374: PytestDeprecationWarning: test_httpx_cannot_connect_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:397
tests/test_httpx_async.py:397: PytestDeprecationWarning: test_httpx_cannot_execute_if_not_connected is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:420
tests/test_httpx_async.py:420: PytestDeprecationWarning: test_httpx_extra_args is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:465
tests/test_httpx_async.py:465: PytestDeprecationWarning: test_httpx_query_variable_values is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:498
tests/test_httpx_async.py:498: PytestDeprecationWarning: test_httpx_query_variable_values_fix_issue_292 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:533
tests/test_httpx_async.py:533: PytestDeprecationWarning: test_httpx_execute_running_in_thread is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:562
tests/test_httpx_async.py:562: PytestDeprecationWarning: test_httpx_subscribe_running_in_thread is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:651
tests/test_httpx_async.py:651: PytestDeprecationWarning: test_httpx_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:687
tests/test_httpx_async.py:687: PytestDeprecationWarning: test_httpx_file_upload_without_session is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:758
tests/test_httpx_async.py:758: PytestDeprecationWarning: test_httpx_binary_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:816
tests/test_httpx_async.py:816: PytestDeprecationWarning: test_httpx_file_upload_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:908
tests/test_httpx_async.py:908: PytestDeprecationWarning: test_httpx_file_upload_list_of_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:981
tests/test_httpx_async.py:981: PytestDeprecationWarning: test_httpx_using_cli is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1017
tests/test_httpx_async.py:1017: PytestDeprecationWarning: test_httpx_using_cli_ep is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1056
tests/test_httpx_async.py:1056: PytestDeprecationWarning: test_httpx_using_cli_invalid_param is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1093
tests/test_httpx_async.py:1093: PytestDeprecationWarning: test_httpx_using_cli_invalid_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1134
tests/test_httpx_async.py:1134: PytestDeprecationWarning: test_httpx_query_with_extensions is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1162
tests/test_httpx_async.py:1162: PytestDeprecationWarning: test_httpx_query_https is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1197
tests/test_httpx_async.py:1197: PytestDeprecationWarning: test_httpx_error_fetching_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1241
tests/test_httpx_async.py:1241: PytestDeprecationWarning: test_httpx_reconnecting_session is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1279
tests/test_httpx_async.py:1279: PytestDeprecationWarning: test_httpx_reconnecting_session_retries[False] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1279
tests/test_httpx_async.py:1279: PytestDeprecationWarning: test_httpx_reconnecting_session_retries[<lambda>] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1312
tests/test_httpx_async.py:1312: PytestDeprecationWarning: test_httpx_reconnecting_session_start_connecting_task_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_async.py:1348
tests/test_httpx_async.py:1348: PytestDeprecationWarning: test_httpx_json_serializer is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_httpx_online.py:11
tests/test_httpx_online.py:11: PytestDeprecationWarning: test_httpx_simple_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.httpx
tests/test_httpx_online.py:56
tests/test_httpx_online.py:56: PytestDeprecationWarning: test_httpx_invalid_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.httpx
tests/test_httpx_online.py:84
tests/test_httpx_online.py:84: PytestDeprecationWarning: test_httpx_two_queries_in_parallel_using_two_tasks is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.httpx
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server4] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-no_connection_ack_phoenix_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:149
tests/test_phoenix_channel_exceptions.py:149: PytestDeprecationWarning: test_phoenix_channel_query_protocol_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server5] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:182
tests/test_phoenix_channel_exceptions.py:182: PytestDeprecationWarning: test_phoenix_channel_query_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:182
tests/test_phoenix_channel_exceptions.py:182: PytestDeprecationWarning: test_phoenix_channel_query_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:182
tests/test_phoenix_channel_exceptions.py:182: PytestDeprecationWarning: test_phoenix_channel_query_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:182
tests/test_phoenix_channel_exceptions.py:182: PytestDeprecationWarning: test_phoenix_channel_query_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server4] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server5] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server6] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server7] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server8] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server9] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server10] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:388
tests/test_phoenix_channel_exceptions.py:388: PytestDeprecationWarning: test_phoenix_channel_subscription_protocol_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server11] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:435
tests/test_phoenix_channel_exceptions.py:435: PytestDeprecationWarning: test_phoenix_channel_server_error[\n query getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:461
tests/test_phoenix_channel_exceptions.py:461: PytestDeprecationWarning: test_phoenix_channel_unsubscribe_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:461
tests/test_phoenix_channel_exceptions.py:461: PytestDeprecationWarning: test_phoenix_channel_unsubscribe_error[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_exceptions.py:494
tests/test_phoenix_channel_exceptions.py:494: PytestDeprecationWarning: test_phoenix_channel_unsubscribe_error_forcing[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-phoenix_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_query.py:49
tests/test_phoenix_channel_query.py:49: PytestDeprecationWarning: test_phoenix_channel_query[\n query getContinents {\n continents {\n code\n name\n }\n }\n-query_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_query.py:126
tests/test_phoenix_channel_query.py:126: PytestDeprecationWarning: test_phoenix_channel_subscription[\n subscription getContinents {\n continents {\n code\n name\n }\n }\n-subscription_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_subscription.py:173
tests/test_phoenix_channel_subscription.py:173: PytestDeprecationWarning: test_phoenix_channel_subscription[0-\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_subscription.py:173
tests/test_phoenix_channel_subscription.py:173: PytestDeprecationWarning: test_phoenix_channel_subscription[5-\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_subscription.py:224
tests/test_phoenix_channel_subscription.py:224: PytestDeprecationWarning: test_phoenix_channel_subscription_no_break[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_phoenix_channel_subscription.py:370
tests/test_phoenix_channel_subscription.py:370: PytestDeprecationWarning: test_phoenix_channel_heartbeat[\n subscription {\n heartbeat {\n heartbeat_count\n }\n }\n-phoenix_heartbeat_server] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_requests.py:37
tests/test_requests.py:37: PytestDeprecationWarning: test_requests_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:80
tests/test_requests.py:80: PytestDeprecationWarning: test_requests_cookies is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:117
tests/test_requests.py:117: PytestDeprecationWarning: test_requests_error_code_401 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:152
tests/test_requests.py:152: PytestDeprecationWarning: test_requests_error_code_429 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:201
tests/test_requests.py:201: PytestDeprecationWarning: test_requests_error_code_500 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:233
tests/test_requests.py:233: PytestDeprecationWarning: test_requests_error_code is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:270
tests/test_requests.py:270: PytestDeprecationWarning: test_requests_invalid_protocol[{}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:270
tests/test_requests.py:270: PytestDeprecationWarning: test_requests_invalid_protocol[qlsjfqsdlkj] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:270
tests/test_requests.py:270: PytestDeprecationWarning: test_requests_invalid_protocol[{"not_data_or_errors": 35}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:301
tests/test_requests.py:301: PytestDeprecationWarning: test_requests_cannot_connect_twice is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:327
tests/test_requests.py:327: PytestDeprecationWarning: test_requests_cannot_execute_if_not_connected is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:366
tests/test_requests.py:366: PytestDeprecationWarning: test_requests_query_with_extensions is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:423
tests/test_requests.py:423: PytestDeprecationWarning: test_requests_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:483
tests/test_requests.py:483: PytestDeprecationWarning: test_requests_file_upload_with_content_type is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:551
tests/test_requests.py:551: PytestDeprecationWarning: test_requests_file_upload_additional_headers is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:615
tests/test_requests.py:615: PytestDeprecationWarning: test_requests_binary_file_upload is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:688
tests/test_requests.py:688: PytestDeprecationWarning: test_requests_file_upload_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:788
tests/test_requests.py:788: PytestDeprecationWarning: test_requests_file_upload_list_of_two_files is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests.py:879
tests/test_requests.py:879: PytestDeprecationWarning: test_requests_error_fetching_schema is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:49
tests/test_requests_batch.py:49: PytestDeprecationWarning: test_requests_query is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:92
tests/test_requests_batch.py:92: PytestDeprecationWarning: test_requests_query_auto_batch_enabled is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:140
tests/test_requests_batch.py:140: PytestDeprecationWarning: test_requests_query_auto_batch_enabled_two_requests is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:200
tests/test_requests_batch.py:200: PytestDeprecationWarning: test_requests_cookies is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:239
tests/test_requests_batch.py:239: PytestDeprecationWarning: test_requests_error_code_401 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:274
tests/test_requests_batch.py:274: PytestDeprecationWarning: test_requests_error_code_401_auto_batch_enabled is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:314
tests/test_requests_batch.py:314: PytestDeprecationWarning: test_requests_error_code_429 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:363
tests/test_requests_batch.py:363: PytestDeprecationWarning: test_requests_error_code_500 is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:395
tests/test_requests_batch.py:395: PytestDeprecationWarning: test_requests_error_code is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[{}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[qlsjfqsdlkj] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[{"not_data_or_errors": 35}] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[[{}]] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[[qlsjfqsdlkj]] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[[{"not_data_or_errors": 35}]] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[[]] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:437
tests/test_requests_batch.py:437: PytestDeprecationWarning: test_requests_invalid_protocol[[1]] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:468
tests/test_requests_batch.py:468: PytestDeprecationWarning: test_requests_cannot_execute_if_not_connected is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_requests_batch.py:509
tests/test_requests_batch.py:509: PytestDeprecationWarning: test_requests_query_with_extensions is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.aiohttp
tests/test_websocket_exceptions.py:41
tests/test_websocket_exceptions.py:41: PytestDeprecationWarning: test_websocket_invalid_query[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:80
tests/test_websocket_exceptions.py:80: PytestDeprecationWarning: test_websocket_invalid_subscription[\n subscription getContinents {\n continents {\n code\n bloh\n }\n }\n-server_invalid_subscription] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:112
tests/test_websocket_exceptions.py:112: PytestDeprecationWarning: test_websocket_server_does_not_send_ack[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-server_no_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:135
tests/test_websocket_exceptions.py:135: PytestDeprecationWarning: test_websocket_sending_invalid_data[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-server_connection_error] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:163
tests/test_websocket_exceptions.py:163: PytestDeprecationWarning: test_websocket_sending_invalid_payload[\n query getContinents {\n continents {\n code\n bloh\n }\n }\n-server_invalid_payload] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server1] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server2] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server3] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server4] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server5] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server6] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server7] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server8] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:220
tests/test_websocket_exceptions.py:220: PytestDeprecationWarning: test_websocket_transport_protocol_errors[server9] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:253
tests/test_websocket_exceptions.py:253: PytestDeprecationWarning: test_websocket_server_does_not_ack[server_without_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:272
tests/test_websocket_exceptions.py:272: PytestDeprecationWarning: test_websocket_server_closing_directly[server_closing_directly] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:293
tests/test_websocket_exceptions.py:293: PytestDeprecationWarning: test_websocket_server_closing_after_ack[server_closing_after_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:322
tests/test_websocket_exceptions.py:322: PytestDeprecationWarning: test_websocket_server_sending_invalid_query_errors[server_sending_invalid_query_errors] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:337
tests/test_websocket_exceptions.py:337: PytestDeprecationWarning: test_websocket_non_regression_bug_105[server_sending_invalid_query_errors] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_exceptions.py:366
tests/test_websocket_exceptions.py:366: PytestDeprecationWarning: test_websocket_using_cli_invalid_query[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:52
tests/test_websocket_query.py:52: PytestDeprecationWarning: test_websocket_starting_client_in_context_manager[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:92
tests/test_websocket_query.py:92: PytestDeprecationWarning: test_websocket_using_ssl_connection[ws_ssl_server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:132
tests/test_websocket_query.py:132: PytestDeprecationWarning: test_websocket_simple_query[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:152
tests/test_websocket_query.py:152: PytestDeprecationWarning: test_websocket_two_queries_in_series[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:188
tests/test_websocket_query.py:188: PytestDeprecationWarning: test_websocket_two_queries_in_parallel[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server1_two_queries_in_parallel] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:233
tests/test_websocket_query.py:233: PytestDeprecationWarning: test_websocket_server_closing_after_first_query[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server_closing_while_we_are_doing_something_else] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:265
tests/test_websocket_query.py:265: PytestDeprecationWarning: test_websocket_ignore_invalid_id[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:301
tests/test_websocket_query.py:301: PytestDeprecationWarning: test_websocket_multiple_connections_in_series[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:324
tests/test_websocket_query.py:324: PytestDeprecationWarning: test_websocket_multiple_connections_in_parallel[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:343
tests/test_websocket_query.py:343: PytestDeprecationWarning: test_websocket_trying_to_connect_to_already_connected_transport[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:388
tests/test_websocket_query.py:388: PytestDeprecationWarning: test_websocket_connect_success_with_authentication_in_connection_init[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server_with_authentication_in_connection_init_payload] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:422
tests/test_websocket_query.py:422: PytestDeprecationWarning: test_websocket_connect_failed_with_authentication_in_connection_init[init_payload0-\n query getContinents {\n continents {\n code\n name\n }\n }\n-server_with_authentication_in_connection_init_payload] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:422
tests/test_websocket_query.py:422: PytestDeprecationWarning: test_websocket_connect_failed_with_authentication_in_connection_init[init_payload1-\n query getContinents {\n continents {\n code\n name\n }\n }\n-server_with_authentication_in_connection_init_payload] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:487
tests/test_websocket_query.py:487: PytestDeprecationWarning: test_websocket_add_extra_parameters_to_connect[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:516
tests/test_websocket_query.py:516: PytestDeprecationWarning: test_websocket_non_regression_bug_108[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server_sending_keep_alive_before_connection_ack] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:543
tests/test_websocket_query.py:543: PytestDeprecationWarning: test_websocket_using_cli[server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_query.py:593
tests/test_websocket_query.py:593: PytestDeprecationWarning: test_websocket_simple_query_with_extensions[\n query getContinents {\n continents {\n code\n name\n }\n }\n-server0] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:126
tests/test_websocket_subscription.py:126: PytestDeprecationWarning: test_websocket_subscription[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:147
tests/test_websocket_subscription.py:147: PytestDeprecationWarning: test_websocket_subscription_get_execution_result[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:172
tests/test_websocket_subscription.py:172: PytestDeprecationWarning: test_websocket_subscription_break[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:202
tests/test_websocket_subscription.py:202: PytestDeprecationWarning: test_websocket_subscription_task_cancel[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:241
tests/test_websocket_subscription.py:241: PytestDeprecationWarning: test_websocket_subscription_close_transport[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:304
tests/test_websocket_subscription.py:304: PytestDeprecationWarning: test_websocket_subscription_server_connection_closed[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown_close_connection_in_middle] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:331
tests/test_websocket_subscription.py:331: PytestDeprecationWarning: test_websocket_subscription_slow_consumer[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:356
tests/test_websocket_subscription.py:356: PytestDeprecationWarning: test_websocket_subscription_with_operation_name[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:387
tests/test_websocket_subscription.py:387: PytestDeprecationWarning: test_websocket_subscription_with_keepalive[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:410
tests/test_websocket_subscription.py:410: PytestDeprecationWarning: test_websocket_subscription_with_keepalive_with_timeout_ok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:440
tests/test_websocket_subscription.py:440: PytestDeprecationWarning: test_websocket_subscription_with_keepalive_with_timeout_nok[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
tests/test_websocket_subscription.py:616
tests/test_websocket_subscription.py:616: PytestDeprecationWarning: test_websocket_subscription_running_in_thread[\n subscription {{\n countdown (count: {count}) {{\n number\n }}\n }}\n-server_countdown] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
@pytest.mark.asyncio
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR gql-checker/tests/test_flake8_linter.py
ERROR gql-checker/tests/test_pylama_linter.py
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
======================= 300 warnings, 2 errors in 1.41s ======================== |
Did you try to install the dev dependencies with |
Hmm, with a second look it seems that the problem is because you are running pytest on the main folder which seems to find tests which are obsolete since a long time ago. If you run I should delete that old folder. |
After add to --ignore list those two files I've been able to add more modules in build env but none of those dependencies but none of the missing modules been able to fix issue with missing file. |
it shuld be working that way.
Alternatively it is possible to add tests/ to pytest setting |
After add more modules to build env Package Version
----------------------------- -----------
aiofiles 24.1.0
aiohappyeyeballs 2.4.3
aiohttp 3.10.10
aiosignal 1.3.1
alabaster 0.7.16
anyio 4.4.0
async-timeout 4.0.3
attrs 24.2.0
babel 2.16.0
backoff 2.2.1
botocore 1.35.49
build 1.2.2.post1
certifi 2024.8.30
charset-normalizer 3.4.0
defusedxml 0.7.1
distro 1.9.0
docutils 0.21.2
exceptiongroup 1.1.3
frozenlist 1.4.1
graphql-core 3.2.5
h11 0.14.0
httpcore 1.0.6
httpx 0.27.2
imagesize 1.4.1
importlib_metadata 8.5.0
iniconfig 2.0.0
installer 0.7.0
Jinja2 3.1.4
jmespath 1.0.1
MarkupSafe 3.0.2
multidict 6.1.0
packaging 24.0
parse 1.20.2
pluggy 1.5.0
Pygments 2.18.0
pyproject_hooks 1.2.0
pytest 8.2.2
pytest-asyncio 0.23.8
pytest-console-scripts 1.4.1
python-dateutil 2.9.0.post0
PyYAML 6.0.2
requests 2.32.3
requests-toolbelt 1.0.0
setuptools 75.1.0
sniffio 1.3.0
snowballstemmer 2.2.0
Sphinx 8.1.3
sphinx-argparse 0.4.0
sphinx_rtd_theme 2.0.0
sphinxcontrib-applehelp 2.0.0
sphinxcontrib-devhelp 1.0.6
sphinxcontrib-htmlhelp 2.1.0
sphinxcontrib-jquery 4.1
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 2.0.0
sphinxcontrib-serializinghtml 2.0.0
tokenize_rt 6.1.0
tomli 2.0.1
typing_extensions 4.12.2
urllib3 2.2.2
vcrpy 6.0.2
websockets 13.1
wheel 0.44.0
wrapt 1.16.0
yarl 1.12.1
zipp 3.20.2 I still have some filing units Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-gql-3.5.0-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-gql-3.5.0-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network' --ignore gql-checker/tests/test_flake8_linter.py --ignore gql-checker/tests/test_pylama_linter.py
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
rootdir: /home/tkloczko/rpmbuild/BUILD/gql-3.5.0
configfile: setup.cfg
plugins: anyio-4.4.0, asyncio-0.23.8, console-scripts-1.4.1
asyncio: mode=strict
collected 567 items
tests/custom_scalars/test_datetime.py ...... [ 1%]
tests/custom_scalars/test_enum_colors.py ............ [ 3%]
tests/custom_scalars/test_json.py ...... [ 4%]
tests/custom_scalars/test_money.py ............................ [ 9%]
tests/custom_scalars/test_parse_results.py . [ 9%]
tests/nested_input/test_nested_input.py ... [ 9%]
tests/regressions/issue_447_dsl_missing_directives/test_dsl_directives.py . [ 10%]
tests/starwars/test_dsl.py ........................................................FF... [ 20%]
tests/starwars/test_introspection.py . [ 20%]
tests/starwars/test_parse_results.py ......... [ 22%]
tests/starwars/test_query.py ................. [ 25%]
tests/starwars/test_subscription.py ... [ 26%]
tests/starwars/test_validation.py ................................................... [ 35%]
tests/test_aiohttp.py ........................................... [ 42%]
tests/test_aiohttp_online.py sss [ 43%]
tests/test_appsync_auth.py ......... [ 44%]
tests/test_appsync_http.py . [ 44%]
tests/test_appsync_websockets.py .......... [ 46%]
tests/test_async_client_validation.py .......F.. [ 48%]
tests/test_cli.py .................................. [ 54%]
tests/test_client.py ....sss... [ 56%]
tests/test_graphql_request.py . [ 56%]
tests/test_graphqlws_exceptions.py .................. [ 59%]
tests/test_graphqlws_subscription.py .................. [ 62%]
tests/test_http_async_sync.py ssssssss [ 64%]
tests/test_httpx.py ................... [ 67%]
tests/test_httpx_async.py ...................................... [ 74%]
tests/test_httpx_online.py sss [ 74%]
tests/test_phoenix_channel_exceptions.py ........................... [ 79%]
tests/test_phoenix_channel_query.py .. [ 79%]
tests/test_phoenix_channel_subscription.py .... [ 80%]
tests/test_requests.py ................... [ 83%]
tests/test_requests_batch.py ...................sss [ 87%]
tests/test_transport.py FFFF [ 88%]
tests/test_transport_batch.py FFFF [ 89%]
tests/test_websocket_exceptions.py ..................... [ 92%]
tests/test_websocket_online.py ssssss [ 94%]
tests/test_websocket_query.py .................. [ 97%]
tests/test_websocket_subscription.py ................ [100%]
========================================================================================= FAILURES ==========================================================================================
__________________________________________________________________________ test_get_introspection_query_ast[True] ___________________________________________________________________________
option = True
@pytest.mark.parametrize("option", [True, False])
def test_get_introspection_query_ast(option):
introspection_query = get_introspection_query(
descriptions=option,
specified_by_url=option,
directive_is_repeatable=option,
schema_description=option,
)
dsl_introspection_query = get_introspection_query_ast(
descriptions=option,
specified_by_url=option,
directive_is_repeatable=option,
schema_description=option,
)
> assert print_ast(gql(introspection_query)) == print_ast(dsl_introspection_query)
E AssertionError: assert 'query Intros... }\n }\n}' == 'query Intros... }\n }\n}'
E
E Skipping 1289 identical leading characters in diff, use -v to show
E + ofType {
E + kind
E + name
E + ofType {
E + kind...
E
E ...Full output truncated (13 lines hidden), use '-vv' to show
tests/starwars/test_dsl.py:995: AssertionError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
Creating <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::description>
Added fields: (<DSLField __Schema::description>,) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::queryType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::queryType>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::mutationType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::mutationType>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::subscriptionType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::subscriptionType>
Added fields: (<DSLField __Schema::queryType>, <DSLField __Schema::mutationType>, <DSLField __Schema::subscriptionType>) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::types>
Added fields: (<DSLFragment FullType>,) in <DSLField __Schema::types>
Added fields: (<DSLField __Schema::types>,) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::name>
Added fields: (<DSLField __Directive::name>,) in <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::description>
Added fields: (<DSLField __Directive::description>,) in <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::isRepeatable>
Added fields: (<DSLField __Directive::isRepeatable>,) in <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::locations>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::args>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Directive::args>
Added fields: (<DSLField __Directive::locations>, <DSLField __Directive::args>) in <DSLField __Schema::directives>
Added fields: (<DSLField __Schema::directives>,) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::description>
Added fields: (<DSLField __Type::description>,) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::specifiedByURL>
Added fields: (<DSLField __Type::specifiedByURL>,) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::fields>
Added arguments {'includeDeprecated': True} in field <DSLField __Type::fields>)
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::name>
Added fields: (<DSLField __Field::name>,) in <DSLField __Type::fields>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::description>
Added fields: (<DSLField __Field::description>,) in <DSLField __Type::fields>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::args>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Field::args>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::type>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Field::type>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::isDeprecated>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::deprecationReason>
Added fields: (<DSLField __Field::args>, <DSLField __Field::type>, <DSLField __Field::isDeprecated>, <DSLField __Field::deprecationReason>) in <DSLField __Type::fields>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::enumValues>
Added arguments {'includeDeprecated': True} in field <DSLField __Type::enumValues>)
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::name>
Added fields: (<DSLField __EnumValue::name>,) in <DSLField __Type::enumValues>
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::description>
Added fields: (<DSLField __EnumValue::description>,) in <DSLField __Type::enumValues>
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::isDeprecated>
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::deprecationReason>
Added fields: (<DSLField __EnumValue::isDeprecated>, <DSLField __EnumValue::deprecationReason>) in <DSLField __Type::enumValues>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::inputFields>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Type::inputFields>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::interfaces>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::interfaces>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::possibleTypes>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::possibleTypes>
Added fields: (<DSLField __Type::fields>, <DSLField __Type::inputFields>, <DSLField __Type::interfaces>, <DSLField __Type::enumValues>, <DSLField __Type::possibleTypes>) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::name>
Added fields: (<DSLField __InputValue::name>,) in <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::description>
Added fields: (<DSLField __InputValue::description>,) in <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::type>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __InputValue::type>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::defaultValue>
Added fields: (<DSLField __InputValue::type>, <DSLField __InputValue::defaultValue>) in <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Added fields: (<DSLMetaField meta_field::__schema>,) in <DSLQuery>
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::description>,) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::queryType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::queryType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::mutationType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::mutationType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::subscriptionType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::subscriptionType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::queryType>, <DSLField __Schema::mutationType>, <DSLField __Schema::subscriptionType>) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::types>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment FullType>,) in <DSLField __Schema::types>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::types>,) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::name>,) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::description>,) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::isRepeatable>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::isRepeatable>,) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::locations>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Directive::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::locations>, <DSLField __Directive::args>) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::directives>,) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::description>,) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::specifiedByURL>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::specifiedByURL>,) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:869 Added arguments {'includeDeprecated': True} in field <DSLField __Type::fields>)
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Field::name>,) in <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Field::description>,) in <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Field::args>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::type>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Field::type>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::isDeprecated>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::deprecationReason>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Field::args>, <DSLField __Field::type>, <DSLField __Field::isDeprecated>, <DSLField __Field::deprecationReason>) in <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:869 Added arguments {'includeDeprecated': True} in field <DSLField __Type::enumValues>)
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __EnumValue::name>,) in <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __EnumValue::description>,) in <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::isDeprecated>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::deprecationReason>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __EnumValue::isDeprecated>, <DSLField __EnumValue::deprecationReason>) in <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::inputFields>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Type::inputFields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::interfaces>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::interfaces>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::possibleTypes>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::possibleTypes>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::fields>, <DSLField __Type::inputFields>, <DSLField __Type::interfaces>, <DSLField __Type::enumValues>, <DSLField __Type::possibleTypes>) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __InputValue::name>,) in <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::description>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __InputValue::description>,) in <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::type>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __InputValue::type>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::defaultValue>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __InputValue::type>, <DSLField __InputValue::defaultValue>) in <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLMetaField meta_field::__schema>,) in <DSLQuery>
__________________________________________________________________________ test_get_introspection_query_ast[False] __________________________________________________________________________
option = False
@pytest.mark.parametrize("option", [True, False])
def test_get_introspection_query_ast(option):
introspection_query = get_introspection_query(
descriptions=option,
specified_by_url=option,
directive_is_repeatable=option,
schema_description=option,
)
dsl_introspection_query = get_introspection_query_ast(
descriptions=option,
specified_by_url=option,
directive_is_repeatable=option,
schema_description=option,
)
> assert print_ast(gql(introspection_query)) == print_ast(dsl_introspection_query)
E AssertionError: assert 'query Intros... }\n }\n}' == 'query Intros... }\n }\n}'
E
E Skipping 1159 identical leading characters in diff, use -v to show
E + ofType {
E + kind
E + name
E + ofType {
E + kind...
E
E ...Full output truncated (13 lines hidden), use '-vv' to show
tests/starwars/test_dsl.py:995: AssertionError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
Creating <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::queryType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::queryType>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::mutationType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::mutationType>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::subscriptionType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::subscriptionType>
Added fields: (<DSLField __Schema::queryType>, <DSLField __Schema::mutationType>, <DSLField __Schema::subscriptionType>) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::types>
Added fields: (<DSLFragment FullType>,) in <DSLField __Schema::types>
Added fields: (<DSLField __Schema::types>,) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Schema'>>)
Creating <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::name>
Added fields: (<DSLField __Directive::name>,) in <DSLField __Schema::directives>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::locations>
Creating <DSLType <GraphQLObjectType '__Directive'>>)
Creating <DSLField __Directive::args>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Directive::args>
Added fields: (<DSLField __Directive::locations>, <DSLField __Directive::args>) in <DSLField __Schema::directives>
Added fields: (<DSLField __Schema::directives>,) in <DSLMetaField meta_field::__schema>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::fields>
Added arguments {'includeDeprecated': True} in field <DSLField __Type::fields>)
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::name>
Added fields: (<DSLField __Field::name>,) in <DSLField __Type::fields>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::args>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Field::args>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::type>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Field::type>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::isDeprecated>
Creating <DSLType <GraphQLObjectType '__Field'>>)
Creating <DSLField __Field::deprecationReason>
Added fields: (<DSLField __Field::args>, <DSLField __Field::type>, <DSLField __Field::isDeprecated>, <DSLField __Field::deprecationReason>) in <DSLField __Type::fields>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::enumValues>
Added arguments {'includeDeprecated': True} in field <DSLField __Type::enumValues>)
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::name>
Added fields: (<DSLField __EnumValue::name>,) in <DSLField __Type::enumValues>
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::isDeprecated>
Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
Creating <DSLField __EnumValue::deprecationReason>
Added fields: (<DSLField __EnumValue::isDeprecated>, <DSLField __EnumValue::deprecationReason>) in <DSLField __Type::enumValues>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::inputFields>
Added fields: (<DSLFragment InputValue>,) in <DSLField __Type::inputFields>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::interfaces>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::interfaces>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::possibleTypes>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::possibleTypes>
Added fields: (<DSLField __Type::fields>, <DSLField __Type::inputFields>, <DSLField __Type::interfaces>, <DSLField __Type::enumValues>, <DSLField __Type::possibleTypes>) in <DSLFragment FullType>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::name>
Added fields: (<DSLField __InputValue::name>,) in <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::type>
Added fields: (<DSLFragment TypeRef>,) in <DSLField __InputValue::type>
Creating <DSLType <GraphQLObjectType '__InputValue'>>)
Creating <DSLField __InputValue::defaultValue>
Added fields: (<DSLField __InputValue::type>, <DSLField __InputValue::defaultValue>) in <DSLFragment InputValue>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLFragment TypeRef>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::ofType>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::kind>
Creating <DSLType <GraphQLObjectType '__Type'>>)
Creating <DSLField __Type::name>
Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
Added fields: (<DSLMetaField meta_field::__schema>,) in <DSLQuery>
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:1016 Creating <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::queryType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::queryType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::mutationType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::mutationType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::subscriptionType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::name>,) in <DSLField __Schema::subscriptionType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::queryType>, <DSLField __Schema::mutationType>, <DSLField __Schema::subscriptionType>) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::types>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment FullType>,) in <DSLField __Schema::types>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::types>,) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Schema'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::name>,) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::locations>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Directive'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Directive::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Directive::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Directive::locations>, <DSLField __Directive::args>) in <DSLField __Schema::directives>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Schema::directives>,) in <DSLMetaField meta_field::__schema>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:869 Added arguments {'includeDeprecated': True} in field <DSLField __Type::fields>)
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Field::name>,) in <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::args>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Field::args>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::type>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Field::type>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::isDeprecated>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Field'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Field::deprecationReason>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Field::args>, <DSLField __Field::type>, <DSLField __Field::isDeprecated>, <DSLField __Field::deprecationReason>) in <DSLField __Type::fields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:869 Added arguments {'includeDeprecated': True} in field <DSLField __Type::enumValues>)
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __EnumValue::name>,) in <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::isDeprecated>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__EnumValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __EnumValue::deprecationReason>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __EnumValue::isDeprecated>, <DSLField __EnumValue::deprecationReason>) in <DSLField __Type::enumValues>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::inputFields>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment InputValue>,) in <DSLField __Type::inputFields>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::interfaces>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::interfaces>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::possibleTypes>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __Type::possibleTypes>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::fields>, <DSLField __Type::inputFields>, <DSLField __Type::interfaces>, <DSLField __Type::enumValues>, <DSLField __Type::possibleTypes>) in <DSLFragment FullType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __InputValue::name>,) in <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::type>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLFragment TypeRef>,) in <DSLField __InputValue::type>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__InputValue'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __InputValue::defaultValue>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __InputValue::type>, <DSLField __InputValue::defaultValue>) in <DSLFragment InputValue>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLFragment TypeRef>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::kind>
DEBUG gql.dsl:dsl.py:639 Creating <DSLType <GraphQLObjectType '__Type'>>)
DEBUG gql.dsl:dsl.py:830 Creating <DSLField __Type::name>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::kind>, <DSLField __Type::name>) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLField __Type::ofType>,) in <DSLField __Type::ofType>
DEBUG gql.dsl:dsl.py:376 Added fields: (<DSLMetaField meta_field::__schema>,) in <DSLQuery>
________________________________________________________ test_async_client_validation_fetch_schema_from_server_valid_query[server0] _________________________________________________________
event_loop = <_UnixSelectorEventLoop running=False closed=False debug=False>
client_and_server = (<gql.client.AsyncClientSession object at 0x7f06ff5a7850>, <tests.conftest.WebSocketServer object at 0x7f06ff5a6b00>)
@pytest.mark.websockets
@pytest.mark.asyncio
@pytest.mark.parametrize("server", [hero_server_answers], indirect=True)
async def test_async_client_validation_fetch_schema_from_server_valid_query(
event_loop, client_and_server
):
session, server = client_and_server
client = session.client
# No schema in the client at the beginning
assert client.introspection is None
assert client.schema is None
# Fetch schema from server
await session.fetch_schema()
# Check that the async client correctly recreated the schema
> assert client.introspection == StarWarsIntrospection
E AssertionError: assert {'__schema': ...ption'}, ...}} == {'__schema': ...ption'}, ...}}
E
E Differing items:
E {'__schema': {'directives': [{'args': [{'defaultValue': None, 'description': 'Included when true.', 'name': 'if', 'typ...utationType
E
E ...Full output truncated (2 lines hidden), use '-vv' to show
tests/test_async_client_validation.py:208: AssertionError
----------------------------------------------------------------------------------- Captured stdout setup -----------------------------------------------------------------------------------
Starting server
Server started on port 42051
----------------------------------------------------------------------------------- Captured stderr setup -----------------------------------------------------------------------------------
connect: starting
backend subprotocol returned: 'graphql-ws'
>>> {"type": "connection_init", "payload": {}}
<<< {"type":"connection_ack"}
connect: done
------------------------------------------------------------------------------------ Captured log setup -------------------------------------------------------------------------------------
DEBUG gql.transport.websockets:websockets_base.py:460 connect: starting
DEBUG gql.transport.websockets:websockets.py:495 backend subprotocol returned: 'graphql-ws'
INFO gql.transport.websockets:websockets_base.py:218 >>> {"type": "connection_init", "payload": {}}
INFO gql.transport.websockets:websockets_base.py:240 <<< {"type":"connection_ack"}
DEBUG gql.transport.websockets:websockets_base.py:535 connect: done
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
>>> {"id": "1", "type": "start", "payload": {"query": "query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}"}}
Server received: {"id": "1", "type": "start", "payload": {"query": "query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}"}}
<<< {"type":"data","id":"1","payload":{"data":{"__schema": {"queryType": {"name": "Query"}, "mutationType": {"name": "Mutation"}, "subscriptionType": {"name": "Subscription"}, "types": [{"kind": "OBJECT", "name": "Human", "description": "A humanoid creature in the Star Wars universe.", "fields": [{"name": "id", "description": "The id of the human.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the human.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the human, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "homePlanet", "description": "The home planet of the human, or null if unknown.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [{"kind": "INTERFACE", "name": "Character", "ofType": null}], "enumValues": null, "possibleTypes": null}, {"kind": "INTERFACE", "name": "Character", "description": "A character in the Star Wars Trilogy", "fields": [{"name": "id", "description": "The id of the character.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the character.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the character, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": [{"kind": "OBJECT", "name": "Human", "ofType": null}, {"kind": "OBJECT", "name": "Droid", "ofType": null}]}, {"kind": "SCALAR", "name": "String", "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "Episode", "description": "One of the films in the Star Wars Trilogy", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "NEWHOPE", "description": "Released in 1977.", "isDeprecated": false, "deprecationReason": null}, {"name": "EMPIRE", "description": "Released in 1980.", "isDeprecated": false, "deprecationReason": null}, {"name": "JEDI", "description": "Released in 1983.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "Droid", "description": "A mechanical creature in the Star Wars universe.", "fields": [{"name": "id", "description": "The id of the droid.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the droid.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the droid, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "primaryFunction", "description": "The primary function of the droid.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [{"kind": "INTERFACE", "name": "Character", "ofType": null}], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Review", "description": "Represents a review for a movie", "fields": [{"name": "episode", "description": "The movie", "args": [], "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "stars", "description": "The number of stars this review gave, 1-5", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "commentary", "description": "Comment about the movie", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Int", "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "ReviewInput", "description": "The input object sent when someone is creating a new review", "fields": null, "inputFields": [{"name": "stars", "description": "0-5 stars", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "commentary", "description": "Comment about the movie, optional", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}], "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Query", "description": null, "fields": [{"name": "hero", "description": null, "args": [{"name": "episode", "description": "If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}], "type": {"kind": "INTERFACE", "name": "Character", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "human", "description": null, "args": [{"name": "id", "description": "id of the human", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Human", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "droid", "description": null, "args": [{"name": "id", "description": "id of the droid", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Droid", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "characters", "description": null, "args": [{"name": "ids", "description": "list of character ids", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Mutation", "description": "The mutation type, represents all updates we can make to our data", "fields": [{"name": "createReview", "description": null, "args": [{"name": "episode", "description": "Episode to create review", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}, {"name": "review", "description": "set alive status", "type": {"kind": "INPUT_OBJECT", "name": "ReviewInput", "ofType": null}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Review", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Subscription", "description": null, "fields": [{"name": "reviewAdded", "description": null, "args": [{"name": "episode", "description": "Episode to review", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Review", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Boolean", "description": "The `Boolean` scalar type represents `true` or `false`.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Schema", "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", "fields": [{"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "types", "description": "A list of all types supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Directive", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", "fields": [{"name": "kind", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__TypeKind", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "specifiedByURL", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "fields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Field", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interfaces", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "possibleTypes", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "enumValues", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__EnumValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "inputFields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "ofType", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "__Field", "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__InputValue", "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__EnumValue", "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isRepeatable", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "locations", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__DirectiveLocation", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null}, {"name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null}, {"name": "VARIABLE_DEFINITION", "description": "Location adjacent to a variable definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}], "directives": [{"name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Included when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Skipped when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ARGUMENT_DEFINITION", "INPUT_FIELD_DEFINITION", "ENUM_VALUE"], "args": [{"name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": "\"No longer supported\""}]}, {"name": "specifiedBy", "description": "Exposes a URL that specifies the behavior of this scalar.", "locations": ["SCALAR"], "args": [{"name": "url", "description": "The URL that specifies the behavior of this scalar.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}]}]}}}}
<<< {"type":"complete","id":"1","payload":null}
Exception in subscribe: GeneratorExit()
In subscribe finally for query_id 1
listener 1 deleted, 0 remaining
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
INFO gql.transport.websockets:websockets_base.py:218 >>> {"id": "1", "type": "start", "payload": {"query": "query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}"}}
INFO gql.transport.websockets:websockets_base.py:240 <<< {"type":"data","id":"1","payload":{"data":{"__schema": {"queryType": {"name": "Query"}, "mutationType": {"name": "Mutation"}, "subscriptionType": {"name": "Subscription"}, "types": [{"kind": "OBJECT", "name": "Human", "description": "A humanoid creature in the Star Wars universe.", "fields": [{"name": "id", "description": "The id of the human.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the human.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the human, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "homePlanet", "description": "The home planet of the human, or null if unknown.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [{"kind": "INTERFACE", "name": "Character", "ofType": null}], "enumValues": null, "possibleTypes": null}, {"kind": "INTERFACE", "name": "Character", "description": "A character in the Star Wars Trilogy", "fields": [{"name": "id", "description": "The id of the character.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the character.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the character, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": [{"kind": "OBJECT", "name": "Human", "ofType": null}, {"kind": "OBJECT", "name": "Droid", "ofType": null}]}, {"kind": "SCALAR", "name": "String", "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "Episode", "description": "One of the films in the Star Wars Trilogy", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "NEWHOPE", "description": "Released in 1977.", "isDeprecated": false, "deprecationReason": null}, {"name": "EMPIRE", "description": "Released in 1980.", "isDeprecated": false, "deprecationReason": null}, {"name": "JEDI", "description": "Released in 1983.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "Droid", "description": "A mechanical creature in the Star Wars universe.", "fields": [{"name": "id", "description": "The id of the droid.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "The name of the droid.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "friends", "description": "The friends of the droid, or an empty list if they have none.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "appearsIn", "description": "Which movies they appear in.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "ENUM", "name": "Episode", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "primaryFunction", "description": "The primary function of the droid.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [{"kind": "INTERFACE", "name": "Character", "ofType": null}], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Review", "description": "Represents a review for a movie", "fields": [{"name": "episode", "description": "The movie", "args": [], "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "stars", "description": "The number of stars this review gave, 1-5", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "commentary", "description": "Comment about the movie", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Int", "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "INPUT_OBJECT", "name": "ReviewInput", "description": "The input object sent when someone is creating a new review", "fields": null, "inputFields": [{"name": "stars", "description": "0-5 stars", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "commentary", "description": "Comment about the movie, optional", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}], "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Query", "description": null, "fields": [{"name": "hero", "description": null, "args": [{"name": "episode", "description": "If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}], "type": {"kind": "INTERFACE", "name": "Character", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "human", "description": null, "args": [{"name": "id", "description": "id of the human", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Human", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "droid", "description": null, "args": [{"name": "id", "description": "id of the droid", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Droid", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "characters", "description": null, "args": [{"name": "ids", "description": "list of character ids", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "INTERFACE", "name": "Character", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Mutation", "description": "The mutation type, represents all updates we can make to our data", "fields": [{"name": "createReview", "description": null, "args": [{"name": "episode", "description": "Episode to create review", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}, {"name": "review", "description": "set alive status", "type": {"kind": "INPUT_OBJECT", "name": "ReviewInput", "ofType": null}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Review", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Subscription", "description": null, "fields": [{"name": "reviewAdded", "description": null, "args": [{"name": "episode", "description": "Episode to review", "type": {"kind": "ENUM", "name": "Episode", "ofType": null}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Review", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Boolean", "description": "The `Boolean` scalar type represents `true` or `false`.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Schema", "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", "fields": [{"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "types", "description": "A list of all types supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Directive", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", "fields": [{"name": "kind", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__TypeKind", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "specifiedByURL", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "fields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Field", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interfaces", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "possibleTypes", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "enumValues", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__EnumValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "inputFields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "ofType", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "__Field", "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__InputValue", "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__EnumValue", "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isRepeatable", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "locations", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__DirectiveLocation", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null}, {"name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null}, {"name": "VARIABLE_DEFINITION", "description": "Location adjacent to a variable definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}], "directives": [{"name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Included when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Skipped when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ARGUMENT_DEFINITION", "INPUT_FIELD_DEFINITION", "ENUM_VALUE"], "args": [{"name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": "\"No longer supported\""}]}, {"name": "specifiedBy", "description": "Exposes a URL that specifies the behavior of this scalar.", "locations": ["SCALAR"], "args": [{"name": "url", "description": "The URL that specifies the behavior of this scalar.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}]}]}}}}
INFO gql.transport.websockets:websockets_base.py:240 <<< {"type":"complete","id":"1","payload":null}
DEBUG gql.transport.websockets:websockets_base.py:404 Exception in subscribe: GeneratorExit()
DEBUG gql.transport.websockets:websockets_base.py:410 In subscribe finally for query_id 1
DEBUG gql.transport.websockets:websockets_base.py:545 listener 1 deleted, 0 remaining
--------------------------------------------------------------------------------- Captured stdout teardown ----------------------------------------------------------------------------------
Stopping server
Server stopped
--------------------------------------------------------------------------------- Captured stderr teardown ----------------------------------------------------------------------------------
close: starting
_fail: starting with exception: TransportClosed('Websocket GraphQL transport closed by user')
wait_close: starting
_close_coro: starting
_close_coro: starting clean_close
>>> {"type": "connection_terminate"}
_close_coro: sending exception to listeners
_close_coro: close websocket connection
Server received: {"type": "connection_terminate"}
_fail: starting with exception: ConnectionClosedOK(Close(code=1000, reason=''), Close(code=<CloseCode.NORMAL_CLOSURE: 1000>, reason=''), False)
close_task is not None in _fail. Previous exception is: TransportClosed('Websocket GraphQL transport closed by user') New exception is: ConnectionClosedOK(Close(code=1000, reason=''), Close(code=<CloseCode.NORMAL_CLOSURE: 1000>, reason=''), False)
Exiting _receive_data_loop()
_close_coro: websocket connection closed
_close_coro: start cleanup
_close_coro: exiting
wait_close: done
close: done
----------------------------------------------------------------------------------- Captured log teardown -----------------------------------------------------------------------------------
DEBUG gql.transport.websockets:websockets_base.py:657 close: starting
DEBUG gql.transport.websockets:websockets_base.py:638 _fail: starting with exception: TransportClosed('Websocket GraphQL transport closed by user')
DEBUG gql.transport.websockets:websockets_base.py:665 wait_close: starting
DEBUG gql.transport.websockets:websockets_base.py:583 _close_coro: starting
DEBUG gql.transport.websockets:websockets_base.py:605 _close_coro: starting clean_close
INFO gql.transport.websockets:websockets_base.py:218 >>> {"type": "connection_terminate"}
DEBUG gql.transport.websockets:websockets_base.py:611 _close_coro: sending exception to listeners
DEBUG gql.transport.websockets:websockets_base.py:617 _close_coro: close websocket connection
DEBUG gql.transport.websockets:websockets_base.py:638 _fail: starting with exception: ConnectionClosedOK(Close(code=1000, reason=''), Close(code=<CloseCode.NORMAL_CLOSURE: 1000>, reason=''), False)
DEBUG gql.transport.websockets:websockets_base.py:649 close_task is not None in _fail. Previous exception is: TransportClosed('Websocket GraphQL transport closed by user') New exception is: ConnectionClosedOK(Close(code=1000, reason=''), Close(code=<CloseCode.NORMAL_CLOSURE: 1000>, reason=''), False)
DEBUG gql.transport.websockets:websockets_base.py:339 Exiting _receive_data_loop()
DEBUG gql.transport.websockets:websockets_base.py:621 _close_coro: websocket connection closed
DEBUG gql.transport.websockets:websockets_base.py:628 _close_coro: start cleanup
DEBUG gql.transport.websockets:websockets_base.py:635 _close_coro: exiting
DEBUG gql.transport.websockets:websockets_base.py:669 wait_close: done
DEBUG gql.transport.websockets:websockets_base.py:662 close: done
___________________________________________________________________________________ test_hero_name_query ____________________________________________________________________________________
self = <urllib3.connection.HTTPConnection object at 0x7f06fef89240>
def _new_conn(self) -> socket.socket:
"""Establish a socket connection and set nodelay settings on it.
:return: New socket connection.
"""
try:
> sock = connection.create_connection(
(self._dns_host, self.port),
self.timeout,
source_address=self.source_address,
socket_options=self.socket_options,
)
/usr/lib/python3.10/site-packages/urllib3/connection.py:196:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/urllib3/util/connection.py:85: in create_connection
raise err
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
address = ('127.0.0.1', 8000), timeout = None, source_address = None, socket_options = [(6, 1, 1)]
def create_connection(
address: tuple[str, int],
timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,
source_address: tuple[str, int] | None = None,
socket_options: _TYPE_SOCKET_OPTIONS | None = None,
) -> socket.socket:
"""Connect to *address* and return the socket object.
Convenience function. Connect to *address* (a 2-tuple ``(host,
port)``) and return the socket object. Passing the optional
*timeout* parameter will set the timeout on the socket instance
before attempting to connect. If no *timeout* is supplied, the
global default timeout setting returned by :func:`socket.getdefaulttimeout`
is used. If *source_address* is set it must be a tuple of (host, port)
for the socket to bind as a source address before making the connection.
An host of '' or port 0 tells the OS to use the default.
"""
host, port = address
if host.startswith("["):
host = host.strip("[]")
err = None
# Using the value from allowed_gai_family() in the context of getaddrinfo lets
# us select whether to work with IPv4 DNS records, IPv6 records, or both.
# The original create_connection function always returns all records.
family = allowed_gai_family()
try:
host.encode("idna")
except UnicodeError:
raise LocationParseError(f"'{host}', label empty or too long") from None
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
af, socktype, proto, canonname, sa = res
sock = None
try:
sock = socket.socket(af, socktype, proto)
# If provided, set socket level options before connecting.
_set_socket_options(sock, socket_options)
if timeout is not _DEFAULT_TIMEOUT:
sock.settimeout(timeout)
if source_address:
sock.bind(source_address)
> sock.connect(sa)
E ConnectionRefusedError: [Errno 111] Connection refused
/usr/lib/python3.10/site-packages/urllib3/util/connection.py:73: ConnectionRefusedError
The above exception was the direct cause of the following exception:
self = <urllib3.connectionpool.HTTPConnectionPool object at 0x7f06fef88640>, method = 'POST', url = '/graphql'
body = b'{"query": "query IntrospectionQuery {\\n __schema {\\n queryType {\\n name\\n }\\n mutationType {\\n ... }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}"}'
headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-aliv...GXZfkKUtWtvUROaFfDe2GBiV7yIRsqs3r2j9aYchRDXTNo3lHp72h5k', 'Content-Length': '1609', 'Content-Type': 'application/json'}
retries = Retry(total=0, connect=None, read=False, redirect=None, status=None), redirect = False, assert_same_host = False, timeout = Timeout(connect=None, read=None, total=None)
pool_timeout = None, release_conn = False, chunked = False, body_pos = None, preload_content = False, decode_content = False, response_kw = {}
parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/graphql', query=None, fragment=None), destination_scheme = None, conn = None, release_this_conn = True
http_tunnel_required = False, err = None, clean_exit = False
def urlopen( # type: ignore[override]
self,
method: str,
url: str,
body: _TYPE_BODY | None = None,
headers: typing.Mapping[str, str] | None = None,
retries: Retry | bool | int | None = None,
redirect: bool = True,
assert_same_host: bool = True,
timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,
pool_timeout: int | None = None,
release_conn: bool | None = None,
chunked: bool = False,
body_pos: _TYPE_BODY_POSITION | None = None,
preload_content: bool = True,
decode_content: bool = True,
**response_kw: typing.Any,
) -> BaseHTTPResponse:
"""
Get a connection from the pool and perform an HTTP request. This is the
lowest level call for making a request, so you'll need to specify all
the raw details.
.. note::
More commonly, it's appropriate to use a convenience method
such as :meth:`request`.
.. note::
`release_conn` will only behave as expected if
`preload_content=False` because we want to make
`preload_content=False` the default behaviour someday soon without
breaking backwards compatibility.
:param method:
HTTP request method (such as GET, POST, PUT, etc.)
:param url:
The URL to perform the request on.
:param body:
Data to send in the request body, either :class:`str`, :class:`bytes`,
an iterable of :class:`str`/:class:`bytes`, or a file-like object.
:param headers:
Dictionary of custom headers to send, such as User-Agent,
If-None-Match, etc. If None, pool headers are used. If provided,
these headers completely replace any pool-specific headers.
:param retries:
Configure the number of retries to allow before raising a
:class:`~urllib3.exceptions.MaxRetryError` exception.
If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a
:class:`~urllib3.util.retry.Retry` object for fine-grained control
over different types of retries.
Pass an integer number to retry connection errors that many times,
but no other types of errors. Pass zero to never retry.
If ``False``, then retries are disabled and any exception is raised
immediately. Also, instead of raising a MaxRetryError on redirects,
the redirect response will be returned.
:type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.
:param redirect:
If True, automatically handle redirects (status codes 301, 302,
303, 307, 308). Each redirect counts as a retry. Disabling retries
will disable redirect, too.
:param assert_same_host:
If ``True``, will make sure that the host of the pool requests is
consistent else will raise HostChangedError. When ``False``, you can
use the pool on an HTTP proxy and request foreign hosts.
:param timeout:
If specified, overrides the default timeout for this one
request. It may be a float (in seconds) or an instance of
:class:`urllib3.util.Timeout`.
:param pool_timeout:
If set and the pool is set to block=True, then this method will
block for ``pool_timeout`` seconds and raise EmptyPoolError if no
connection is available within the time period.
:param bool preload_content:
If True, the response's body will be preloaded into memory.
:param bool decode_content:
If True, will attempt to decode the body based on the
'content-encoding' header.
:param release_conn:
If False, then the urlopen call will not release the connection
back into the pool once a response is received (but will release if
you read the entire contents of the response such as when
`preload_content=True`). This is useful if you're not preloading
the response's content immediately. You will need to call
``r.release_conn()`` on the response ``r`` to return the connection
back into the pool. If None, it takes the value of ``preload_content``
which defaults to ``True``.
:param bool chunked:
If True, urllib3 will send the body using chunked transfer
encoding. Otherwise, urllib3 will send the body using the standard
content-length form. Defaults to False.
:param int body_pos:
Position to seek to in file-like body in the event of a retry or
redirect. Typically this won't need to be set because urllib3 will
auto-populate the value when needed.
"""
parsed_url = parse_url(url)
destination_scheme = parsed_url.scheme
if headers is None:
headers = self.headers
if not isinstance(retries, Retry):
retries = Retry.from_int(retries, redirect=redirect, default=self.retries)
if release_conn is None:
release_conn = preload_content
# Check host
if assert_same_host and not self.is_same_host(url):
raise HostChangedError(self, url, retries)
# Ensure that the URL we're connecting to is properly encoded
if url.startswith("/"):
url = to_str(_encode_target(url))
else:
url = to_str(parsed_url.url)
conn = None
# Track whether `conn` needs to be released before
# returning/raising/recursing. Update this variable if necessary, and
# leave `release_conn` constant throughout the function. That way, if
# the function recurses, the original value of `release_conn` will be
# passed down into the recursive call, and its value will be respected.
#
# See issue #651 [1] for details.
#
# [1] <https://github.com/urllib3/urllib3/issues/651>
release_this_conn = release_conn
http_tunnel_required = connection_requires_http_tunnel(
self.proxy, self.proxy_config, destination_scheme
)
# Merge the proxy headers. Only done when not using HTTP CONNECT. We
# have to copy the headers dict so we can safely change it without those
# changes being reflected in anyone else's copy.
if not http_tunnel_required:
headers = headers.copy() # type: ignore[attr-defined]
headers.update(self.proxy_headers) # type: ignore[union-attr]
# Must keep the exception bound to a separate variable or else Python 3
# complains about UnboundLocalError.
err = None
# Keep track of whether we cleanly exited the except block. This
# ensures we do proper cleanup in finally.
clean_exit = False
# Rewind body position, if needed. Record current position
# for future rewinds in the event of a redirect/retry.
body_pos = set_file_position(body, body_pos)
try:
# Request a connection from the queue.
timeout_obj = self._get_timeout(timeout)
conn = self._get_conn(timeout=pool_timeout)
conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment]
# Is this a closed/new connection that requires CONNECT tunnelling?
if self.proxy is not None and http_tunnel_required and conn.is_closed:
try:
self._prepare_proxy(conn)
except (BaseSSLError, OSError, SocketTimeout) as e:
self._raise_timeout(
err=e, url=self.proxy.url, timeout_value=conn.timeout
)
raise
# If we're going to release the connection in ``finally:``, then
# the response doesn't need to know about the connection. Otherwise
# it will also try to release it and we'll have a double-release
# mess.
response_conn = conn if not release_conn else None
# Make the request on the HTTPConnection object
> response = self._make_request(
conn,
method,
url,
timeout=timeout_obj,
body=body,
headers=headers,
chunked=chunked,
retries=retries,
response_conn=response_conn,
preload_content=preload_content,
decode_content=decode_content,
**response_kw,
)
/usr/lib/python3.10/site-packages/urllib3/connectionpool.py:789:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/urllib3/connectionpool.py:536: in _make_request
response = conn.getresponse()
/usr/lib/python3.10/site-packages/vcr/stubs/__init__.py:277: in getresponse
self.real_connection.request(
/usr/lib/python3.10/site-packages/urllib3/connection.py:398: in request
self.endheaders()
/usr/lib64/python3.10/http/client.py:1278: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib64/python3.10/http/client.py:1038: in _send_output
self.send(msg)
/usr/lib64/python3.10/http/client.py:976: in send
self.connect()
/usr/lib/python3.10/site-packages/urllib3/connection.py:236: in connect
self.sock = self._new_conn()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <urllib3.connection.HTTPConnection object at 0x7f06fef89240>
def _new_conn(self) -> socket.socket:
"""Establish a socket connection and set nodelay settings on it.
:return: New socket connection.
"""
try:
sock = connection.create_connection(
(self._dns_host, self.port),
self.timeout,
source_address=self.source_address,
socket_options=self.socket_options,
)
except socket.gaierror as e:
raise NameResolutionError(self.host, self, e) from e
except SocketTimeout as e:
raise ConnectTimeoutError(
self,
f"Connection to {self.host} timed out. (connect timeout={self.timeout})",
) from e
except OSError as e:
> raise NewConnectionError(
self, f"Failed to establish a new connection: {e}"
) from e
E urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f06fef89240>: Failed to establish a new connection: [Errno 111] Connection refused
/usr/lib/python3.10/site-packages/urllib3/connection.py:211: NewConnectionError
The above exception was the direct cause of the following exception:
self = <requests.adapters.HTTPAdapter object at 0x7f06fef87df0>, request = <PreparedRequest [POST]>, stream = False, timeout = Timeout(connect=None, read=None, total=None), verify = True
cert = None, proxies = OrderedDict()
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
> resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
/usr/lib/python3.10/site-packages/requests/adapters.py:667:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/urllib3/connectionpool.py:843: in urlopen
retries = retries.increment(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = Retry(total=0, connect=None, read=False, redirect=None, status=None), method = 'POST', url = '/graphql', response = None
error = NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f06fef89240>: Failed to establish a new connection: [Errno 111] Connection refused')
_pool = <urllib3.connectionpool.HTTPConnectionPool object at 0x7f06fef88640>, _stacktrace = <traceback object at 0x7f06ff30aa40>
def increment(
self,
method: str | None = None,
url: str | None = None,
response: BaseHTTPResponse | None = None,
error: Exception | None = None,
_pool: ConnectionPool | None = None,
_stacktrace: TracebackType | None = None,
) -> Self:
"""Return a new Retry object with incremented retry counters.
:param response: A response object, or None, if the server did not
return a response.
:type response: :class:`~urllib3.response.BaseHTTPResponse`
:param Exception error: An error encountered during the request, or
None if the response was received successfully.
:return: A new ``Retry`` object.
"""
if self.total is False and error:
# Disabled, indicate to re-raise the error.
raise reraise(type(error), error, _stacktrace)
total = self.total
if total is not None:
total -= 1
connect = self.connect
read = self.read
redirect = self.redirect
status_count = self.status
other = self.other
cause = "unknown"
status = None
redirect_location = None
if error and self._is_connection_error(error):
# Connect retry?
if connect is False:
raise reraise(type(error), error, _stacktrace)
elif connect is not None:
connect -= 1
elif error and self._is_read_error(error):
# Read retry?
if read is False or method is None or not self._is_method_retryable(method):
raise reraise(type(error), error, _stacktrace)
elif read is not None:
read -= 1
elif error:
# Other retry?
if other is not None:
other -= 1
elif response and response.get_redirect_location():
# Redirect retry?
if redirect is not None:
redirect -= 1
cause = "too many redirects"
response_redirect_location = response.get_redirect_location()
if response_redirect_location:
redirect_location = response_redirect_location
status = response.status
else:
# Incrementing because of a server error like a 500 in
# status_forcelist and the given method is in the allowed_methods
cause = ResponseError.GENERIC_ERROR
if response and response.status:
if status_count is not None:
status_count -= 1
cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)
status = response.status
history = self.history + (
RequestHistory(method, url, error, status, redirect_location),
)
new_retry = self.new(
total=total,
connect=connect,
read=read,
redirect=redirect,
status=status_count,
other=other,
history=history,
)
if new_retry.is_exhausted():
reason = error or ResponseError(cause)
> raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f06fef89240>: Failed to establish a new connection: [Errno 111] Connection refused'))
/usr/lib/python3.10/site-packages/urllib3/util/retry.py:519: MaxRetryError
During handling of the above exception, another exception occurred:
client = <gql.client.Client object at 0x7f06ff1af010>
def test_hero_name_query(client):
query = gql(
"""
{
myFavoriteFilm: film(id:"RmlsbToz") {
id
title
episodeId
characters(first:5) {
edges {
node {
name
}
}
}
}
}
"""
)
expected = {
"myFavoriteFilm": {
"id": "RmlsbToz",
"title": "Return of the Jedi",
"episodeId": 6,
"characters": {
"edges": [
{"node": {"name": "Luke Skywalker"}},
{"node": {"name": "C-3PO"}},
{"node": {"name": "R2-D2"}},
{"node": {"name": "Darth Vader"}},
{"node": {"name": "Leia Organa"}},
]
},
}
}
with use_cassette("queries"):
> result = client.execute(query)
tests/test_transport.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
gql/client.py:484: in execute
return self.execute_sync(
gql/client.py:247: in execute_sync
with self as session:
gql/client.py:860: in __enter__
return self.connect_sync()
gql/client.py:841: in connect_sync
self.session.fetch_schema()
gql/client.py:1293: in fetch_schema
execution_result = self.transport.execute(parse(introspection_query))
gql/transport/requests.py:237: in execute
response = self.session.request(
/usr/lib/python3.10/site-packages/requests/sessions.py:589: in request
resp = self.send(prep, **send_kwargs)
/usr/lib/python3.10/site-packages/requests/sessions.py:703: in send
r = adapter.send(request, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <requests.adapters.HTTPAdapter object at 0x7f06fef87df0>, request = <PreparedRequest [POST]>, stream = False, timeout = Timeout(connect=None, read=None, total=None), verify = True
cert = None, proxies = OrderedDict()
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
except (ProtocolError, OSError) as err:
raise ConnectionError(err, request=request)
except MaxRetryError as e:
if isinstance(e.reason, ConnectTimeoutError):
# TODO: Remove this in 3.0.0: see #2811
if not isinstance(e.reason, NewConnectionError):
raise ConnectTimeout(e, request=request)
if isinstance(e.reason, ResponseError):
raise RetryError(e, request=request)
if isinstance(e.reason, _ProxyError):
raise ProxyError(e, request=request)
if isinstance(e.reason, _SSLError):
# This branch is for urllib3 v1.22 and later.
raise SSLError(e, request=request)
> raise ConnectionError(e, request=request)
E requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f06fef89240>: Failed to establish a new connection: [Errno 111] Connection refused'))
/usr/lib/python3.10/site-packages/requests/adapters.py:700: ConnectionError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
>>> {"query": "query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}"}
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
INFO gql.transport.requests:requests.py:227 >>> {"query": "query IntrospectionQuery {\n __schema {\n queryType {\n name\n }\n mutationType {\n name\n }\n subscriptionType {\n name\n }\n types {\n ...FullType\n }\n directives {\n name\n description\n locations\n args {\n ...InputValue\n }\n }\n }\n}\n\nfragment FullType on __Type {\n kind\n name\n description\n fields(includeDeprecated: true) {\n name\n description\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n description\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n}\n\nfragment InputValue on __InputValue {\n name\n description\n type {\n ...TypeRef\n }\n defaultValue\n}\n\nfragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n}"}
_________________________________________________________________________________ test_query_with_variable __________________________________________________________________________________
self = <urllib3.connection.HTTPConnection object at 0x7f06fe3e3460>
def _new_conn(self) -> socket.socket:
"""Establish a socket connection and set nodelay settings on it.
:return: New socket connection.
"""
try:
> sock = connection.create_connection(
(self._dns_host, self.port),
self.timeout,
source_address=self.source_address,
socket_options=self.socket_options,
)
/usr/lib/python3.10/site-packages/urllib3/connection.py:196:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[..]
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
[..]
================================================================================== short test summary info ==================================================================================
SKIPPED [1] tests/test_aiohttp_online.py:11: need --run-online option to run
SKIPPED [1] tests/test_aiohttp_online.py:56: need --run-online option to run
SKIPPED [1] tests/test_aiohttp_online.py:84: need --run-online option to run
SKIPPED [1] tests/test_client.py:121: need --run-online option to run
SKIPPED [1] tests/test_client.py:156: need --run-online option to run
SKIPPED [1] tests/test_client.py:188: need --run-online option to run
SKIPPED [2] tests/test_http_async_sync.py:6: need --run-online option to run
SKIPPED [2] tests/test_http_async_sync.py:50: need --run-online option to run
SKIPPED [2] tests/test_http_async_sync.py:74: need --run-online option to run
SKIPPED [2] tests/test_http_async_sync.py:117: need --run-online option to run
SKIPPED [1] tests/test_httpx_online.py:11: need --run-online option to run
SKIPPED [1] tests/test_httpx_online.py:56: need --run-online option to run
SKIPPED [1] tests/test_httpx_online.py:84: need --run-online option to run
SKIPPED [1] tests/test_requests_batch.py:548: backend does not support batching anymore...
SKIPPED [1] tests/test_requests_batch.py:614: backend does not support batching anymore...
SKIPPED [1] tests/test_requests_batch.py:652: backend does not support batching anymore...
SKIPPED [1] tests/test_websocket_online.py:24: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
SKIPPED [1] tests/test_websocket_online.py:65: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
SKIPPED [1] tests/test_websocket_online.py:95: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
SKIPPED [1] tests/test_websocket_online.py:131: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
SKIPPED [1] tests/test_websocket_online.py:153: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
SKIPPED [1] tests/test_websocket_online.py:205: backend does not support websockets anymore: https://github.com/trevorblades/countries/issues/42
FAILED tests/starwars/test_dsl.py::test_get_introspection_query_ast[True] - AssertionError: assert 'query Intros... }\n }\n}' == 'query Intros... }\n }\n}'
FAILED tests/starwars/test_dsl.py::test_get_introspection_query_ast[False] - AssertionError: assert 'query Intros... }\n }\n}' == 'query Intros... }\n }\n}'
FAILED tests/test_async_client_validation.py::test_async_client_validation_fetch_schema_from_server_valid_query[server0] - AssertionError: assert {'__schema': ...ption'}, ...}} == {'__schema': ...ption'}, ...}}
FAILED tests/test_transport.py::test_hero_name_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport.py::test_query_with_variable - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport.py::test_named_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport.py::test_header_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport_batch.py::test_hero_name_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport_batch.py::test_query_with_variable - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport_batch.py::test_named_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
FAILED tests/test_transport_batch.py::test_header_query - requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8000): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPCon...
================================================================= 11 failed, 530 passed, 26 skipped, 446 warnings in 25.86s ================================================================= probably still something is missing in build env but cannot find what 🤔 |
You don't have the correct test/dev dependencies. You can install them in your env with The necessary dependencies are:
|
I'm using latest version of above modules. Did you try to unstick versions of above list? From above list [tkloczko@pers-jacek gql-3.5.0]$ grep -r mock
gql-checker/gql_checker/stdlib_list.py: "unittest.mock",
tests/test_appsync_auth.py:mock_transport_host = "appsyncapp.awsgateway.com.example.org"
tests/test_appsync_auth.py:mock_transport_url = f"https://{mock_transport_host}/graphql"
tests/test_appsync_auth.py: url=mock_transport_url, session=fake_session_factory()
tests/test_appsync_auth.py: url=mock_transport_url,
tests/test_appsync_auth.py: auth = AppSyncJWTAuthentication(host=mock_transport_host, jwt="some-jwt")
tests/test_appsync_auth.py: sample_transport = AppSyncWebsocketsTransport(url=mock_transport_url, auth=auth)
tests/test_appsync_auth.py: "host": mock_transport_host,
tests/test_appsync_auth.py: auth = AppSyncApiKeyAuthentication(host=mock_transport_host, api_key="some-api-key")
tests/test_appsync_auth.py: sample_transport = AppSyncWebsocketsTransport(url=mock_transport_url, auth=auth)
tests/test_appsync_auth.py: "host": mock_transport_host,
tests/test_appsync_auth.py: host=mock_transport_host,
tests/test_appsync_auth.py: AppSyncWebsocketsTransport(url=mock_transport_url, auth=auth)
tests/test_appsync_auth.py: host=mock_transport_host,
tests/test_appsync_auth.py: sample_transport = AppSyncWebsocketsTransport(url=mock_transport_url, auth=auth)
tests/test_appsync_auth.py: transport = AppSyncWebsocketsTransport(url=mock_transport_url, session=session)
tests/test_client.py:from unittest import mock
tests/test_client.py:@mock.patch("urllib3.connection.HTTPConnection._new_conn")
tests/test_client.py:def test_retries_on_transport(execute_mock):
tests/test_client.py: execute_mock.side_effect = NewConnectionError(
tests/test_client.py: assert execute_mock.call_count == expected_retries + 1
tests/test_client.py: execute_mock.reset_mock()
tests/test_client.py: assert execute_mock.call_count == expected_retries + 1
setup.py: "mock==4.0.2",
setup.py: "types-mock",
None of those modules are used on testing. |
That's the current problem. Of course we could and should also bump those dependencies and fix the problems but you should not always expect the code to work if you don't have the versions of the dependencies required.
Thanks for your issues and your recommendations. It's done in PR #504 |
Another suggestion .. please filter all code over |
I've modified the code with |
Please try to check what can do |
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
build
with--no-isolation
I'm using during all processes only locally installed modulesinstaller
modulecut off from access to the public network
(pytest is executed with-m "not network"
)List of installed modules in build env:
Please let me know if you need more details or want me to perform some diagnostics.
The text was updated successfully, but these errors were encountered: