python: Convert function type annotations to Python 3 style.

Generated by com2ann (slightly patched to avoid also converting
assignment type annotations, which require Python 3.6), followed by
some manual whitespace adjustment, and six fixes for runtime issues:

-    def __init__(self, token: Token, parent: Optional[Node]) -> None:
+    def __init__(self, token: Token, parent: "Optional[Node]") -> None:

-def main(options: argparse.Namespace) -> NoReturn:
+def main(options: argparse.Namespace) -> "NoReturn":

-def fetch_request(url: str, callback: Any, **kwargs: Any) -> Generator[Callable[..., Any], Any, None]:
+def fetch_request(url: str, callback: Any, **kwargs: Any) -> "Generator[Callable[..., Any], Any, None]":

-def assert_server_running(server: subprocess.Popen[bytes], log_file: Optional[str]) -> None:
+def assert_server_running(server: "subprocess.Popen[bytes]", log_file: Optional[str]) -> None:

-def server_is_up(server: subprocess.Popen[bytes], log_file: Optional[str]) -> bool:
+def server_is_up(server: "subprocess.Popen[bytes]", log_file: Optional[str]) -> bool:

-    method_kwarg_pairs: List[FuncKwargPair],
+    method_kwarg_pairs: "List[FuncKwargPair]",

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
Anders Kaseorg
2020-04-18 18:48:37 -07:00
committed by Tim Abbott
parent 43ac901ad9
commit 5901e7ba7e
68 changed files with 389 additions and 691 deletions

View File

