2019-02-28 16:53:03 +03:00
|
|
|
#!/usrbin/env python3
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
from validate import check_query, check_query_f
|
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
pytestmark = [
|
|
|
|
pytest.mark.usefixtures('auth_hook'),
|
2022-09-29 20:18:49 +03:00
|
|
|
pytest.mark.admin_secret,
|
2022-09-29 13:42:47 +03:00
|
|
|
pytest.mark.hge_env('HASURA_GRAPHQL_AUTH_HOOK_MODE', 'POST'),
|
|
|
|
]
|
|
|
|
|
2019-02-28 16:53:03 +03:00
|
|
|
def check_post_404(hge_ctx,url):
|
|
|
|
return check_query(hge_ctx, {
|
|
|
|
'url': url,
|
|
|
|
'status': 404,
|
|
|
|
'query': {}
|
2019-09-04 18:02:35 +03:00
|
|
|
})[0]
|
2019-02-28 16:53:03 +03:00
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
@pytest.mark.hge_env('HASURA_GRAPHQL_ENABLED_APIS', 'graphql')
|
2022-11-15 22:07:34 +03:00
|
|
|
@pytest.mark.default_source_disabled()
|
2019-02-28 16:53:03 +03:00
|
|
|
class TestMetadataDisabled:
|
|
|
|
|
|
|
|
def test_metadata_v1_query_disabled(self, hge_ctx):
|
|
|
|
check_post_404(hge_ctx,'/v1/query')
|
|
|
|
|
|
|
|
def test_metadata_v1_template_disabled(self, hge_ctx):
|
|
|
|
check_post_404(hge_ctx,'/v1/template/foo')
|
|
|
|
|
|
|
|
def test_metadata_api_1_disabled(self, hge_ctx):
|
|
|
|
check_post_404(hge_ctx,'/api/1/table/foo/select')
|
|
|
|
|
2020-01-22 13:50:49 +03:00
|
|
|
def test_graphql_explain_disabled(self, hge_ctx):
|
|
|
|
check_post_404(hge_ctx, '/v1/graphql/explain')
|
2019-02-28 16:53:03 +03:00
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
@pytest.mark.hge_env('HASURA_GRAPHQL_ENABLED_APIS', 'metadata')
|
2019-02-28 16:53:03 +03:00
|
|
|
class TestGraphQLDisabled:
|
|
|
|
|
|
|
|
def test_graphql_endpoint_disabled(self, hge_ctx):
|
2019-05-10 09:05:11 +03:00
|
|
|
check_post_404(hge_ctx, '/v1/graphql')
|
2019-02-28 16:53:03 +03:00
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
@pytest.mark.hge_env('HASURA_GRAPHQL_ENABLED_APIS', 'graphql')
|
2022-11-15 22:07:34 +03:00
|
|
|
@pytest.mark.default_source_disabled()
|
2019-02-28 16:53:03 +03:00
|
|
|
class TestGraphQLEnabled:
|
|
|
|
|
|
|
|
def test_graphql_introspection(self, hge_ctx):
|
|
|
|
check_query_f(hge_ctx, "queries/graphql_introspection/introspection_only_kind_of_queryType.yaml")
|
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
@pytest.mark.hge_env('HASURA_GRAPHQL_ENABLED_APIS', 'metadata')
|
2019-02-28 16:53:03 +03:00
|
|
|
class TestMetadataEnabled:
|
|
|
|
|
|
|
|
def test_reload_metadata(self, hge_ctx):
|
|
|
|
check_query_f(hge_ctx, "queries/v1/metadata/reload_metadata.yaml")
|
|
|
|
|
|
|
|
def test_run_sql(self, hge_ctx):
|
|
|
|
check_query_f(hge_ctx, "queries/v1/run_sql/sql_set_timezone.yaml")
|