mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
test_openapi: Add prioritization for list of undocumented endpoints.
This commit is contained in:
@@ -162,71 +162,104 @@ class OpenAPIToolsTest(ZulipTestCase):
|
|||||||
class OpenAPIArgumentsTest(ZulipTestCase):
|
class OpenAPIArgumentsTest(ZulipTestCase):
|
||||||
# This will be filled during test_openapi_arguments:
|
# This will be filled during test_openapi_arguments:
|
||||||
checked_endpoints = set() # type: Set[str]
|
checked_endpoints = set() # type: Set[str]
|
||||||
# TODO: These endpoints need to be documented:
|
|
||||||
pending_endpoints = set([
|
pending_endpoints = set([
|
||||||
'/users/me/avatar',
|
#### TODO: These endpoints are a priority to document:
|
||||||
'/settings/display',
|
'/messages/matches_narrow',
|
||||||
'/users/me/profile_data',
|
'/realm/presence',
|
||||||
'/users/me/pointer',
|
'/streams/{stream_id}/members',
|
||||||
|
'/streams/{stream_id}/delete_topic',
|
||||||
'/users/me/presence',
|
'/users/me/presence',
|
||||||
'/bot_storage',
|
|
||||||
'/users/me/api_key/regenerate',
|
|
||||||
'/default_streams',
|
|
||||||
'/default_stream_groups/create',
|
|
||||||
'/users/me/alert_words',
|
'/users/me/alert_words',
|
||||||
'/users/me/status',
|
'/users/me/status',
|
||||||
'/messages/matches_narrow',
|
|
||||||
'/dev_fetch_api_key',
|
#### These realm administration settings are valuable to document:
|
||||||
'/dev_list_users',
|
# List all files uploaded by current user. May want to add support
|
||||||
'/fetch_api_key',
|
# for a larger list available to administrators?
|
||||||
'/fetch_google_client_id',
|
|
||||||
'/settings',
|
|
||||||
'/submessage',
|
|
||||||
'/attachments',
|
'/attachments',
|
||||||
'/calls/create',
|
# Delete a file uploaded by current user.
|
||||||
|
'/attachments/{attachment_id}',
|
||||||
|
# List data exports for organization (GET) or request one (POST)
|
||||||
'/export/realm',
|
'/export/realm',
|
||||||
|
# Delete a data export.
|
||||||
'/export/realm/{export_id}',
|
'/export/realm/{export_id}',
|
||||||
'/zcommand',
|
# Manage default streams and default stream groups
|
||||||
'/realm',
|
'/default_streams',
|
||||||
'/realm/deactivate',
|
'/default_stream_groups/create',
|
||||||
'/realm/domains',
|
'/default_stream_groups/{group_id}',
|
||||||
'/realm/icon',
|
'/default_stream_groups/{group_id}/streams',
|
||||||
'/realm/logo',
|
# Administer a user -- reactivate and/or modify settings.
|
||||||
'/realm/presence',
|
|
||||||
'/realm/profile_fields',
|
|
||||||
'/queue_id',
|
|
||||||
'/invites',
|
|
||||||
'/invites/multiuse',
|
|
||||||
'/bots',
|
|
||||||
# Used for desktop app to test connectivity.
|
|
||||||
'/generate_204',
|
|
||||||
# Mobile-app only endpoints
|
|
||||||
'/users/me/android_gcm_reg_id',
|
|
||||||
'/users/me/apns_device_token',
|
|
||||||
# Regex based urls
|
|
||||||
'/realm/domains/{domain}',
|
|
||||||
'/realm/profile_fields/{field_id}',
|
|
||||||
'/realm/subdomain/{subdomain}',
|
|
||||||
'/users/{user_id}/reactivate',
|
'/users/{user_id}/reactivate',
|
||||||
'/users/{user_id}',
|
'/users/{user_id}',
|
||||||
'/bots/{bot_id}/api_key/regenerate',
|
# Administer invitations
|
||||||
'/bots/{bot_id}',
|
'/invites',
|
||||||
|
'/invites/multiuse',
|
||||||
'/invites/{prereg_id}',
|
'/invites/{prereg_id}',
|
||||||
'/invites/{prereg_id}/resend',
|
'/invites/{prereg_id}/resend',
|
||||||
'/invites/multiuse/{invite_id}',
|
'/invites/multiuse/{invite_id}',
|
||||||
|
# Single-stream settings alternative to the bulk endpoint
|
||||||
|
# users/me/subscriptions/properties; probably should just be a
|
||||||
|
# section of the same page.
|
||||||
'/users/me/subscriptions/{stream_id}',
|
'/users/me/subscriptions/{stream_id}',
|
||||||
'/attachments/{attachment_id}',
|
|
||||||
'/user_groups/{user_group_id}/members',
|
#### Mobile-app only endpoints; important for mobile developers.
|
||||||
'/streams/{stream_id}/members',
|
# Mobile interface for fetching API keys
|
||||||
'/streams/{stream_id}/delete_topic',
|
'/fetch_api_key',
|
||||||
'/default_stream_groups/{group_id}',
|
# Already documented; need to fix tracking bug
|
||||||
'/default_stream_groups/{group_id}/streams',
|
'/dev_fetch_api_key',
|
||||||
# Regex with an unnamed capturing group.
|
# Mobile interface for development environment login
|
||||||
'/users/(?!me/)(?P<email>[^/]*)/presence',
|
'/dev_list_users',
|
||||||
# Actually '/user_groups/<user_group_id>' in urls.py but fails the reverse mapping
|
# Registration for iOS/Android mobile push notifications.
|
||||||
# test because of the variable name mismatch. So really, it's more of a buggy endpoint.
|
'/users/me/android_gcm_reg_id',
|
||||||
|
'/users/me/apns_device_token',
|
||||||
|
|
||||||
|
#### These personal settings endpoints have modest value to document:
|
||||||
|
'/settings',
|
||||||
|
'/users/me/avatar',
|
||||||
|
'/users/me/api_key/regenerate',
|
||||||
|
# Not very useful outside the UI
|
||||||
|
'/settings/display',
|
||||||
|
# Much more valuable would be an org admin bulk-upload feature.
|
||||||
|
'/users/me/profile_data',
|
||||||
|
# To be deprecated and deleted.
|
||||||
|
'/users/me/pointer',
|
||||||
|
|
||||||
|
#### Should be documented as part of interactive bots documentation
|
||||||
|
'/bot_storage',
|
||||||
|
'/submessage',
|
||||||
|
'/zcommand',
|
||||||
|
|
||||||
|
#### These "organization settings" endpoint have modest value to document:
|
||||||
|
'/realm',
|
||||||
|
'/realm/domains',
|
||||||
|
'/realm/domains/{domain}',
|
||||||
|
'/bots',
|
||||||
|
'/bots/{bot_id}',
|
||||||
|
'/bots/{bot_id}/api_key/regenerate',
|
||||||
|
#### These "organization settings" endpoints have low value to document:
|
||||||
|
'/realm/profile_fields',
|
||||||
|
'/realm/profile_fields/{field_id}',
|
||||||
|
'/realm/icon',
|
||||||
|
'/realm/logo',
|
||||||
|
'/realm/deactivate',
|
||||||
|
'/realm/subdomain/{subdomain}',
|
||||||
|
|
||||||
|
#### Other low value endpoints
|
||||||
|
# Used for dead desktop app to test connectivity. To delete.
|
||||||
|
'/generate_204',
|
||||||
|
# Used for failed approach with dead Android app.
|
||||||
|
'/fetch_google_client_id',
|
||||||
|
# API for video calls we're planning to remove/replace.
|
||||||
|
'/calls/create',
|
||||||
|
|
||||||
|
#### Documented endpoints not properly detected by tooling.
|
||||||
|
# E.g. '/user_groups/<user_group_id>' in urls.py but fails the
|
||||||
|
# reverse mapping test because of the variable name
|
||||||
|
# mismatch.
|
||||||
'/user_groups/{group_id}', # Equivalent of what's in urls.py
|
'/user_groups/{group_id}', # Equivalent of what's in urls.py
|
||||||
'/user_groups/{user_group_id}', # What's in the OpenAPI docs
|
'/user_groups/{user_group_id}', # What's in the OpenAPI docs
|
||||||
|
'/user_groups/{user_group_id}/members',
|
||||||
|
# Regex with an unnamed capturing group.
|
||||||
|
'/users/(?!me/)(?P<email>[^/]*)/presence',
|
||||||
])
|
])
|
||||||
|
|
||||||
# Endpoints where the documentation is currently failing our
|
# Endpoints where the documentation is currently failing our
|
||||||
|
|||||||
Reference in New Issue
Block a user