@@ -46,8 +46,7 @@ def ensure_users(ids_list: List[int], user_names: List[str]) -> None:
assert ids_list == user_ids
@openapi_test_function("/users/me/subscriptions:post")
def add_subscriptions(client):
# type: (Client) -> None
def add_subscriptions(client: Client) -> None:
# {code_example|start}
# Subscribe to the stream "new stream"
@@ -77,8 +76,7 @@ def add_subscriptions(client):
assert result['result'] == 'success'
assert 'newbie@zulip.com' in result['subscribed']
def test_add_subscriptions_already_subscribed(client):
# type: (Client) -> None
def test_add_subscriptions_already_subscribed(client: Client) -> None:
result = client.add_subscriptions(
streams=[
{'name': 'new stream', 'description': 'New stream for testing'}
@@ -89,8 +87,7 @@ def test_add_subscriptions_already_subscribed(client):
validate_against_openapi_schema(result, '/users/me/subscriptions', 'post',
'200_1')
def test_authorization_errors_fatal(client, nonadmin_client):
# type: (Client, Client) -> None
def test_authorization_errors_fatal(client: Client, nonadmin_client: Client) -> None:
client.add_subscriptions(
streams=[
{'name': 'private_stream'}
@@ -125,8 +122,7 @@ def test_authorization_errors_fatal(client, nonadmin_client):
'400_1')
@openapi_test_function("/users/{email}/presence:get")
def get_user_presence(client):
# type: (Client) -> None
def get_user_presence(client: Client) -> None:
# {code_example|start}
# Get presence information for "iago@zulip.com"
@@ -136,8 +132,7 @@ def get_user_presence(client):
validate_against_openapi_schema(result, '/users/{email}/presence', 'get', '200')
@openapi_test_function("/users/me/presence:post")
def update_presence(client):
# type: (Client) -> None
def update_presence(client: Client) -> None:
request = {
'status': 'active',
'ping_only': False,
@@ -149,8 +144,7 @@ def update_presence(client):
assert result['result'] == 'success'
@openapi_test_function("/users:post")
def create_user(client):
# type: (Client) -> None
def create_user(client: Client) -> None:
# {code_example|start}
# Create a user
@@ -171,8 +165,7 @@ def create_user(client):
validate_against_openapi_schema(result, '/users', 'post', '400')
@openapi_test_function("/users:get")
def get_members(client):
# type: (Client) -> None
def get_members(client: Client) -> None:
# {code_example|start}
# Get all users in the realm
@@ -208,8 +201,7 @@ def get_members(client):
assert member.get('profile_data', None) is not None
@openapi_test_function("/users/{user_id}:get")
def get_single_user(client):
# type: (Client) -> None
def get_single_user(client: Client) -> None:
# {code_example|start}
# Fetch details on a user given a user ID
@@ -225,8 +217,7 @@ def get_single_user(client):
validate_against_openapi_schema(result, '/users/{user_id}', 'get', '200')
@openapi_test_function("/users/{user_id}:delete")
def deactivate_user(client):
# type: (Client) -> None
def deactivate_user(client: Client) -> None:
# {code_example|start}
# Deactivate a user
@@ -240,8 +231,7 @@ def deactivate_user(client):
validate_against_openapi_schema(result, '/users/{user_id}', 'delete', '200')
@openapi_test_function("/users/{user_id}:patch")
def update_user(client):
# type: (Client) -> None
def update_user(client: Client) -> None:
# {code_example|start}
# Change a user's full name.
@@ -270,8 +260,7 @@ def update_user(client):
validate_against_openapi_schema(result, '/users/{user_id}', 'patch', '400')
@openapi_test_function("/realm/filters:get")
def get_realm_filters(client):
# type: (Client) -> None
def get_realm_filters(client: Client) -> None:
# {code_example|start}
# Fetch all the filters in this organization
@@ -281,8 +270,7 @@ def get_realm_filters(client):
validate_against_openapi_schema(result, '/realm/filters', 'get', '200')
@openapi_test_function("/realm/filters:post")
def add_realm_filter(client):
# type: (Client) -> None
def add_realm_filter(client: Client) -> None:
# {code_example|start}
# Add a filter to automatically linkify #<number> to the corresponding
@@ -294,8 +282,7 @@ def add_realm_filter(client):
validate_against_openapi_schema(result, '/realm/filters', 'post', '200')
@openapi_test_function("/realm/filters/{filter_id}:delete")
def remove_realm_filter(client):
# type: (Client) -> None
def remove_realm_filter(client: Client) -> None:
# {code_example|start}
# Remove the organization filter with ID 42
@@ -305,8 +292,7 @@ def remove_realm_filter(client):
validate_against_openapi_schema(result, '/realm/filters/{filter_id}', 'delete', '200')
@openapi_test_function("/users/me:get")
def get_profile(client):
# type: (Client) -> None
def get_profile(client: Client) -> None:
# {code_example|start}
# Get the profile of the user/bot that requests this endpoint,
@@ -317,8 +303,7 @@ def get_profile(client):
validate_against_openapi_schema(result, '/users/me', 'get', '200')
@openapi_test_function("/get_stream_id:get")
def get_stream_id(client):
# type: (Client) -> int
def get_stream_id(client: Client) -> int:
# {code_example|start}
# Get the ID of a given stream
@@ -331,8 +316,7 @@ def get_stream_id(client):
return result['stream_id']
@openapi_test_function("/streams/{stream_id}:delete")
def delete_stream(client, stream_id):
# type: (Client, int) -> None
def delete_stream(client: Client, stream_id: int) -> None:
result = client.add_subscriptions(
streams=[
{
@@ -352,8 +336,7 @@ def delete_stream(client, stream_id):
assert result['result'] == 'success'
@openapi_test_function("/streams:get")
def get_streams(client):
# type: (Client) -> None
def get_streams(client: Client) -> None:
# {code_example|start}
# Get all streams that the user has access to
@@ -374,8 +357,7 @@ def get_streams(client):
assert len(result['streams']) == 4
@openapi_test_function("/streams/{stream_id}:patch")
def update_stream(client, stream_id):
# type: (Client, int) -> None
def update_stream(client: Client, stream_id: int) -> None:
# {code_example|start}
# Update the stream by a given ID
@@ -392,8 +374,7 @@ def update_stream(client, stream_id):
assert result['result'] == 'success'
@openapi_test_function("/user_groups:get")
def get_user_groups(client):
# type: (Client) -> int
def get_user_groups(client: Client) -> int:
# {code_example|start}
# Get all user groups of the realm
@@ -409,27 +390,23 @@ def get_user_groups(client):
if u['name'] == "marketing"][0]
return marketing_user_group['id']
def test_user_not_authorized_error(nonadmin_client):
# type: (Client) -> None
def test_user_not_authorized_error(nonadmin_client: Client) -> None:
result = nonadmin_client.get_streams(include_all_active=True)
validate_against_openapi_schema(result, '/rest-error-handling', 'post', '400_2')
def get_subscribers(client):
# type: (Client) -> None
def get_subscribers(client: Client) -> None:
result = client.get_subscribers(stream='new stream')
assert result['subscribers'] == ['iago@zulip.com', 'newbie@zulip.com']
def get_user_agent(client):
# type: (Client) -> None
def get_user_agent(client: Client) -> None:
result = client.get_user_agent()
assert result.startswith('ZulipPython/')
@openapi_test_function("/users/me/subscriptions:get")
def list_subscriptions(client):
# type: (Client) -> None
def list_subscriptions(client: Client) -> None:
# {code_example|start}
# Get all streams that the user is subscribed to
result = client.list_subscriptions()
@@ -442,8 +419,7 @@ def list_subscriptions(client):
assert streams[0]['description'] == 'New stream for testing'
@openapi_test_function("/users/me/subscriptions:delete")
def remove_subscriptions(client):
# type: (Client) -> None
def remove_subscriptions(client: Client) -> None:
# {code_example|start}
# Unsubscribe from the stream "new stream"
@@ -473,8 +449,7 @@ def remove_subscriptions(client):
'delete', '200')
@openapi_test_function("/users/me/subscriptions/muted_topics:patch")
def toggle_mute_topic(client):
# type: (Client) -> None
def toggle_mute_topic(client: Client) -> None:
# Send a test message
message = {
@@ -518,8 +493,7 @@ def toggle_mute_topic(client):
'patch', '200')
@openapi_test_function("/mark_all_as_read:post")
def mark_all_as_read(client):
# type: (Client) -> None
def mark_all_as_read(client: Client) -> None:
# {code_example|start}
# Mark all of the user's unread messages as read
@@ -529,8 +503,7 @@ def mark_all_as_read(client):
validate_against_openapi_schema(result, '/mark_all_as_read', 'post', '200')
@openapi_test_function("/mark_stream_as_read:post")
def mark_stream_as_read(client):
# type: (Client) -> None
def mark_stream_as_read(client: Client) -> None:
# {code_example|start}
# Mark the unread messages in stream with ID "1" as read
@@ -540,8 +513,7 @@ def mark_stream_as_read(client):
validate_against_openapi_schema(result, '/mark_stream_as_read', 'post', '200')
@openapi_test_function("/mark_topic_as_read:post")
def mark_topic_as_read(client):
# type: (Client) -> None
def mark_topic_as_read(client: Client) -> None:
# Grab an existing topic name
topic_name = client.get_stream_topics(1)['topics'][0]['name']
@@ -554,8 +526,7 @@ def mark_topic_as_read(client):
validate_against_openapi_schema(result, '/mark_stream_as_read', 'post', '200')
@openapi_test_function("/users/me/subscriptions/properties:post")
def update_subscription_settings(client):
# type: (Client) -> None
def update_subscription_settings(client: Client) -> None:
# {code_example|start}
# Update the user's subscription in stream #1 to pin it to the top of the
@@ -577,8 +548,7 @@ def update_subscription_settings(client):
'POST', '200')
@openapi_test_function("/messages/render:post")
def render_message(client):
# type: (Client) -> None
def render_message(client: Client) -> None:
# {code_example|start}
# Render a message
@@ -591,8 +561,7 @@ def render_message(client):
validate_against_openapi_schema(result, '/messages/render', 'post', '200')
@openapi_test_function("/messages:get")
def get_messages(client):
# type: (Client) -> None
def get_messages(client: Client) -> None:
# {code_example|start}
# Get the 100 last messages sent by "iago@zulip.com" to the stream "Verona"
@@ -610,8 +579,7 @@ def get_messages(client):
assert len(result['messages']) <= request['num_before']
@openapi_test_function("/messages/{message_id}:get")
def get_raw_message(client, message_id):
# type: (Client, int) -> None
def get_raw_message(client: Client, message_id: int) -> None:
assert int(message_id)
@@ -624,8 +592,7 @@ def get_raw_message(client, message_id):
'200')
@openapi_test_function("/messages:post")
def send_message(client):
# type: (Client) -> int
def send_message(client: Client) -> int:
request = {} # type: Dict[str, Any]
@@ -680,8 +647,7 @@ def send_message(client):
return message_id
@openapi_test_function("/messages/{message_id}/reactions:post")
def add_reaction(client, message_id):
# type: (Client, int) -> None
def add_reaction(client: Client, message_id: int) -> None:
# {code_example|start}
# Add an emoji reaction
request = {
@@ -694,8 +660,7 @@ def add_reaction(client, message_id):
validate_against_openapi_schema(result, '/messages/{message_id}/reactions', 'post', '200')
@openapi_test_function("/messages/{message_id}/reactions:delete")
def remove_reaction(client, message_id):
# type: (Client, int) -> None
def remove_reaction(client: Client, message_id: int) -> None:
# {code_example|start}
# Remove an emoji reaction
request = {
@@ -707,8 +672,7 @@ def remove_reaction(client, message_id):
# {code_example|end}
validate_against_openapi_schema(result, '/messages/{message_id}/reactions', 'delete', '200')
def test_nonexistent_stream_error(client):
# type: (Client) -> None
def test_nonexistent_stream_error(client: Client) -> None:
request = {
"type": "stream",
"to": "nonexistent_stream",
@@ -720,8 +684,7 @@ def test_nonexistent_stream_error(client):
validate_against_openapi_schema(result, '/messages', 'post',
'400_0')
def test_private_message_invalid_recipient(client):
# type: (Client) -> None
def test_private_message_invalid_recipient(client: Client) -> None:
request = {
"type": "private",
"to": "eeshan@zulip.com",
@@ -733,8 +696,7 @@ def test_private_message_invalid_recipient(client):
'400_1')
@openapi_test_function("/messages/{message_id}:patch")
def update_message(client, message_id):
# type: (Client, int) -> None
def update_message(client: Client, message_id: int) -> None:
assert int(message_id)
@@ -761,8 +723,7 @@ def update_message(client, message_id):
assert result['result'] == 'success'
assert result['raw_content'] == request['content']
def test_update_message_edit_permission_error(client, nonadmin_client):
# type: (Client, Client) -> None
def test_update_message_edit_permission_error(client: Client, nonadmin_client: Client) -> None:
request = {
"type": "stream",
"to": "Denmark",
@@ -780,8 +741,7 @@ def test_update_message_edit_permission_error(client, nonadmin_client):
validate_against_openapi_schema(result, '/messages/{message_id}', 'patch', '400')
@openapi_test_function("/messages/{message_id}:delete")
def delete_message(client, message_id):
# type: (Client, int) -> None
def delete_message(client: Client, message_id: int) -> None:
# {code_example|start}
# Delete the message with ID "message_id"
@@ -791,8 +751,7 @@ def delete_message(client, message_id):
validate_against_openapi_schema(result, '/messages/{message_id}', 'delete',
'200')
def test_delete_message_edit_permission_error(client, nonadmin_client):
# type: (Client, Client) -> None
def test_delete_message_edit_permission_error(client: Client, nonadmin_client: Client) -> None:
request = {
"type": "stream",
"to": "Denmark",
@@ -807,8 +766,7 @@ def test_delete_message_edit_permission_error(client, nonadmin_client):
'400_1')
@openapi_test_function("/messages/{message_id}/history:get")
def get_message_history(client, message_id):
# type: (Client, int) -> None
def get_message_history(client: Client, message_id: int) -> None:
# {code_example|start}
# Get the edit history for message with ID "message_id"
@@ -819,8 +777,7 @@ def get_message_history(client, message_id):
'get', '200')
@openapi_test_function("/realm/emoji:get")
def get_realm_emoji(client):
# type: (Client) -> None
def get_realm_emoji(client: Client) -> None:
# {code_example|start}
result = client.get_realm_emoji()
@@ -829,8 +786,7 @@ def get_realm_emoji(client):
validate_against_openapi_schema(result, '/realm/emoji', 'GET', '200')
@openapi_test_function("/messages/flags:post")
def update_message_flags(client):
# type: (Client) -> None
def update_message_flags(client: Client) -> None:
# Send a few test messages
request = {
@@ -870,8 +826,7 @@ def update_message_flags(client):
'200')
@openapi_test_function("/register:post")
def register_queue(client):
# type: (Client) -> str
def register_queue(client: Client) -> str:
# {code_example|start}
# Register the queue
@@ -884,8 +839,7 @@ def register_queue(client):
return result['queue_id']
@openapi_test_function("/events:delete")
def deregister_queue(client, queue_id):
# type: (Client, str) -> None
def deregister_queue(client: Client, queue_id: str) -> None:
# {code_example|start}
# Delete a queue (queue_id is the ID of the queue
@@ -900,8 +854,7 @@ def deregister_queue(client, queue_id):
validate_against_openapi_schema(result, '/events', 'delete', '400')
@openapi_test_function("/server_settings:get")
def get_server_settings(client):
# type: (Client) -> None
def get_server_settings(client: Client) -> None:
# {code_example|start}
# Fetch the settings for this server
@@ -911,8 +864,7 @@ def get_server_settings(client):
validate_against_openapi_schema(result, '/server_settings', 'get', '200')
@openapi_test_function("/settings/notifications:patch")
def update_notification_settings(client):
# type: (Client) -> None
def update_notification_settings(client: Client) -> None:
# {code_example|start}
# Enable push notifications even when online
@@ -926,8 +878,7 @@ def update_notification_settings(client):
validate_against_openapi_schema(result, '/settings/notifications', 'patch', '200')
@openapi_test_function("/user_uploads:post")
def upload_file(client):
# type: (Client) -> None
def upload_file(client: Client) -> None:
path_to_file = os.path.join(ZULIP_DIR, 'zerver', 'tests', 'images', 'img.jpg')
# {code_example|start}
@@ -950,8 +901,7 @@ def upload_file(client):
validate_against_openapi_schema(result, '/user_uploads', 'post', '200')
@openapi_test_function("/users/me/{stream_id}/topics:get")
def get_stream_topics(client, stream_id):
# type: (Client, int) -> None
def get_stream_topics(client: Client, stream_id: int) -> None:
# {code_example|start}
result = client.get_stream_topics(stream_id)
@@ -961,8 +911,7 @@ def get_stream_topics(client, stream_id):
'get', '200')
@openapi_test_function("/typing:post")
def set_typing_status(client):
# type: (Client) -> None
def set_typing_status(client: Client) -> None:
ensure_users([9, 10], ['hamlet', 'iago'])
# {code_example|start}
@@ -994,8 +943,7 @@ def set_typing_status(client):
validate_against_openapi_schema(result, '/typing', 'post', '200')
@openapi_test_function("/realm/emoji/{emoji_name}:post")
def upload_custom_emoji(client):
# type: (Client) -> None
def upload_custom_emoji(client: Client) -> None:
emoji_path = os.path.join(ZULIP_DIR, 'zerver', 'tests', 'images', 'img.jpg')
# {code_example|start}
@@ -1014,15 +962,13 @@ def upload_custom_emoji(client):
'post', '200')
@openapi_test_function("/users/me/alert_words:get")
def get_alert_words(client):
# type: (Client) -> None
def get_alert_words(client: Client) -> None:
result = client.get_alert_words()
assert result['result'] == 'success'
@openapi_test_function("/users/me/alert_words:post")
def add_alert_words(client):
# type: (Client) -> None
def add_alert_words(client: Client) -> None:
word = ['foo', 'bar']
result = client.add_alert_words(word)
@@ -1030,8 +976,7 @@ def add_alert_words(client):
assert result['result'] == 'success'
@openapi_test_function("/users/me/alert_words:delete")
def remove_alert_words(client):
# type: (Client) -> None
def remove_alert_words(client: Client) -> None:
word = ['foo']
result = client.remove_alert_words(word)
@@ -1039,8 +984,7 @@ def remove_alert_words(client):
assert result['result'] == 'success'
@openapi_test_function("/user_groups/create:post")
def create_user_group(client):
# type: (Client) -> None
def create_user_group(client: Client) -> None:
ensure_users([6, 7, 8, 9], ['aaron', 'zoe', 'cordelia', 'hamlet'])
# {code_example|start}
@@ -1057,8 +1001,7 @@ def create_user_group(client):
assert result['result'] == 'success'
@openapi_test_function("/user_groups/{group_id}:patch")
def update_user_group(client, group_id):
# type: (Client, int) -> None
def update_user_group(client: Client, group_id: int) -> None:
# {code_example|start}
request = {
'group_id': group_id,
@@ -1071,8 +1014,7 @@ def update_user_group(client, group_id):
assert result['result'] == 'success'
@openapi_test_function("/user_groups/{group_id}:delete")
def remove_user_group(client, group_id):
# type: (Client, int) -> None
def remove_user_group(client: Client, group_id: int) -> None:
# {code_example|start}
result = client.remove_user_group(group_id)
# {code_example|end}
@@ -1081,8 +1023,7 @@ def remove_user_group(client, group_id):
assert result['result'] == 'success'
@openapi_test_function("/user_groups/{group_id}/members:post")
def update_user_group_members(client, group_id):
# type: (Client, int) -> None
def update_user_group_members(client: Client, group_id: int) -> None:
ensure_users([8, 9, 10], ['cordelia', 'hamlet', 'iago'])
request = {
@@ -1095,28 +1036,24 @@ def update_user_group_members(client, group_id):
assert result['result'] == 'success'
def test_invalid_api_key(client_with_invalid_key):
# type: (Client) -> None
def test_invalid_api_key(client_with_invalid_key: Client) -> None:
result = client_with_invalid_key.list_subscriptions()
validate_against_openapi_schema(result, '/rest-error-handling', 'post', '400_0')
def test_missing_request_argument(client):
# type: (Client) -> None
def test_missing_request_argument(client: Client) -> None:
result = client.render_message({})
validate_against_openapi_schema(result, '/rest-error-handling', 'post', '400_1')
def test_invalid_stream_error(client):
# type: (Client) -> None
def test_invalid_stream_error(client: Client) -> None:
result = client.get_stream_id('nonexistent')
validate_against_openapi_schema(result, '/get_stream_id', 'get', '400')
# SETUP METHODS FOLLOW
def test_against_fixture(result, fixture, check_if_equal=[], check_if_exists=[]):
# type: (Dict[str, Any], Dict[str, Any], Optional[Iterable[str]], Optional[Iterable[str]]) -> None
def test_against_fixture(result: Dict[str, Any], fixture: Dict[str, Any], check_if_equal: Optional[Iterable[str]] = [], check_if_exists: Optional[Iterable[str]] = []) -> None:
assertLength(result, fixture)
if not check_if_equal and not check_if_exists:
@@ -1131,8 +1068,7 @@ def test_against_fixture(result, fixture, check_if_equal=[], check_if_exists=[])
for key in check_if_exists:
assertIn(key, result)
def assertEqual(key, result, fixture):
# type: (str, Dict[str, Any], Dict[str, Any]) -> None
def assertEqual(key: str, result: Dict[str, Any], fixture: Dict[str, Any]) -> None:
if result[key] != fixture[key]:
first = "{key} = {value}".format(key=key, value=result[key])
second = "{key} = {value}".format(key=key, value=fixture[key])
@@ -1141,8 +1077,7 @@ def assertEqual(key, result, fixture):
else:
assert result[key] == fixture[key]
def assertLength(result, fixture):
# type: (Dict[str, Any], Dict[str, Any]) -> None
def assertLength(result: Dict[str, Any], fixture: Dict[str, Any]) -> None:
if len(result) != len(fixture):
result_string = json.dumps(result, indent=4, sort_keys=True)
fixture_string = json.dumps(fixture, indent=4, sort_keys=True)
@@ -1151,8 +1086,7 @@ def assertLength(result, fixture):
else:
assert len(result) == len(fixture)
def assertIn(key, result):
# type: (str, Dict[str, Any]) -> None
def assertIn(key: str, result: Dict[str, Any]) -> None:
if key not in result.keys():
raise AssertionError(
"The actual output does not contain the the key `{key}`.".format(key=key)
@@ -1160,8 +1094,7 @@ def assertIn(key, result):
else:
assert key in result
def test_messages(client, nonadmin_client):
# type: (Client, Client) -> None
def test_messages(client: Client, nonadmin_client: Client) -> None:
render_message(client)
message_id = send_message(client)
@@ -1182,8 +1115,7 @@ def test_messages(client, nonadmin_client):
test_update_message_edit_permission_error(client, nonadmin_client)
test_delete_message_edit_permission_error(client, nonadmin_client)
def test_users(client):
# type: (Client) -> None
def test_users(client: Client) -> None:
create_user(client)
get_members(client)
@@ -1205,8 +1137,7 @@ def test_users(client):
add_alert_words(client)
remove_alert_words(client)
def test_streams(client, nonadmin_client):
# type: (Client, Client) -> None
def test_streams(client: Client, nonadmin_client: Client) -> None:
add_subscriptions(client)
test_add_subscriptions_already_subscribed(client)
@@ -1226,8 +1157,7 @@ def test_streams(client, nonadmin_client):
test_authorization_errors_fatal(client, nonadmin_client)
def test_queues(client):
# type: (Client) -> None
def test_queues(client: Client) -> None:
# Note that the example for api/get-events-from-queue is not tested.
# Since, methods such as client.get_events() or client.call_on_each_message
# are blocking calls and since the event queue backend is already
@@ -1236,8 +1166,7 @@ def test_queues(client):
queue_id = register_queue(client)
deregister_queue(client, queue_id)
def test_server_organizations(client):
# type: (Client) -> None
def test_server_organizations(client: Client) -> None:
get_realm_filters(client)
add_realm_filter(client)
@@ -1246,13 +1175,11 @@ def test_server_organizations(client):
get_realm_emoji(client)
upload_custom_emoji(client)
def test_errors(client):
# type: (Client) -> None
def test_errors(client: Client) -> None:
test_missing_request_argument(client)
test_invalid_stream_error(client)
def test_the_api(client, nonadmin_client):
# type: (Client, Client) -> None
def test_the_api(client: Client, nonadmin_client: Client) -> None:
get_user_agent(client)
test_users(client)