slack-ruby-client 0.13.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/integration_test.yml +26 -0
- data/.github/workflows/lint.yml +14 -0
- data/.github/workflows/pr_lint.yml +21 -0
- data/.github/workflows/test.yml +36 -0
- data/.gitignore +5 -3
- data/.rubocop.yml +34 -5
- data/.rubocop_todo.yml +180 -46
- data/.ruby-version +1 -0
- data/CHANGELOG.md +119 -2
- data/CONTRIBUTING.md +23 -11
- data/Dangerfile +2 -0
- data/Gemfile +22 -5
- data/Gemfile.danger +6 -0
- data/LICENSE.md +1 -1
- data/README.md +236 -101
- data/RELEASING.md +2 -2
- data/Rakefile +2 -1
- data/UPGRADING.md +100 -2
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +28 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_audit_anomaly_allow.rb +23 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +171 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/admin_users_unsupportedVersions.rb +15 -0
- data/bin/commands/api.rb +1 -1
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_manifest.rb +52 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bookmarks.rb +53 -0
- data/bin/commands/bots.rb +2 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/chat.rb +61 -14
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +82 -10
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +6 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +34 -18
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/oauth.rb +2 -14
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +3 -6
- data/bin/commands/reactions.rb +3 -3
- data/bin/commands/reminders.rb +7 -0
- data/bin/commands/rtm.rb +1 -15
- data/bin/commands/search.rb +6 -1
- data/bin/commands/stars.rb +8 -6
- data/bin/commands/team.rb +6 -0
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +7 -1
- data/bin/commands/usergroups_users.rb +3 -0
- data/bin/commands/users.rb +6 -4
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +6 -5
- data/bin/commands/views.rb +50 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +41 -8
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +6 -3
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
- data/lib/slack/real_time/api/typing.rb +5 -2
- data/lib/slack/real_time/client.rb +105 -54
- data/lib/slack/real_time/concurrency/async.rb +77 -6
- data/lib/slack/real_time/concurrency.rb +1 -2
- data/lib/slack/real_time/config.rb +9 -13
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +5 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +3 -1
- data/lib/slack/real_time/socket.rb +45 -17
- data/lib/slack/real_time/stores/base.rb +28 -14
- data/lib/slack/real_time/stores/starter.rb +325 -297
- data/lib/slack/real_time/stores/store.rb +271 -196
- data/lib/slack/real_time/stores.rb +2 -7
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +51 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +264 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -3
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +77 -0
- data/lib/slack/web/api/endpoints/auth.rb +2 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +88 -0
- data/lib/slack/web/api/endpoints/bots.rb +4 -1
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/chat.rb +168 -65
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +182 -67
- data/lib/slack/web/api/endpoints/dialog.rb +5 -4
- data/lib/slack/web/api/endpoints/dnd.rb +9 -4
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +69 -37
- data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/migration.rb +6 -3
- data/lib/slack/web/api/endpoints/oauth.rb +7 -31
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +11 -18
- data/lib/slack/web/api/endpoints/reactions.rb +22 -21
- data/lib/slack/web/api/endpoints/reminders.rb +23 -10
- data/lib/slack/web/api/endpoints/rtm.rb +3 -25
- data/lib/slack/web/api/endpoints/search.rb +31 -16
- data/lib/slack/web/api/endpoints/stars.rb +14 -11
- data/lib/slack/web/api/endpoints/team.rb +15 -4
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +31 -20
- data/lib/slack/web/api/endpoints/usergroups_users.rb +13 -8
- data/lib/slack/web/api/endpoints/users.rb +24 -23
- data/lib/slack/web/api/endpoints/users_admin.rb +3 -2
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +8 -7
- data/lib/slack/web/api/endpoints/views.rb +102 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +82 -18
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
- data/lib/slack/web/api/errors.rb +1116 -0
- data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +5 -6
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +3 -4
- data/lib/slack/web/api/mixins/users.search.rb +3 -1
- data/lib/slack/web/api/mixins.rb +2 -2
- data/lib/slack/web/api/patches/chat.attachments-blocks.patch +69 -0
- data/lib/slack/web/api/patches/{dialog.1.open-json-support.patch → dialog.encoded-json.patch} +4 -4
- data/lib/slack/web/api/patches/views.view-json.patch +55 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +2 -2
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +6 -2
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +5 -2
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +5 -1
- data/lib/slack/web/faraday/response/raise_error.rb +14 -7
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +7 -7
- data/lib/slack-ruby-client.rb +12 -5
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +51 -21
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +48 -12
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +7 -12
- data/spec/fixtures/slack/web/429_error.yml +50 -54
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
- data/spec/fixtures/slack/web/rtm_connect.yml +347 -26
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +115 -47
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +35 -0
- data/spec/slack/events/request_spec.rb +188 -0
- data/spec/slack/messages/formatting_spec.rb +35 -13
- data/spec/slack/real_time/api/message_spec.rb +7 -2
- data/spec/slack/real_time/api/ping_spec.rb +3 -1
- data/spec/slack/real_time/api/typing_spec.rb +6 -2
- data/spec/slack/real_time/client_spec.rb +300 -142
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +20 -17
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/im_spec.rb +31 -27
- data/spec/slack/real_time/event_handlers/{group_spec.rb → private_channel_spec.rb} +36 -27
- data/spec/slack/real_time/event_handlers/{channel_spec.rb → public_channel_spec.rb} +31 -24
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -7
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -5
- data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
- data/spec/slack/real_time/stores/store_spec.rb +50 -0
- data/spec/slack/slack_spec.rb +41 -6
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_audit_anomaly_allow_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → auth_teams_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +9 -7
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +144 -40
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +18 -6
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +112 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +18 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -22
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → team_billing_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -7
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +45 -0
- data/spec/slack/web/api/mixins/users_spec.rb +19 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +47 -15
- data/spec/slack/web/client_spec.rb +199 -22
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +48 -12
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +5 -4
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +6 -6
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/real_time/loaded_client.rb +120 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +174 -262
- data/.travis.yml +0 -32
- data/bin/commands/apps_permissions.rb +0 -22
- data/bin/commands/apps_permissions_resources.rb +0 -14
- data/bin/commands/apps_permissions_scopes.rb +0 -12
- data/bin/commands/apps_permissions_users.rb +0 -25
- data/bin/commands/channels.rb +0 -175
- data/bin/commands/groups.rb +0 -174
- data/bin/commands/im.rb +0 -67
- data/bin/commands/mpim.rb +0 -65
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -118
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
- data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +0 -30
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +0 -20
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +0 -49
- data/lib/slack/web/api/endpoints/channels.rb +0 -266
- data/lib/slack/web/api/endpoints/groups.rb +0 -265
- data/lib/slack/web/api/endpoints/im.rb +0 -113
- data/lib/slack/web/api/endpoints/mpim.rb +0 -108
- data/lib/slack/web/api/endpoints/presence.rb +0 -23
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/503_error.yml +0 -14
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/fixtures/slack/web/rtm_start.yml +0 -104
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- data/spec/slack/real_time/rtm_start_spec.rb +0 -13
- data/spec/slack/real_time/store_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -18
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -33
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -33
|
@@ -1,26 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Endpoints::Users do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
context 'users' do
|
|
6
8
|
it 'list', vcr: { cassette_name: 'web/users_list' } do
|
|
7
9
|
json = client.users_list(presence: true)
|
|
8
10
|
expect(json.ok).to be true
|
|
9
|
-
expect(json.members.size).to eq
|
|
11
|
+
expect(json.members.size).to eq 35
|
|
10
12
|
expect(json.members.first.presence).to eq 'away'
|
|
11
13
|
end
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
it 'paginated list', vcr: { cassette_name: 'web/paginated_users_list' } do
|
|
13
16
|
members = []
|
|
14
17
|
client.users_list(presence: true, limit: 5) do |json|
|
|
15
18
|
expect(json.ok).to be true
|
|
16
19
|
members.concat json.members
|
|
17
20
|
end
|
|
18
|
-
expect(members.size).to eq
|
|
21
|
+
expect(members.size).to eq 35
|
|
19
22
|
end
|
|
23
|
+
|
|
20
24
|
it 'info', vcr: { cassette_name: 'web/users_info' } do
|
|
21
25
|
json = client.users_info(user: '@aws')
|
|
22
26
|
expect(json.user.name).to eq 'aws'
|
|
23
27
|
end
|
|
28
|
+
|
|
24
29
|
if defined?(Picky)
|
|
25
30
|
it 'search', vcr: { cassette_name: 'web/users_info' } do
|
|
26
31
|
json = client.users_search(user: 'aws')
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
RSpec.describe Slack::Web::Api::Endpoints::Views do
|
|
5
|
+
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
let(:trigger_id) { '12345.98765.abcd2358fdea' }
|
|
7
|
+
let(:view_id) { 'abc123567' }
|
|
8
|
+
|
|
9
|
+
describe 'views_open' do
|
|
10
|
+
context 'with a hash for view' do
|
|
11
|
+
let(:view_str) { '{"celery":"man"}' }
|
|
12
|
+
|
|
13
|
+
it 'automatically converts view into JSON' do
|
|
14
|
+
expect(client).to receive(:post).with('views.open', { trigger_id: trigger_id, view: view_str })
|
|
15
|
+
client.views_open(trigger_id: trigger_id, view: { celery: 'man' })
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context 'with a string for view' do
|
|
20
|
+
let(:view_str) { 'celery man' }
|
|
21
|
+
|
|
22
|
+
it 'leaves view as is' do
|
|
23
|
+
expect(client).to receive(:post).with('views.open', { trigger_id: trigger_id, view: view_str })
|
|
24
|
+
client.views_open(trigger_id: trigger_id, view: 'celery man')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'views_publish' do
|
|
30
|
+
let(:user_id) { 'U1234' }
|
|
31
|
+
|
|
32
|
+
context 'with a hash for view' do
|
|
33
|
+
let(:view_str) { '{"celery":"man"}' }
|
|
34
|
+
|
|
35
|
+
it 'automatically converts view into JSON' do
|
|
36
|
+
expect(client).to receive(:post).with(
|
|
37
|
+
'views.publish',
|
|
38
|
+
{
|
|
39
|
+
trigger_id: trigger_id,
|
|
40
|
+
user_id: user_id,
|
|
41
|
+
view: view_str
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
client.views_publish(user_id: user_id, trigger_id: trigger_id, view: { celery: 'man' })
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
context 'with a string for view' do
|
|
49
|
+
let(:view_str) { 'celery man' }
|
|
50
|
+
|
|
51
|
+
it 'leaves view as is' do
|
|
52
|
+
expect(client).to receive(:post).with(
|
|
53
|
+
'views.publish',
|
|
54
|
+
{
|
|
55
|
+
user_id: user_id,
|
|
56
|
+
trigger_id: trigger_id,
|
|
57
|
+
view: view_str
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
client.views_publish(user_id: user_id, trigger_id: trigger_id, view: 'celery man')
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
describe 'views_push' do
|
|
66
|
+
context 'with a hash for view' do
|
|
67
|
+
let(:view_str) { '{"celery":"man"}' }
|
|
68
|
+
|
|
69
|
+
it 'automatically converts view into JSON' do
|
|
70
|
+
expect(client).to receive(:post).with('views.push', { trigger_id: trigger_id, view: view_str })
|
|
71
|
+
client.views_push(trigger_id: trigger_id, view: { celery: 'man' })
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
context 'with a string for view' do
|
|
76
|
+
let(:view_str) { 'celery man' }
|
|
77
|
+
|
|
78
|
+
it 'leaves view as is' do
|
|
79
|
+
expect(client).to receive(:post).with('views.push', { trigger_id: trigger_id, view: view_str })
|
|
80
|
+
client.views_push(trigger_id: trigger_id, view: 'celery man')
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
describe 'views_update' do
|
|
86
|
+
context 'with a hash for view' do
|
|
87
|
+
let(:view_str) { '{"celery":"man"}' }
|
|
88
|
+
|
|
89
|
+
it 'automatically converts view into JSON' do
|
|
90
|
+
expect(client).to receive(:post).with('views.update', { view_id: view_id, view: view_str })
|
|
91
|
+
client.views_update(view_id: view_id, view: { celery: 'man' })
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
context 'with a string for view' do
|
|
96
|
+
let(:view_str) { 'celery man' }
|
|
97
|
+
|
|
98
|
+
it 'leaves view as is' do
|
|
99
|
+
expect(client).to receive(:post).with('views.update', { view_id: view_id, view: view_str })
|
|
100
|
+
client.views_update(view_id: view_id, view: 'celery man')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
context 'with both an external_id and view_id' do
|
|
104
|
+
it 'raises error' do
|
|
105
|
+
expect do
|
|
106
|
+
client.views_update(external_id: trigger_id, view_id: view_id, view: 'celery man')
|
|
107
|
+
end.to raise_error ArgumentError, 'One of :external_id, :view_id is required'
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
4
5
|
|
|
5
6
|
RSpec.describe Slack::Web::Api::Endpoints::Dnd do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
|
-
context '
|
|
8
|
-
it 'requires
|
|
9
|
-
expect { client.
|
|
8
|
+
context 'dnd_teamInfo' do
|
|
9
|
+
it 'requires users' do
|
|
10
|
+
expect { client.dnd_teamInfo }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
10
11
|
end
|
|
11
12
|
end
|
|
12
13
|
end
|
|
@@ -1,34 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
4
5
|
|
|
5
6
|
RSpec.describe Slack::Web::Api::Endpoints::FilesComments do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
|
-
context 'files.comments_add' do
|
|
8
|
-
it 'requires comment' do
|
|
9
|
-
expect { client.files_comments_add(file: 'F1234467890') }.to raise_error ArgumentError, /Required arguments :comment missing/
|
|
10
|
-
end
|
|
11
|
-
it 'requires file' do
|
|
12
|
-
expect { client.files_comments_add(comment: 'Everyone should take a moment to read this file.') }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
8
|
context 'files.comments_delete' do
|
|
16
9
|
it 'requires file' do
|
|
17
|
-
expect { client.files_comments_delete(id:
|
|
18
|
-
end
|
|
19
|
-
it 'requires id' do
|
|
20
|
-
expect { client.files_comments_delete(file: 'F1234567890') }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
context 'files.comments_edit' do
|
|
24
|
-
it 'requires comment' do
|
|
25
|
-
expect { client.files_comments_edit(file: 'F1234567890', id: 'Fc1234567890') }.to raise_error ArgumentError, /Required arguments :comment missing/
|
|
26
|
-
end
|
|
27
|
-
it 'requires file' do
|
|
28
|
-
expect { client.files_comments_edit(comment: 'Everyone should take a moment to read this file, seriously.', id: 'Fc1234567890') }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
10
|
+
expect { client.files_comments_delete(id: %q[]) }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
29
11
|
end
|
|
30
12
|
it 'requires id' do
|
|
31
|
-
expect { client.
|
|
13
|
+
expect { client.files_comments_delete(file: %q[]) }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
32
14
|
end
|
|
33
15
|
end
|
|
34
16
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::FilesRemote do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'files.remote_add' do
|
|
9
|
+
it 'requires external_id' do
|
|
10
|
+
expect { client.files_remote_add(external_url: %q[], title: %q[]) }.to raise_error ArgumentError, /Required arguments :external_id missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires external_url' do
|
|
13
|
+
expect { client.files_remote_add(external_id: %q[], title: %q[]) }.to raise_error ArgumentError, /Required arguments :external_url missing/
|
|
14
|
+
end
|
|
15
|
+
it 'requires title' do
|
|
16
|
+
expect { client.files_remote_add(external_id: %q[], external_url: %q[]) }.to raise_error ArgumentError, /Required arguments :title missing/
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
context 'files.remote_share' do
|
|
20
|
+
it 'requires channels' do
|
|
21
|
+
expect { client.files_remote_share }.to raise_error ArgumentError, /Required arguments :channels missing/
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
4
5
|
|
|
5
6
|
RSpec.describe Slack::Web::Api::Endpoints::Files do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'files_completeUploadExternal' do
|
|
9
|
+
it 'requires files' do
|
|
10
|
+
expect { client.files_completeUploadExternal }.to raise_error ArgumentError, /Required arguments :files missing/
|
|
11
|
+
end
|
|
12
|
+
end
|
|
7
13
|
context 'files_delete' do
|
|
8
14
|
it 'requires file' do
|
|
9
15
|
expect { client.files_delete }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
@@ -11,10 +17,18 @@ RSpec.describe Slack::Web::Api::Endpoints::Files do
|
|
|
11
17
|
end
|
|
12
18
|
context 'files_edit' do
|
|
13
19
|
it 'requires file' do
|
|
14
|
-
expect { client.files_edit(title:
|
|
20
|
+
expect { client.files_edit(title: %q[Brand new title]) }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
15
21
|
end
|
|
16
22
|
it 'requires title' do
|
|
17
|
-
expect { client.files_edit(file:
|
|
23
|
+
expect { client.files_edit(file: %q[F2147483862]) }.to raise_error ArgumentError, /Required arguments :title missing/
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
context 'files_getUploadURLExternal' do
|
|
27
|
+
it 'requires filename' do
|
|
28
|
+
expect { client.files_getUploadURLExternal(length: %q[]) }.to raise_error ArgumentError, /Required arguments :filename missing/
|
|
29
|
+
end
|
|
30
|
+
it 'requires length' do
|
|
31
|
+
expect { client.files_getUploadURLExternal(filename: %q[]) }.to raise_error ArgumentError, /Required arguments :length missing/
|
|
18
32
|
end
|
|
19
33
|
end
|
|
20
34
|
context 'files_info' do
|
|
@@ -29,10 +43,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Files do
|
|
|
29
43
|
end
|
|
30
44
|
context 'files_share' do
|
|
31
45
|
it 'requires file' do
|
|
32
|
-
expect { client.files_share(channel:
|
|
46
|
+
expect { client.files_share(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :file missing/
|
|
33
47
|
end
|
|
34
48
|
it 'requires channel' do
|
|
35
|
-
expect { client.files_share(file:
|
|
49
|
+
expect { client.files_share(file: %q[F2147483862]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
36
50
|
end
|
|
37
51
|
end
|
|
38
52
|
context 'files_sharedPublicURL' do
|
|
@@ -1,29 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
4
5
|
|
|
5
6
|
RSpec.describe Slack::Web::Api::Endpoints::Oauth do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
|
-
context 'oauth_access' do
|
|
8
|
-
it 'requires client_id' do
|
|
9
|
-
expect { client.oauth_access(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
|
10
|
-
end
|
|
11
|
-
it 'requires client_secret' do
|
|
12
|
-
expect { client.oauth_access(client_id: '4b39e9-752c4', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_secret missing/
|
|
13
|
-
end
|
|
14
|
-
it 'requires code' do
|
|
15
|
-
expect { client.oauth_access(client_id: '4b39e9-752c4', client_secret: '33fea0113f5b1') }.to raise_error ArgumentError, /Required arguments :code missing/
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
context 'oauth_token' do
|
|
19
|
-
it 'requires client_id' do
|
|
20
|
-
expect { client.oauth_token(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
|
21
|
-
end
|
|
22
|
-
it 'requires client_secret' do
|
|
23
|
-
expect { client.oauth_token(client_id: '4b39e9-752c4', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_secret missing/
|
|
24
|
-
end
|
|
25
|
-
it 'requires code' do
|
|
26
|
-
expect { client.oauth_token(client_id: '4b39e9-752c4', client_secret: '33fea0113f5b1') }.to raise_error ArgumentError, /Required arguments :code missing/
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
8
|
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::OauthV2 do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'oauth.v2_exchange' do
|
|
9
|
+
it 'requires client_id' do
|
|
10
|
+
expect { client.oauth_v2_exchange(client_secret: %q[]) }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires client_secret' do
|
|
13
|
+
expect { client.oauth_v2_exchange(client_id: %q[]) }.to raise_error ArgumentError, /Required arguments :client_secret missing/
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -5,8 +6,14 @@ require 'spec_helper'
|
|
|
5
6
|
RSpec.describe Slack::Web::Api::Endpoints::Reactions do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'reactions_add' do
|
|
9
|
+
it 'requires channel' do
|
|
10
|
+
expect { client.reactions_add(name: %q[], timestamp: %q[]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
11
|
+
end
|
|
8
12
|
it 'requires name' do
|
|
9
|
-
expect { client.reactions_add }.to raise_error ArgumentError, /Required arguments :name missing/
|
|
13
|
+
expect { client.reactions_add(channel: %q[], timestamp: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
|
|
14
|
+
end
|
|
15
|
+
it 'requires timestamp' do
|
|
16
|
+
expect { client.reactions_add(channel: %q[], name: %q[]) }.to raise_error ArgumentError, /Required arguments :timestamp missing/
|
|
10
17
|
end
|
|
11
18
|
end
|
|
12
19
|
context 'reactions_remove' do
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -6,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Reminders do
|
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'reminders_add' do
|
|
8
9
|
it 'requires text' do
|
|
9
|
-
expect { client.reminders_add(time:
|
|
10
|
+
expect { client.reminders_add(time: %q[]) }.to raise_error ArgumentError, /Required arguments :text missing/
|
|
10
11
|
end
|
|
11
12
|
it 'requires time' do
|
|
12
|
-
expect { client.reminders_add(text:
|
|
13
|
+
expect { client.reminders_add(text: %q[]) }.to raise_error ArgumentError, /Required arguments :time missing/
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
context 'reminders_complete' do
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
4
5
|
|
|
5
|
-
RSpec.describe Slack::Web::Api::Endpoints::
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::TeamBilling do
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::ToolingTokens do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'tooling.tokens_rotate' do
|
|
9
|
+
it 'requires refresh_token' do
|
|
10
|
+
expect { client.tooling_tokens_rotate }.to raise_error ArgumentError, /Required arguments :refresh_token missing/
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -11,10 +12,10 @@ RSpec.describe Slack::Web::Api::Endpoints::UsergroupsUsers do
|
|
|
11
12
|
end
|
|
12
13
|
context 'usergroups.users_update' do
|
|
13
14
|
it 'requires usergroup' do
|
|
14
|
-
expect { client.usergroups_users_update(users:
|
|
15
|
+
expect { client.usergroups_users_update(users: %q[]) }.to raise_error ArgumentError, /Required arguments :usergroup missing/
|
|
15
16
|
end
|
|
16
17
|
it 'requires users' do
|
|
17
|
-
expect { client.usergroups_users_update(usergroup:
|
|
18
|
+
expect { client.usergroups_users_update(usergroup: %q[]) }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
18
19
|
end
|
|
19
20
|
end
|
|
20
21
|
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::Workflows do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'workflows_stepCompleted' do
|
|
9
|
+
it 'requires workflow_step_execute_id' do
|
|
10
|
+
expect { client.workflows_stepCompleted }.to raise_error ArgumentError, /Required arguments :workflow_step_execute_id missing/
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
context 'workflows_stepFailed' do
|
|
14
|
+
it 'requires error' do
|
|
15
|
+
expect { client.workflows_stepFailed(workflow_step_execute_id: %q[]) }.to raise_error ArgumentError, /Required arguments :error missing/
|
|
16
|
+
end
|
|
17
|
+
it 'requires workflow_step_execute_id' do
|
|
18
|
+
expect { client.workflows_stepFailed(error: %q[]) }.to raise_error ArgumentError, /Required arguments :workflow_step_execute_id missing/
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
context 'workflows_updateStep' do
|
|
22
|
+
it 'requires workflow_step_edit_id' do
|
|
23
|
+
expect { client.workflows_updateStep }.to raise_error ArgumentError, /Required arguments :workflow_step_edit_id missing/
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Error do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
it 'provides access to the response object', vcr: { cassette_name: 'web/auth_test_error' } do
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
expect(e.response.status).to eq 200
|
|
12
|
-
end
|
|
8
|
+
client.auth_test
|
|
9
|
+
raise 'Expected to receive Slack::Web::Api::Error.'
|
|
10
|
+
rescue described_class => e
|
|
11
|
+
expect(e.response).not_to be_nil
|
|
12
|
+
expect(e.response.status).to eq 200
|
|
13
13
|
end
|
|
14
14
|
end
|
|
@@ -1,14 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Errors::SlackError do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
it 'provides access to the response object', vcr: { cassette_name: 'web/auth_test_error' } do
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
client.auth_test
|
|
9
|
+
raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
|
|
10
|
+
rescue described_class => e
|
|
11
|
+
expect(e.response).not_to be_nil
|
|
12
|
+
expect(e.response.status).to eq 200
|
|
13
|
+
expect(e.message).to eql 'not_authed'
|
|
14
|
+
expect(e.error).to eql 'not_authed'
|
|
15
|
+
expect(e.response_metadata).to be_nil
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'provides access to any response_metadata', vcr: { cassette_name: 'web/views_open_error' } do
|
|
19
|
+
client.views_open(trigger_id: 'trigger_id', view: {})
|
|
20
|
+
raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
|
|
21
|
+
rescue described_class => e
|
|
22
|
+
expect(e.response).not_to be_nil
|
|
23
|
+
expect(e.response.status).to eq 200
|
|
24
|
+
expect(e.message).to eql 'invalid_arguments'
|
|
25
|
+
expect(e.error).to eql 'invalid_arguments'
|
|
26
|
+
expect(e.response_metadata).to eq(
|
|
27
|
+
'messages' => [
|
|
28
|
+
'[ERROR] failed to match all allowed schemas [json-pointer:/view]',
|
|
29
|
+
'[ERROR] missing required field: type [json-pointer:/view]'
|
|
30
|
+
]
|
|
31
|
+
)
|
|
13
32
|
end
|
|
14
33
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
RSpec.describe Slack::Web::Client do
|
|
5
|
+
context 'conversations_setTopic' do
|
|
6
|
+
it 'does not invoke conversations_list', vcr: { cassette_name: 'web/conversations_setTopic' } do
|
|
7
|
+
rc = subject.conversations_setTopic({ channel: 'C019CV63UTC', topic: 'new topic' })
|
|
8
|
+
expect(rc.channel.topic.value).to eq 'new topic'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'resolves IDs via conversations_list', vcr: { cassette_name: 'web/conversations_setTopic_one_page' } do
|
|
12
|
+
rc = subject.conversations_setTopic({ channel: '#1', topic: 'new topic' })
|
|
13
|
+
expect(rc.channel.topic.value).to eq 'new topic'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'paginates to resolve IDs', vcr: { cassette_name: 'web/conversations_setTopic_paginated' } do
|
|
17
|
+
rc = subject.conversations_setTopic({ channel: '#topic', topic: 'new topic' })
|
|
18
|
+
expect(rc.channel.topic.value).to eq 'new topic'
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|