Skip to content

Commit

Permalink
Add test for meta schema value
Browse files Browse the repository at this point in the history
  • Loading branch information
ml-evs committed Sep 6, 2022
1 parent 86ad43c commit cb96146
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/server/test_server_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,40 @@ def test_versioned_base_urls(client, index_client, server: str):
f"Mandatory 'meta' top-level field not found in request to {response.url} for "
f"server {server!r}. Response: {json.dumps(json_response, indent=2)}"
)


@pytest.mark.parametrize("server", ["regular", "index"])
def test_meta_schema_value_obeys_index(client, index_client, server: str):
"""Test that the reported `meta->schema` is correct for index/non-index
servers.
"""
try:
import simplejson as json
except ImportError:
import json

from optimade.server.routers.utils import BASE_URL_PREFIXES
from optimade.server.config import CONFIG

clients = {
"regular": client,
"index": index_client,
}

for version in BASE_URL_PREFIXES.values():
response = clients[server].get(url=version + "/links")
json_response = response.json()

assert response.status_code == 200, (
f"Request to {response.url} failed for server {server!r}: "
f"{json.dumps(json_response, indent=2)}"
)
assert "meta" in json_response, (
f"Mandatory 'meta' top-level field not found in request to {response.url} for "
f"server {server!r}. Response: {json.dumps(json_response, indent=2)}"
)

if server == "regular":
assert json_response["meta"].get("schema") == CONFIG.schema_url
else:
assert json_response["meta"].get("schema") == CONFIG.index_schema_url

0 comments on commit cb96146

Please sign in to comment.