def test_cli_get_transport(parser, param): args = parser.parse_args([*param["args"]]) transport = get_transport(args) assert isinstance(transport, param["class"])
def test_cli_get_transport_appsync_http_iam(parser, url): from gql.transport.aiohttp import AIOHTTPTransport args = parser.parse_args([url, "--transport", "appsync_http"]) transport = get_transport(args) assert isinstance(transport, AIOHTTPTransport)
def test_cli_get_transport_appsync_websockets_iam(parser, url): args = parser.parse_args([url, "--transport", "appsync_websockets"]) transport = get_transport(args) # In the tests, the AWS Appsync credentials are not set # So the transport is None assert transport is None
def test_cli_get_transport_websockets(parser, url): from gql.transport.websockets import WebsocketsTransport args = parser.parse_args([url]) transport = get_transport(args) assert isinstance(transport, WebsocketsTransport)
def test_cli_get_transport_aiohttp(parser, url): from gql.transport.aiohttp import AIOHTTPTransport args = parser.parse_args([url]) transport = get_transport(args) assert isinstance(transport, AIOHTTPTransport)
def test_cli_get_transport_phoenix(parser, url): from gql.transport.phoenix_channel_websockets import ( PhoenixChannelWebsocketsTransport, ) args = parser.parse_args([url, "--transport", "phoenix"]) transport = get_transport(args) assert isinstance(transport, PhoenixChannelWebsocketsTransport)
def test_cli_get_transport_appsync_http_jwt(parser, url): from gql.transport.aiohttp import AIOHTTPTransport from gql.transport.appsync_auth import AppSyncJWTAuthentication args = parser.parse_args([url, "--transport", "appsync_http", "--jwt", "test-jwt"]) transport = get_transport(args) assert isinstance(transport, AIOHTTPTransport) assert isinstance(transport.auth, AppSyncJWTAuthentication) assert transport.auth.jwt == "test-jwt"
def test_cli_get_transport_appsync_http_api_key(parser, url): from gql.transport.aiohttp import AIOHTTPTransport from gql.transport.appsync_auth import AppSyncApiKeyAuthentication args = parser.parse_args( [url, "--transport", "appsync_http", "--api-key", "test-api-key"] ) transport = get_transport(args) assert isinstance(transport, AIOHTTPTransport) assert isinstance(transport.auth, AppSyncApiKeyAuthentication) assert transport.auth.api_key == "test-api-key"
def test_cli_get_transport_no_protocol(parser): args = parser.parse_args(["your_server.com"]) with pytest.raises(ValueError): get_transport(args)