diff --git a/templates/zerver/api/fixtures.json b/templates/zerver/api/fixtures.json
index 48f0edaffc..8c61a637e5 100644
--- a/templates/zerver/api/fixtures.json
+++ b/templates/zerver/api/fixtures.json
@@ -22,5 +22,88 @@
"stream_id":15,
"result":"success",
"msg":""
+ },
+ "get-subscribed-streams": {
+ "msg":"",
+ "result":"success",
+ "subscriptions":[
+ {
+ "audible_notifications":true,
+ "color":"#e79ab5",
+ "description":"A Scandinavian country",
+ "desktop_notifications":true,
+ "email_address":"Denmark+187b4125ed36d6af8b5d03ef4f65c0cf@zulipdev.com:9981",
+ "in_home_view":true,
+ "invite_only":false,
+ "name":"Denmark",
+ "pin_to_top":false,
+ "push_notifications":false,
+ "stream_id":1,
+ "subscribers":[
+ "ZOE@zulip.com",
+ "hamlet@zulip.com",
+ "iago@zulip.com",
+ "othello@zulip.com",
+ "prospero@zulip.com"
+ ]
+ },
+ {
+ "audible_notifications":true,
+ "color":"#e79ab5",
+ "description":"Located in the United Kingdom",
+ "desktop_notifications":true,
+ "email_address":"Scotland+f5786390183e60a1ccb18374f9d05649@zulipdev.com:9981",
+ "in_home_view":true,
+ "invite_only":false,
+ "name":"Scotland",
+ "pin_to_top":false,
+ "push_notifications":false,
+ "stream_id":3,
+ "subscribers":[
+ "ZOE@zulip.com",
+ "iago@zulip.com",
+ "othello@zulip.com",
+ "prospero@zulip.com"
+ ]
+ },
+ {
+ "audible_notifications":true,
+ "color":"#e79ab5",
+ "description":"A city in Italy",
+ "desktop_notifications":true,
+ "email_address":"Verona+faaa92dc82cf143174ddc098a1c832ef@zulipdev.com:9981",
+ "in_home_view":true,
+ "invite_only":false,
+ "name":"Verona",
+ "pin_to_top":false,
+ "push_notifications":false,
+ "stream_id":5,
+ "subscribers":[
+ "AARON@zulip.com",
+ "ZOE@zulip.com",
+ "cordelia@zulip.com",
+ "hamlet@zulip.com",
+ "iago@zulip.com",
+ "othello@zulip.com",
+ "prospero@zulip.com"
+ ]
+ },
+ {
+ "audible_notifications":false,
+ "color":"#76ce90",
+ "description":"New stream for testing",
+ "desktop_notifications":false,
+ "email_address":"new%0032stream+e1917b4fc733268e91fcc57cf79a9249@zulipdev.com:9981",
+ "in_home_view":true,
+ "invite_only":false,
+ "name":"new stream",
+ "pin_to_top":false,
+ "push_notifications":false,
+ "stream_id":6,
+ "subscribers":[
+ "iago@zulip.com"
+ ]
+ }
+ ]
}
}
diff --git a/templates/zerver/api/get-subscribed-streams.md b/templates/zerver/api/get-subscribed-streams.md
index bd51fea529..96adc0f225 100644
--- a/templates/zerver/api/get-subscribed-streams.md
+++ b/templates/zerver/api/get-subscribed-streams.md
@@ -24,17 +24,8 @@ curl {{ api_url }}/v1/users/me/subscriptions \
-```python
-#!/usr/bin/env python
+{generate_code_example|get-subscribed-streams|method}
-import zulip
-
-# Download ~/zuliprc-dev from your dev server
-client = zulip.Client(config_file="~/zuliprc-dev")
-
-# Get all streams that the user is subscribed to
-print(client.list_subscriptions())
-```
@@ -95,54 +86,6 @@ This request takes no arguments.
A typical successful JSON response may look like:
-```
-{
- 'result':'success',
- 'subscriptions':[
- {
- 'desktop_notifications':False,
- 'pin_to_top':False,
- 'subscribers':[
- 'ZOE@zulip.com',
- 'hamlet@zulip.com',
- 'iago@zulip.com',
- 'othello@zulip.com',
- 'prospero@zulip.com',
- 'sample-bot@localhost'
- ],
- 'invite_only':True,
- 'email_address':'Denmark+cb16118453aa4e76cb36e394a153a1a3@zulipdev.com:9991',
- 'name':'Denmark',
- 'color':'#76ce90',
- 'description':'A Scandinavian country',
- 'in_home_view':True,
- 'push_notifications':False,
- 'stream_id':15,
- 'audible_notifications':False
- },
- {
- 'desktop_notifications':False,
- 'pin_to_top':False,
- 'subscribers':[
- 'ZOE@zulip.com',
- 'iago@zulip.com',
- 'othello@zulip.com',
- 'prospero@zulip.com',
- 'sample-bot@localhost'
- ],
- 'invite_only':False,
- 'email_address':'Scotland+463ab6b458e2d0364aab52ca55b70ffb@zulipdev.com:9991',
- 'name':'Scotland',
- 'color':'#fae589',
- 'description':'Located in the United Kingdom',
- 'in_home_view':True,
- 'push_notifications':False,
- 'stream_id':17,
- 'audible_notifications':False
- }
- ],
- 'msg':''
-}
-```
+{generate_code_example|get-subscribed-streams|fixture}
{!invalid-api-key-json-response.md!}
diff --git a/zerver/lib/api_test_helpers.py b/zerver/lib/api_test_helpers.py
index 6766160762..8235889593 100644
--- a/zerver/lib/api_test_helpers.py
+++ b/zerver/lib/api_test_helpers.py
@@ -96,8 +96,15 @@ def get_user_agent(client):
def list_subscriptions(client):
# type: (Client) -> None
+ # {code_example|start}
+ # Get all streams that the user is subscribed to
result = client.list_subscriptions()
- assert result['result'] == 'success'
+ # {code_example|end}
+
+ fixture = FIXTURES['get-subscribed-streams']
+ test_against_fixture(result, fixture, check_if_equal=['msg', 'result'],
+ check_if_exists=['subscriptions'])
+
streams = [s for s in result['subscriptions'] if s['name'] == 'new stream']
assert streams[0]['description'] == 'New stream for testing'
@@ -218,6 +225,7 @@ TEST_FUNCTIONS = {
'private-message': private_message,
'update-message': update_message,
'get-stream-id': get_stream_id,
+ 'get-subscribed-streams': list_subscriptions,
}
# SETUP METHODS FOLLOW