mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 14:35:27 +00:00
docs: Make get-raw-message use curl example system.
This commit is contained in:
@@ -18,10 +18,7 @@ UI).
|
|||||||
|
|
||||||
{tab|curl}
|
{tab|curl}
|
||||||
|
|
||||||
``` curl
|
{generate_code_example(curl)|/messages/{message_id}:get|example}
|
||||||
curl -X GET {{ api_url }}/v1/messages/{msg_id} \
|
|
||||||
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
|
|
||||||
```
|
|
||||||
|
|
||||||
{end_tabs}
|
{end_tabs}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import json
|
|||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
import subprocess
|
||||||
import markdown
|
import markdown
|
||||||
|
import os
|
||||||
|
|
||||||
from zulip import Client
|
from zulip import Client
|
||||||
from zerver.lib.bugdown import api_code_examples
|
from zerver.lib.bugdown import api_code_examples
|
||||||
@@ -15,6 +16,13 @@ whitelisted_files = [
|
|||||||
"get-messages.md",
|
"get-messages.md",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
exclude_list = [
|
||||||
|
# The endpoint in these docs expect one or more param values that reflects the DB state.
|
||||||
|
# We currently get the example values from openapi specs and they don't refelect the
|
||||||
|
# state of the DB. This results in the curl request to fail.
|
||||||
|
'get-raw-message.md',
|
||||||
|
]
|
||||||
|
|
||||||
def test_generated_curl_examples_for_success(client: Client) -> None:
|
def test_generated_curl_examples_for_success(client: Client) -> None:
|
||||||
authentication_line = "{}:{}".format(client.email, client.api_key)
|
authentication_line = "{}:{}".format(client.email, client.api_key)
|
||||||
# A limited markdown engine that just processes the code example syntax.
|
# A limited markdown engine that just processes the code example syntax.
|
||||||
@@ -23,13 +31,15 @@ def test_generated_curl_examples_for_success(client: Client) -> None:
|
|||||||
api_url=realm.uri + "/api")])
|
api_url=realm.uri + "/api")])
|
||||||
|
|
||||||
for file_name in glob.glob("templates/zerver/api/*.md"):
|
for file_name in glob.glob("templates/zerver/api/*.md"):
|
||||||
|
if os.path.basename(file_name) in exclude_list:
|
||||||
|
print("Skipping", file_name)
|
||||||
|
continue
|
||||||
documentation_lines = open(file_name, "r").readlines()
|
documentation_lines = open(file_name, "r").readlines()
|
||||||
for line in documentation_lines:
|
for line in documentation_lines:
|
||||||
# A typical example from the markdown source looks like this:
|
# A typical example from the markdown source looks like this:
|
||||||
# {generate_code_example(curl, ...}
|
# {generate_code_example(curl, ...}
|
||||||
if not line.startswith("{generate_code_example(curl"):
|
if not line.startswith("{generate_code_example(curl"):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# To do an end-to-end test on the documentation examples
|
# To do an end-to-end test on the documentation examples
|
||||||
# that will be actually shown to users, we use the
|
# that will be actually shown to users, we use the
|
||||||
# markdown rendering pipeline to compute the user-facing
|
# markdown rendering pipeline to compute the user-facing
|
||||||
|
|||||||
Reference in New Issue
Block a user