mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
api/update-message: Make code examples and fixtures testable.
This commit uses the Markdown extension defined in zerver/lib/bugdown/api_generate_examples to generate the example fixture and code example, so that both are tested in tools/lib/api_tests.
This commit is contained in:
@@ -13,5 +13,9 @@
|
|||||||
"msg":"",
|
"msg":"",
|
||||||
"id":134,
|
"id":134,
|
||||||
"result":"success"
|
"result":"success"
|
||||||
|
},
|
||||||
|
"update-message": {
|
||||||
|
"msg":"",
|
||||||
|
"result":"success"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,21 +27,7 @@ curl -X "PATCH" {{ api_url }}/v1/messages/<msg_id> \
|
|||||||
|
|
||||||
<div data-language="python" markdown="1">
|
<div data-language="python" markdown="1">
|
||||||
|
|
||||||
```python
|
{generate_code_example|update-message|method}
|
||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
import zulip
|
|
||||||
|
|
||||||
# Download ~/zuliprc-dev from your dev server
|
|
||||||
client = zulip.Client(config_file="~/zuliprc-dev")
|
|
||||||
|
|
||||||
# Edit a message
|
|
||||||
print(client.update_message({
|
|
||||||
"message_id": 131,
|
|
||||||
"content": "New content"
|
|
||||||
}))
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -89,12 +75,7 @@ You only have permission to edit a message if:
|
|||||||
|
|
||||||
A typical successful JSON response may look like:
|
A typical successful JSON response may look like:
|
||||||
|
|
||||||
```
|
{generate_code_example|update-message|fixture}
|
||||||
{
|
|
||||||
'msg':'',
|
|
||||||
'result':'success'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
A typical JSON response for when one doesn't have the permission to
|
A typical JSON response for when one doesn't have the permission to
|
||||||
edit a particular message:
|
edit a particular message:
|
||||||
|
|||||||
@@ -182,12 +182,20 @@ def update_message(client, message_id):
|
|||||||
# type: (Client, int) -> None
|
# type: (Client, int) -> None
|
||||||
|
|
||||||
assert int(message_id)
|
assert int(message_id)
|
||||||
request = dict(
|
|
||||||
message_id=message_id,
|
# {code_example|start}
|
||||||
content='new content',
|
# Edit a message
|
||||||
)
|
# (make sure that message_id below is set to the ID of the
|
||||||
|
# message you wish to update)
|
||||||
|
request = {
|
||||||
|
"message_id": message_id,
|
||||||
|
"content": "New content"
|
||||||
|
}
|
||||||
result = client.update_message(request)
|
result = client.update_message(request)
|
||||||
assert result['result'] == 'success'
|
# {code_example|end}
|
||||||
|
|
||||||
|
fixture = FIXTURES['update-message']
|
||||||
|
test_against_fixture(result, fixture)
|
||||||
|
|
||||||
# test it was actually updated
|
# test it was actually updated
|
||||||
url = 'messages/' + str(message_id)
|
url = 'messages/' + str(message_id)
|
||||||
@@ -196,12 +204,13 @@ def update_message(client, message_id):
|
|||||||
method='GET'
|
method='GET'
|
||||||
)
|
)
|
||||||
assert result['result'] == 'success'
|
assert result['result'] == 'success'
|
||||||
assert result['raw_content'] == 'new content'
|
assert result['raw_content'] == request['content']
|
||||||
|
|
||||||
TEST_FUNCTIONS = {
|
TEST_FUNCTIONS = {
|
||||||
'render-message': render_message,
|
'render-message': render_message,
|
||||||
'stream-message': stream_message,
|
'stream-message': stream_message,
|
||||||
'private-message': private_message,
|
'private-message': private_message,
|
||||||
|
'update-message': update_message,
|
||||||
}
|
}
|
||||||
|
|
||||||
# SETUP METHODS FOLLOW
|
# SETUP METHODS FOLLOW
|
||||||
|
|||||||
Reference in New Issue
Block a user