slack-ruby-client 0.14.2 → 0.15.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/.rubocop.yml +23 -7
- data/.rubocop_todo.yml +103 -43
- data/.travis.yml +0 -1
- data/CHANGELOG.md +39 -2
- data/CONTRIBUTING.md +24 -6
- data/Dangerfile +2 -1
- data/Gemfile +10 -3
- data/README.md +90 -30
- data/Rakefile +1 -0
- data/UPGRADING.md +16 -0
- data/bin/commands.rb +24 -0
- data/bin/commands/admin_apps.rb +27 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_conversations.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.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 +97 -0
- data/bin/commands/admin_users_session.rb +16 -0
- data/bin/commands/api.rb +3 -2
- data/bin/commands/apps.rb +3 -2
- data/bin/commands/apps_permissions.rb +5 -4
- data/bin/commands/apps_permissions_resources.rb +3 -2
- data/bin/commands/apps_permissions_scopes.rb +3 -2
- data/bin/commands/apps_permissions_users.rb +5 -4
- data/bin/commands/auth.rb +5 -4
- data/bin/commands/bots.rb +3 -2
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +31 -30
- data/bin/commands/chat.rb +36 -32
- data/bin/commands/chat_scheduledMessages.rb +3 -2
- data/bin/commands/conversations.rb +36 -36
- data/bin/commands/dialog.rb +3 -2
- data/bin/commands/dnd.rb +9 -8
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +14 -12
- data/bin/commands/files_comments.rb +3 -2
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +33 -32
- data/bin/commands/im.rb +13 -12
- data/bin/commands/migration.rb +3 -2
- data/bin/commands/mpim.rb +11 -10
- data/bin/commands/oauth.rb +6 -5
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +7 -8
- data/bin/commands/reactions.rb +10 -11
- data/bin/commands/reminders.rb +11 -10
- data/bin/commands/rtm.rb +5 -4
- data/bin/commands/search.rb +7 -6
- data/bin/commands/stars.rb +7 -6
- data/bin/commands/team.rb +10 -8
- data/bin/commands/team_profile.rb +3 -2
- data/bin/commands/usergroups.rb +11 -10
- data/bin/commands/usergroups_users.rb +5 -4
- data/bin/commands/users.rb +21 -20
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +5 -4
- data/bin/commands/views.rb +48 -0
- data/bin/slack +1 -2
- data/examples/hi_real_time/Gemfile +1 -0
- data/examples/hi_real_time/hi.rb +7 -3
- 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_real_time_async_celluloid/Gemfile +1 -0
- data/examples/hi_real_time_async_celluloid/hi.rb +7 -3
- data/examples/hi_real_time_async_eventmachine/Gemfile +1 -0
- data/examples/hi_real_time_async_eventmachine/hi.rb +7 -3
- 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-ruby-client.rb +4 -4
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +1 -0
- data/lib/slack/events/request.rb +3 -1
- 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 +3 -1
- 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/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +46 -22
- data/lib/slack/real_time/concurrency.rb +1 -0
- data/lib/slack/real_time/concurrency/async.rb +18 -9
- data/lib/slack/real_time/concurrency/celluloid.rb +10 -4
- data/lib/slack/real_time/concurrency/eventmachine.rb +9 -6
- data/lib/slack/real_time/config.rb +6 -1
- data/lib/slack/real_time/models.rb +1 -0
- 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 +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- 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/socket.rb +16 -13
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +4 -1
- data/lib/slack/real_time/stores/starter.rb +11 -0
- data/lib/slack/real_time/stores/store.rb +26 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +48 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -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 +28 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -1
- data/lib/slack/web/api/endpoints/apps.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
- data/lib/slack/web/api/endpoints/auth.rb +3 -2
- data/lib/slack/web/api/endpoints/bots.rb +2 -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/channels.rb +44 -29
- data/lib/slack/web/api/endpoints/chat.rb +38 -31
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -2
- data/lib/slack/web/api/endpoints/conversations.rb +34 -35
- data/lib/slack/web/api/endpoints/dialog.rb +2 -1
- data/lib/slack/web/api/endpoints/dnd.rb +6 -4
- data/lib/slack/web/api/endpoints/emoji.rb +2 -1
- data/lib/slack/web/api/endpoints/files.rb +11 -8
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +33 -18
- data/lib/slack/web/api/endpoints/im.rb +17 -12
- data/lib/slack/web/api/endpoints/migration.rb +2 -1
- data/lib/slack/web/api/endpoints/mpim.rb +16 -11
- data/lib/slack/web/api/endpoints/oauth.rb +4 -6
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +8 -12
- data/lib/slack/web/api/endpoints/reactions.rb +12 -15
- data/lib/slack/web/api/endpoints/reminders.rb +6 -5
- data/lib/slack/web/api/endpoints/rtm.rb +3 -2
- data/lib/slack/web/api/endpoints/search.rb +4 -3
- data/lib/slack/web/api/endpoints/stars.rb +6 -7
- data/lib/slack/web/api/endpoints/team.rb +7 -5
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +6 -5
- data/lib/slack/web/api/endpoints/usergroups_users.rb +3 -2
- data/lib/slack/web/api/endpoints/users.rb +11 -12
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +3 -2
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors.rb +656 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +27 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -0
- data/lib/slack/web/api/mixins/ids.id.rb +1 -0
- data/lib/slack/web/api/mixins/users.id.rb +1 -0
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -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 +1 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +5 -1
- data/lib/slack/web/api/templates/method_spec.erb +1 -0
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +1 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +10 -6
- data/lib/slack/web/pagination/cursor.rb +3 -2
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +13 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +27 -7
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +6 -3
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +26 -23
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +8 -4
- data/spec/slack/events/request_spec.rb +67 -37
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +178 -32
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +11 -6
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +9 -1
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +37 -5
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_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 +13 -0
- data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -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 +13 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/apps_spec.rb +1 -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 +1 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +1 -0
- 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/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +1 -0
- 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/views_spec.rb +29 -0
- data/spec/slack/web/api/error_spec.rb +4 -2
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +8 -5
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- data/spec/slack/web/api/mixins/conversations_spec.rb +41 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
- data/spec/slack/web/client_spec.rb +71 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +41 -7
- data/spec/spec_helper.rb +2 -1
- data/spec/support/queue_with_timeout.rb +1 -0
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +9 -3
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +1 -0
- metadata +156 -30
- 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
|
@@ -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'
|
|
@@ -9,4 +10,9 @@ RSpec.describe Slack::Web::Api::Endpoints::Dnd do
|
|
|
9
10
|
expect { client.dnd_setSnooze }.to raise_error ArgumentError, /Required arguments :num_minutes missing/
|
|
10
11
|
end
|
|
11
12
|
end
|
|
13
|
+
context 'dnd_teamInfo' do
|
|
14
|
+
it 'requires users' do
|
|
15
|
+
expect { client.dnd_teamInfo }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
16
|
+
end
|
|
17
|
+
end
|
|
12
18
|
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: 'http://example.com/my_cloud_service_file/abc123', title: 'Danger, High Voltage!') }.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: '123456', title: 'Danger, High Voltage!') }.to raise_error ArgumentError, /Required arguments :external_url missing/
|
|
14
|
+
end
|
|
15
|
+
it 'requires title' do
|
|
16
|
+
expect { client.files_remote_add(external_id: '123456', external_url: 'http://example.com/my_cloud_service_file/abc123') }.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,20 +1,10 @@
|
|
|
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
8
|
context 'oauth_token' do
|
|
19
9
|
it 'requires client_id' do
|
|
20
10
|
expect { client.oauth_token(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
|
@@ -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::OauthV2 do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'oauth.v2_access' do
|
|
9
|
+
it 'requires code' do
|
|
10
|
+
expect { client.oauth_v2_access }.to raise_error ArgumentError, /Required arguments :code 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'
|
|
@@ -6,7 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Pins do
|
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'pins_add' do
|
|
8
9
|
it 'requires channel' do
|
|
9
|
-
expect { client.pins_add }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
10
|
+
expect { client.pins_add(timestamp: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires timestamp' do
|
|
13
|
+
expect { client.pins_add(channel: 'C1234567890') }.to raise_error ArgumentError, /Required arguments :timestamp missing/
|
|
10
14
|
end
|
|
11
15
|
end
|
|
12
16
|
context 'pins_list' 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'
|
|
@@ -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: 'thumbsup', timestamp: '1234567890.123456') }.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: 'C1234567890', timestamp: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :name missing/
|
|
14
|
+
end
|
|
15
|
+
it 'requires timestamp' do
|
|
16
|
+
expect { client.reactions_add(channel: 'C1234567890', name: 'thumbsup') }.to raise_error ArgumentError, /Required arguments :timestamp missing/
|
|
10
17
|
end
|
|
11
18
|
end
|
|
12
19
|
context 'reactions_remove' do
|
|
@@ -0,0 +1,29 @@
|
|
|
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::Views do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'views_open' do
|
|
9
|
+
it 'requires trigger_id' do
|
|
10
|
+
expect { client.views_open(view: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires view' do
|
|
13
|
+
expect { client.views_open(trigger_id: '12345.98765.abcd2358fdea') }.to raise_error ArgumentError, /Required arguments :view missing/
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
context 'views_push' do
|
|
17
|
+
it 'requires trigger_id' do
|
|
18
|
+
expect { client.views_push(view: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
|
19
|
+
end
|
|
20
|
+
it 'requires view' do
|
|
21
|
+
expect { client.views_push(trigger_id: '12345.98765.abcd2358fdea') }.to raise_error ArgumentError, /Required arguments :view missing/
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
context 'views_update' do
|
|
25
|
+
it 'requires view' do
|
|
26
|
+
expect { client.views_update }.to raise_error ArgumentError, /Required arguments :view missing/
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -1,13 +1,15 @@
|
|
|
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
8
|
begin
|
|
7
9
|
client.auth_test
|
|
8
10
|
raise 'Expected to receive Slack::Web::Api::Error.'
|
|
9
|
-
rescue
|
|
10
|
-
expect(e.response).
|
|
11
|
+
rescue described_class => e
|
|
12
|
+
expect(e.response).not_to be_nil
|
|
11
13
|
expect(e.response.status).to eq 200
|
|
12
14
|
end
|
|
13
15
|
end
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Client do
|
|
4
|
-
let(:client) {
|
|
5
|
-
|
|
5
|
+
let(:client) { described_class.new }
|
|
6
|
+
|
|
7
|
+
it 'raises a Faraday::ClientError when Slack is unavailable',
|
|
8
|
+
vcr: { cassette_name: 'web/503_error' } do
|
|
6
9
|
begin
|
|
7
10
|
client.auth_test
|
|
8
|
-
raise 'Expected to receive Faraday::
|
|
9
|
-
rescue Faraday::
|
|
10
|
-
expect(e.response).
|
|
11
|
+
raise 'Expected to receive Faraday::ServerError.'
|
|
12
|
+
rescue Faraday::ServerError => e
|
|
13
|
+
expect(e.response).not_to be_nil
|
|
11
14
|
expect(e.response[:status]).to eq 503
|
|
12
15
|
end
|
|
13
16
|
end
|
|
@@ -1,14 +1,38 @@
|
|
|
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
8
|
begin
|
|
7
9
|
client.auth_test
|
|
8
10
|
raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
|
|
9
|
-
rescue
|
|
10
|
-
expect(e.response).
|
|
11
|
+
rescue described_class => e
|
|
12
|
+
expect(e.response).not_to be_nil
|
|
13
|
+
expect(e.response.status).to eq 200
|
|
14
|
+
expect(e.message).to eql 'not_authed'
|
|
15
|
+
expect(e.error).to eql 'not_authed'
|
|
16
|
+
expect(e.response_metadata).to be_nil
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'provides access to any response_metadata', vcr: { cassette_name: 'web/views_open_error' } do
|
|
21
|
+
begin
|
|
22
|
+
client.views_open(trigger_id: 'trigger_id', view: {})
|
|
23
|
+
raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
|
|
24
|
+
rescue described_class => e
|
|
25
|
+
expect(e.response).not_to be_nil
|
|
11
26
|
expect(e.response.status).to eq 200
|
|
27
|
+
expect(e.message).to eql 'invalid_arguments'
|
|
28
|
+
expect(e.error).to eql 'invalid_arguments'
|
|
29
|
+
expect(e.response_metadata).to eq(
|
|
30
|
+
'messages' => [
|
|
31
|
+
"[ERROR] missing required field: title [json-pointer:\/view]",
|
|
32
|
+
"[ERROR] missing required field: blocks [json-pointer:\/view]",
|
|
33
|
+
"[ERROR] missing required field: type [json-pointer:\/view]"
|
|
34
|
+
]
|
|
35
|
+
)
|
|
12
36
|
end
|
|
13
37
|
end
|
|
14
38
|
end
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Mixins::Channels do
|
|
5
|
+
subject(:channels) do
|
|
6
|
+
klass.new
|
|
7
|
+
end
|
|
8
|
+
|
|
4
9
|
let(:klass) do
|
|
5
10
|
Class.new do
|
|
6
11
|
include Slack::Web::Api::Mixins::Channels
|
|
7
12
|
end
|
|
8
13
|
end
|
|
9
|
-
|
|
10
|
-
klass.new
|
|
11
|
-
end
|
|
14
|
+
|
|
12
15
|
before do
|
|
13
|
-
allow(
|
|
16
|
+
allow(channels).to receive(:channels_list).and_return(
|
|
14
17
|
Slack::Messages::Message.new(
|
|
15
18
|
'channels' => [{
|
|
16
19
|
'id' => 'CDEADBEEF',
|
|
@@ -19,15 +22,22 @@ RSpec.describe Slack::Web::Api::Mixins::Channels do
|
|
|
19
22
|
)
|
|
20
23
|
)
|
|
21
24
|
end
|
|
25
|
+
|
|
22
26
|
context '#channels_id' do
|
|
23
27
|
it 'leaves channels specified by ID alone' do
|
|
24
|
-
expect(
|
|
28
|
+
expect(channels.channels_id(channel: 'C123456')).to(
|
|
29
|
+
eq('ok' => true, 'channel' => { 'id' => 'C123456' })
|
|
30
|
+
)
|
|
25
31
|
end
|
|
26
32
|
it 'translates a channel that starts with a #' do
|
|
27
|
-
expect(
|
|
33
|
+
expect(channels.channels_id(channel: '#general')).to(
|
|
34
|
+
eq('ok' => true, 'channel' => { 'id' => 'CDEADBEEF' })
|
|
35
|
+
)
|
|
28
36
|
end
|
|
29
37
|
it 'fails with an exception' do
|
|
30
|
-
expect {
|
|
38
|
+
expect { channels.channels_id(channel: '#invalid') }.to(
|
|
39
|
+
raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
|
|
40
|
+
)
|
|
31
41
|
end
|
|
32
42
|
end
|
|
33
43
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
RSpec.describe Slack::Web::Api::Mixins::Conversations do
|
|
5
|
+
subject(:conversations) do
|
|
6
|
+
klass.new
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
let(:klass) do
|
|
10
|
+
Class.new do
|
|
11
|
+
include Slack::Web::Api::Mixins::Conversations
|
|
12
|
+
|
|
13
|
+
def conversations_list
|
|
14
|
+
Slack::Messages::Message.new(
|
|
15
|
+
'channels' => [{
|
|
16
|
+
'id' => 'CDEADBEEF',
|
|
17
|
+
'name' => 'general'
|
|
18
|
+
}]
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe '#conversations_id' do
|
|
25
|
+
it 'leaves channels specified by ID alone' do
|
|
26
|
+
expect(conversations.conversations_id(channel: 'C123456')).to(
|
|
27
|
+
eq('ok' => true, 'channel' => { 'id' => 'C123456' })
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
it 'translates a channel that starts with a #' do
|
|
31
|
+
expect(conversations.conversations_id(channel: '#general')).to(
|
|
32
|
+
eq('ok' => true, 'channel' => { 'id' => 'CDEADBEEF' })
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
it 'fails with an exception' do
|
|
36
|
+
expect { conversations.conversations_id(channel: '#invalid') }.to(
|
|
37
|
+
raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Mixins::Groups do
|
|
5
|
+
subject(:groups) do
|
|
6
|
+
klass.new
|
|
7
|
+
end
|
|
8
|
+
|
|
4
9
|
let(:klass) do
|
|
5
10
|
Class.new do
|
|
6
11
|
include Slack::Web::Api::Mixins::Groups
|
|
7
12
|
end
|
|
8
13
|
end
|
|
9
|
-
|
|
10
|
-
klass.new
|
|
11
|
-
end
|
|
14
|
+
|
|
12
15
|
before do
|
|
13
|
-
allow(
|
|
16
|
+
allow(groups).to receive(:groups_list).and_return(
|
|
14
17
|
Slack::Messages::Message.new(
|
|
15
18
|
'groups' => [{
|
|
16
19
|
'id' => 'CDEADBEEF',
|
|
@@ -19,15 +22,22 @@ RSpec.describe Slack::Web::Api::Mixins::Groups do
|
|
|
19
22
|
)
|
|
20
23
|
)
|
|
21
24
|
end
|
|
25
|
+
|
|
22
26
|
context '#groups_id' do
|
|
23
27
|
it 'leaves groups specified by ID alone' do
|
|
24
|
-
expect(
|
|
28
|
+
expect(groups.groups_id(channel: 'C123456')).to(
|
|
29
|
+
eq('ok' => true, 'group' => { 'id' => 'C123456' })
|
|
30
|
+
)
|
|
25
31
|
end
|
|
26
32
|
it 'translates a channel that starts with a #' do
|
|
27
|
-
expect(
|
|
33
|
+
expect(groups.groups_id(channel: '#general')).to(
|
|
34
|
+
eq('ok' => true, 'group' => { 'id' => 'CDEADBEEF' })
|
|
35
|
+
)
|
|
28
36
|
end
|
|
29
37
|
it 'fails with an exception' do
|
|
30
|
-
expect {
|
|
38
|
+
expect { groups.groups_id(channel: '#invalid') }.to(
|
|
39
|
+
raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
|
|
40
|
+
)
|
|
31
41
|
end
|
|
32
42
|
end
|
|
33
43
|
end
|