zulip/zerver/openapi/javascript_examples.py

27 lines
948 B
Python

import os
import json
import subprocess
from zulip import Client
from zerver.openapi.openapi import validate_against_openapi_schema
def test_js_bindings(client: Client) -> None:
os.environ['ZULIP_USERNAME'] = client.email
os.environ['ZULIP_API_KEY'] = client.api_key
os.environ['ZULIP_REALM'] = client.base_url[:-5]
output = subprocess.check_output(
args=['node', 'zerver/openapi/javascript_examples.js'],
universal_newlines=True,
)
endpoint_responses = json.loads(output)
for response_data in endpoint_responses:
print(f"Testing javascript example: {response_data['name']} ...")
validate_against_openapi_schema(response_data['result'],
response_data['endpoint'],
response_data['method'],
response_data['status_code'])
print('JavaScript examples validated.')