mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 05:23:35 +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):
|
||||
# This will be filled during test_openapi_arguments:
|
||||
checked_endpoints = set() # type: Set[str]
|
||||
# TODO: These endpoints need to be documented:
|
||||
pending_endpoints = set([
|
||||
'/users/me/avatar',
|
||||
'/settings/display',
|
||||
'/users/me/profile_data',
|
||||
'/users/me/pointer',
|
||||
#### TODO: These endpoints are a priority to document:
|
||||
'/messages/matches_narrow',
|
||||
'/realm/presence',
|
||||
'/streams/{stream_id}/members',
|
||||
'/streams/{stream_id}/delete_topic',
|
||||
'/users/me/presence',
|
||||
'/bot_storage',
|
||||
'/users/me/api_key/regenerate',
|
||||
'/default_streams',
|
||||
'/default_stream_groups/create',
|
||||
'/users/me/alert_words',
|
||||
'/users/me/status',
|
||||
'/messages/matches_narrow',
|
||||
'/dev_fetch_api_key',
|
||||
'/dev_list_users',
|
||||
'/fetch_api_key',
|
||||
'/fetch_google_client_id',
|
||||
'/settings',
|
||||
'/submessage',
|
||||
|
||||
#### These realm administration settings are valuable to document:
|
||||
# List all files uploaded by current user. May want to add support
|
||||
# for a larger list available to administrators?
|
||||
'/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',
|
||||
# Delete a data export.
|
||||
'/export/realm/{export_id}',
|
||||
'/zcommand',
|
||||
'/realm',
|
||||
'/realm/deactivate',
|
||||
'/realm/domains',
|
||||
'/realm/icon',
|
||||
'/realm/logo',
|
||||
'/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}',
|
||||
# Manage default streams and default stream groups
|
||||
'/default_streams',
|
||||
'/default_stream_groups/create',
|
||||
'/default_stream_groups/{group_id}',
|
||||
'/default_stream_groups/{group_id}/streams',
|
||||
# Administer a user -- reactivate and/or modify settings.
|
||||
'/users/{user_id}/reactivate',
|
||||
'/users/{user_id}',
|
||||
'/bots/{bot_id}/api_key/regenerate',
|
||||
'/bots/{bot_id}',
|
||||
# Administer invitations
|
||||
'/invites',
|
||||
'/invites/multiuse',
|
||||
'/invites/{prereg_id}',
|
||||
'/invites/{prereg_id}/resend',
|
||||
'/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}',
|
||||
'/attachments/{attachment_id}',
|
||||
'/user_groups/{user_group_id}/members',
|
||||
'/streams/{stream_id}/members',
|
||||
'/streams/{stream_id}/delete_topic',
|
||||
'/default_stream_groups/{group_id}',
|
||||
'/default_stream_groups/{group_id}/streams',
|
||||
# Regex with an unnamed capturing group.
|
||||
'/users/(?!me/)(?P<email>[^/]*)/presence',
|
||||
# Actually '/user_groups/<user_group_id>' in urls.py but fails the reverse mapping
|
||||
# test because of the variable name mismatch. So really, it's more of a buggy endpoint.
|
||||
|
||||
#### Mobile-app only endpoints; important for mobile developers.
|
||||
# Mobile interface for fetching API keys
|
||||
'/fetch_api_key',
|
||||
# Already documented; need to fix tracking bug
|
||||
'/dev_fetch_api_key',
|
||||
# Mobile interface for development environment login
|
||||
'/dev_list_users',
|
||||
# Registration for iOS/Android mobile push notifications.
|
||||
'/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/{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
|
||||
|
||||
Reference in New Issue
Block a user