slack-ruby-client 0.14.4 → 0.14.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +19 -11
- data/.rubocop_todo.yml +66 -47
- data/CHANGELOG.md +8 -0
- data/Dangerfile +1 -0
- data/Gemfile +1 -0
- data/README.md +16 -9
- data/Rakefile +1 -0
- data/bin/commands.rb +6 -0
- data/bin/commands/admin_apps.rb +27 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_users_session.rb +3 -2
- 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/channels.rb +31 -30
- data/bin/commands/chat.rb +19 -18
- data/bin/commands/chat_scheduledMessages.rb +3 -2
- data/bin/commands/conversations.rb +35 -34
- 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 +13 -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 +5 -4
- 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 +9 -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 +3 -2
- 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 -0
- 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 +19 -12
- data/lib/slack/real_time/concurrency.rb +1 -0
- data/lib/slack/real_time/concurrency/async.rb +15 -7
- data/lib/slack/real_time/concurrency/celluloid.rb +9 -3
- data/lib/slack/real_time/concurrency/eventmachine.rb +7 -4
- 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 -0
- 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 +14 -11
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +1 -0
- data/lib/slack/real_time/stores/starter.rb +1 -0
- data/lib/slack/real_time/stores/store.rb +16 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +11 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +2 -1
- 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/channels.rb +16 -16
- data/lib/slack/web/api/endpoints/chat.rb +10 -9
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +2 -1
- data/lib/slack/web/api/endpoints/conversations.rb +18 -17
- data/lib/slack/web/api/endpoints/dialog.rb +2 -1
- data/lib/slack/web/api/endpoints/dnd.rb +5 -4
- data/lib/slack/web/api/endpoints/emoji.rb +2 -1
- data/lib/slack/web/api/endpoints/files.rb +7 -6
- 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 +17 -22
- data/lib/slack/web/api/endpoints/im.rb +7 -8
- data/lib/slack/web/api/endpoints/migration.rb +2 -1
- data/lib/slack/web/api/endpoints/mpim.rb +6 -7
- data/lib/slack/web/api/endpoints/oauth.rb +3 -2
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +5 -9
- data/lib/slack/web/api/endpoints/reactions.rb +9 -12
- 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 +4 -5
- data/lib/slack/web/api/endpoints/team.rb +5 -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 -16
- 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/slack_error.rb +2 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -0
- data/lib/slack/web/api/mixins/ids.id.rb +4 -1
- 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/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/method.erb +1 -0
- data/lib/slack/web/api/templates/method_spec.erb +1 -0
- data/lib/slack/web/client.rb +1 -0
- data/lib/slack/web/config.rb +1 -0
- data/lib/slack/web/faraday/connection.rb +1 -0
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +7 -6
- data/lib/slack/web/pagination/cursor.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +12 -4
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +17 -6
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +4 -1
- data/spec/integration/integration_spec.rb +16 -17
- 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 +137 -39
- 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_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +1 -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 +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +1 -0
- 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/chat_scheduledMessages_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +2 -0
- 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 +1 -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 -0
- 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 +6 -3
- data/spec/slack/web/api/errors/slack_error_spec.rb +4 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- 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 +45 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +16 -5
- 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 +59 -7
- data/screenshots/register-bot.png +0 -0
@@ -1,11 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
RSpec.describe Slack::Web::Client do
|
4
5
|
before do
|
5
6
|
Slack::Config.reset
|
6
7
|
end
|
8
|
+
|
7
9
|
context 'with defaults' do
|
8
|
-
let(:client) {
|
10
|
+
let(:client) { described_class.new }
|
11
|
+
|
9
12
|
describe '#initialize' do
|
10
13
|
it 'sets user-agent' do
|
11
14
|
expect(client.user_agent).to eq Slack::Web::Config.user_agent
|
@@ -18,30 +21,36 @@ RSpec.describe Slack::Web::Client do
|
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
24
|
+
|
21
25
|
context 'with custom settings' do
|
22
26
|
describe '#initialize' do
|
23
27
|
Slack::Web::Config::ATTRIBUTES.each do |key|
|
24
|
-
context key do
|
25
|
-
let(:client) {
|
28
|
+
context key.to_s do
|
29
|
+
let(:client) { described_class.new(key => 'custom') }
|
30
|
+
|
26
31
|
it "sets #{key}" do
|
27
|
-
expect(client.send(key)).
|
32
|
+
expect(client.send(key)).not_to eq Slack::Web::Config.send(key)
|
28
33
|
expect(client.send(key)).to eq 'custom'
|
29
34
|
end
|
30
35
|
end
|
31
36
|
end
|
32
37
|
end
|
33
38
|
end
|
39
|
+
|
34
40
|
context 'global config' do
|
35
41
|
after do
|
36
|
-
|
42
|
+
described_class.config.reset
|
37
43
|
end
|
38
|
-
|
44
|
+
|
45
|
+
let(:client) { described_class.new }
|
46
|
+
|
39
47
|
context 'user-agent' do
|
40
48
|
before do
|
41
|
-
|
49
|
+
described_class.configure do |config|
|
42
50
|
config.user_agent = 'custom/user-agent'
|
43
51
|
end
|
44
52
|
end
|
53
|
+
|
45
54
|
describe '#initialize' do
|
46
55
|
it 'sets user-agent' do
|
47
56
|
expect(client.user_agent).to eq 'custom/user-agent'
|
@@ -54,38 +63,43 @@ RSpec.describe Slack::Web::Client do
|
|
54
63
|
end
|
55
64
|
end
|
56
65
|
end
|
66
|
+
|
57
67
|
context 'token' do
|
58
68
|
before do
|
59
69
|
Slack.configure do |config|
|
60
70
|
config.token = 'global default'
|
61
71
|
end
|
62
72
|
end
|
73
|
+
|
63
74
|
it 'defaults token to global default' do
|
64
|
-
client =
|
75
|
+
client = described_class.new
|
65
76
|
expect(client.token).to eq 'global default'
|
66
77
|
end
|
67
78
|
context 'with web config' do
|
68
79
|
before do
|
69
|
-
|
80
|
+
described_class.configure do |config|
|
70
81
|
config.token = 'custom web token'
|
71
82
|
end
|
72
83
|
end
|
84
|
+
|
73
85
|
it 'overrides token to web config' do
|
74
|
-
client =
|
86
|
+
client = described_class.new
|
75
87
|
expect(client.token).to eq 'custom web token'
|
76
88
|
end
|
77
89
|
it 'overrides token to specific token' do
|
78
|
-
client =
|
90
|
+
client = described_class.new(token: 'local token')
|
79
91
|
expect(client.token).to eq 'local token'
|
80
92
|
end
|
81
93
|
end
|
82
94
|
end
|
95
|
+
|
83
96
|
context 'proxy' do
|
84
97
|
before do
|
85
|
-
|
98
|
+
described_class.configure do |config|
|
86
99
|
config.proxy = 'http://localhost:8080'
|
87
100
|
end
|
88
101
|
end
|
102
|
+
|
89
103
|
describe '#initialize' do
|
90
104
|
it 'sets proxy' do
|
91
105
|
expect(client.proxy).to eq 'http://localhost:8080'
|
@@ -95,13 +109,15 @@ RSpec.describe Slack::Web::Client do
|
|
95
109
|
end
|
96
110
|
end
|
97
111
|
end
|
112
|
+
|
98
113
|
context 'SSL options' do
|
99
114
|
before do
|
100
|
-
|
115
|
+
described_class.configure do |config|
|
101
116
|
config.ca_path = '/ca_path'
|
102
117
|
config.ca_file = '/ca_file'
|
103
118
|
end
|
104
119
|
end
|
120
|
+
|
105
121
|
describe '#initialize' do
|
106
122
|
it 'sets ca_path and ca_file' do
|
107
123
|
expect(client.ca_path).to eq '/ca_path'
|
@@ -114,13 +130,16 @@ RSpec.describe Slack::Web::Client do
|
|
114
130
|
end
|
115
131
|
end
|
116
132
|
end
|
133
|
+
|
117
134
|
context 'logger option' do
|
118
135
|
let(:logger) { Logger.new(STDOUT) }
|
136
|
+
|
119
137
|
before do
|
120
|
-
|
138
|
+
described_class.configure do |config|
|
121
139
|
config.logger = logger
|
122
140
|
end
|
123
141
|
end
|
142
|
+
|
124
143
|
describe '#initialize' do
|
125
144
|
it 'sets logger' do
|
126
145
|
expect(client.logger).to eq logger
|
@@ -130,13 +149,15 @@ RSpec.describe Slack::Web::Client do
|
|
130
149
|
end
|
131
150
|
end
|
132
151
|
end
|
152
|
+
|
133
153
|
context 'timeout options' do
|
134
154
|
before do
|
135
|
-
|
155
|
+
described_class.configure do |config|
|
136
156
|
config.timeout = 10
|
137
157
|
config.open_timeout = 15
|
138
158
|
end
|
139
159
|
end
|
160
|
+
|
140
161
|
describe '#initialize' do
|
141
162
|
it 'sets timeout and open_timeout' do
|
142
163
|
expect(client.timeout).to eq 10
|
@@ -149,13 +170,15 @@ RSpec.describe Slack::Web::Client do
|
|
149
170
|
end
|
150
171
|
end
|
151
172
|
end
|
173
|
+
|
152
174
|
context 'per-request options' do
|
153
175
|
it 'applies timeout', vcr: { cassette_name: 'web/rtm_start', allow_playback_repeats: true } do
|
154
176
|
# reuse the same connection for the test, otherwise it creates a new one every time
|
155
177
|
conn = client.send(:connection)
|
156
178
|
expect(client).to receive(:connection).and_return(conn)
|
157
179
|
|
158
|
-
# get the yielded request to reuse in the next call to
|
180
|
+
# get the yielded request to reuse in the next call to
|
181
|
+
# rtm_start so that we can examine request.options later
|
159
182
|
request = nil
|
160
183
|
response = conn.post do |r|
|
161
184
|
r.path = 'rtm.start'
|
@@ -170,10 +193,14 @@ RSpec.describe Slack::Web::Client do
|
|
170
193
|
expect(request.options.timeout).to eq 3
|
171
194
|
end
|
172
195
|
end
|
196
|
+
|
173
197
|
context 'calling undocumented methods' do
|
174
|
-
let(:client) {
|
198
|
+
let(:client) { described_class.new }
|
199
|
+
|
175
200
|
it 'produces a warning' do
|
176
|
-
expect(client.logger).to
|
201
|
+
expect(client.logger).to(
|
202
|
+
receive(:warn).with('The users.admin.setInactive method is undocumented.')
|
203
|
+
)
|
177
204
|
expect(client).to receive(:post)
|
178
205
|
client.users_admin_setInactive(user: 'U092BDCLV')
|
179
206
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
5
|
+
subject(:raise_error_obj) { described_class.new }
|
6
|
+
|
4
7
|
describe '#on_complete' do
|
5
|
-
let(:subject) { described_class.new }
|
6
8
|
let(:status) { 200 }
|
7
9
|
let(:response) { nil }
|
8
10
|
let(:body) { {} }
|
@@ -12,7 +14,9 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
12
14
|
let(:status) { 429 }
|
13
15
|
|
14
16
|
it 'raises a TooManyRequestsError' do
|
15
|
-
expect {
|
17
|
+
expect { raise_error_obj.on_complete(env) }.to(
|
18
|
+
raise_error(Slack::Web::Api::Errors::TooManyRequestsError)
|
19
|
+
)
|
16
20
|
end
|
17
21
|
end
|
18
22
|
|
@@ -20,7 +24,7 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
20
24
|
let(:body) { { 'ok' => 'true' } }
|
21
25
|
|
22
26
|
it 'is nil' do
|
23
|
-
expect(
|
27
|
+
expect(raise_error_obj.on_complete(env)).to eq nil
|
24
28
|
end
|
25
29
|
end
|
26
30
|
|
@@ -28,7 +32,9 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
28
32
|
let(:body) { { 'error' => 'already_in_channel' } }
|
29
33
|
|
30
34
|
it 'raises a SlackError with the error message' do
|
31
|
-
expect {
|
35
|
+
expect { raise_error_obj.on_complete(env) }.to(
|
36
|
+
raise_error(Slack::Web::Api::Errors::SlackError, 'already_in_channel')
|
37
|
+
)
|
32
38
|
end
|
33
39
|
end
|
34
40
|
|
@@ -43,7 +49,12 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
43
49
|
end
|
44
50
|
|
45
51
|
it 'raises a SlackError with the concatenated error messages' do
|
46
|
-
expect {
|
52
|
+
expect { raise_error_obj.on_complete(env) }.to(
|
53
|
+
raise_error(
|
54
|
+
Slack::Web::Api::Errors::SlackError,
|
55
|
+
'already_in_channel,something_else_terrible'
|
56
|
+
)
|
57
|
+
)
|
47
58
|
end
|
48
59
|
end
|
49
60
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
|
2
3
|
|
3
4
|
require 'rubygems'
|
4
5
|
require 'rspec'
|
5
6
|
require 'timecop'
|
6
7
|
|
7
|
-
require '
|
8
|
+
require 'slack_ruby_client'
|
8
9
|
|
9
10
|
Dir[File.join(File.dirname(__FILE__), 'support', '**/*.rb')].each do |file|
|
10
11
|
require file
|
@@ -1,18 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
RSpec.shared_context 'connected client' do |opts|
|
2
3
|
let(:client) { Slack::RealTime::Client.new(opts || {}) }
|
3
4
|
let(:ws) { double(Slack::RealTime::Concurrency::Mock::WebSocket) }
|
4
5
|
let(:url) do
|
5
|
-
Slack::RealTime.config.store_class == Slack::RealTime::Stores::Store
|
6
|
-
'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid='
|
6
|
+
if Slack::RealTime.config.store_class == Slack::RealTime::Stores::Store
|
7
|
+
'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid='
|
8
|
+
else
|
7
9
|
'wss://mpmulti-w5tz.slack-msgs.com/websocket/uid'
|
10
|
+
end
|
8
11
|
end
|
9
12
|
let(:socket) { double(Slack::RealTime::Socket, connected?: true) }
|
13
|
+
|
10
14
|
before do
|
11
15
|
Slack::RealTime.configure do |config|
|
12
16
|
config.concurrency = Slack::RealTime::Concurrency::Mock
|
13
17
|
config.store_class = (opts || {})[:store_class] || Slack::RealTime::Stores::Store
|
14
18
|
end
|
15
|
-
allow(Slack::RealTime::Socket).to
|
19
|
+
allow(Slack::RealTime::Socket).to(
|
20
|
+
receive(:new).with(url, ping: 30, logger: Slack::Logger.default).and_return(socket)
|
21
|
+
)
|
16
22
|
allow(socket).to receive(:start_sync)
|
17
23
|
allow(socket).to receive(:connect!)
|
18
24
|
allow(ws).to receive(:on)
|
data/spec/support/token.rb
CHANGED
data/spec/support/vcr.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Doubrovkine
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -154,16 +154,44 @@ dependencies:
|
|
154
154
|
name: rubocop
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.73.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.73.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop-performance
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
173
|
+
version: 1.4.1
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- -
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 1.4.1
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop-rspec
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 1.34.0
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
194
|
+
version: 1.34.0
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: timecop
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -229,6 +257,8 @@ files:
|
|
229
257
|
- Rakefile
|
230
258
|
- UPGRADING.md
|
231
259
|
- bin/commands.rb
|
260
|
+
- bin/commands/admin_apps.rb
|
261
|
+
- bin/commands/admin_apps_requests.rb
|
232
262
|
- bin/commands/admin_users_session.rb
|
233
263
|
- bin/commands/api.rb
|
234
264
|
- bin/commands/apps.rb
|
@@ -247,11 +277,13 @@ files:
|
|
247
277
|
- bin/commands/emoji.rb
|
248
278
|
- bin/commands/files.rb
|
249
279
|
- bin/commands/files_comments.rb
|
280
|
+
- bin/commands/files_remote.rb
|
250
281
|
- bin/commands/groups.rb
|
251
282
|
- bin/commands/im.rb
|
252
283
|
- bin/commands/migration.rb
|
253
284
|
- bin/commands/mpim.rb
|
254
285
|
- bin/commands/oauth.rb
|
286
|
+
- bin/commands/oauth_v2.rb
|
255
287
|
- bin/commands/pins.rb
|
256
288
|
- bin/commands/reactions.rb
|
257
289
|
- bin/commands/reminders.rb
|
@@ -266,6 +298,7 @@ files:
|
|
266
298
|
- bin/commands/users_admin.rb
|
267
299
|
- bin/commands/users_prefs.rb
|
268
300
|
- bin/commands/users_profile.rb
|
301
|
+
- bin/commands/views.rb
|
269
302
|
- bin/slack
|
270
303
|
- examples/hi_real_time/Gemfile
|
271
304
|
- examples/hi_real_time/hi.gif
|
@@ -322,6 +355,8 @@ files:
|
|
322
355
|
- lib/slack/real_time/stores/store.rb
|
323
356
|
- lib/slack/version.rb
|
324
357
|
- lib/slack/web/api/endpoints.rb
|
358
|
+
- lib/slack/web/api/endpoints/admin_apps.rb
|
359
|
+
- lib/slack/web/api/endpoints/admin_apps_requests.rb
|
325
360
|
- lib/slack/web/api/endpoints/admin_users_session.rb
|
326
361
|
- lib/slack/web/api/endpoints/api.rb
|
327
362
|
- lib/slack/web/api/endpoints/apps.rb
|
@@ -340,11 +375,13 @@ files:
|
|
340
375
|
- lib/slack/web/api/endpoints/emoji.rb
|
341
376
|
- lib/slack/web/api/endpoints/files.rb
|
342
377
|
- lib/slack/web/api/endpoints/files_comments.rb
|
378
|
+
- lib/slack/web/api/endpoints/files_remote.rb
|
343
379
|
- lib/slack/web/api/endpoints/groups.rb
|
344
380
|
- lib/slack/web/api/endpoints/im.rb
|
345
381
|
- lib/slack/web/api/endpoints/migration.rb
|
346
382
|
- lib/slack/web/api/endpoints/mpim.rb
|
347
383
|
- lib/slack/web/api/endpoints/oauth.rb
|
384
|
+
- lib/slack/web/api/endpoints/oauth_v2.rb
|
348
385
|
- lib/slack/web/api/endpoints/pins.rb
|
349
386
|
- lib/slack/web/api/endpoints/presence.rb
|
350
387
|
- lib/slack/web/api/endpoints/reactions.rb
|
@@ -360,6 +397,7 @@ files:
|
|
360
397
|
- lib/slack/web/api/endpoints/users_admin.rb
|
361
398
|
- lib/slack/web/api/endpoints/users_prefs.rb
|
362
399
|
- lib/slack/web/api/endpoints/users_profile.rb
|
400
|
+
- lib/slack/web/api/endpoints/views.rb
|
363
401
|
- lib/slack/web/api/error.rb
|
364
402
|
- lib/slack/web/api/errors/slack_error.rb
|
365
403
|
- lib/slack/web/api/errors/too_many_requests_error.rb
|
@@ -380,6 +418,8 @@ files:
|
|
380
418
|
- lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch
|
381
419
|
- lib/slack/web/api/patches/chat.6.block-kit-support.patch
|
382
420
|
- lib/slack/web/api/patches/dialog.1.open-json-support.patch
|
421
|
+
- lib/slack/web/api/patches/views.1.view-json.patch
|
422
|
+
- lib/slack/web/api/patches/views.1.views-published.patch
|
383
423
|
- lib/slack/web/api/schema/group.json
|
384
424
|
- lib/slack/web/api/schema/method.json
|
385
425
|
- lib/slack/web/api/templates/command.erb
|
@@ -398,7 +438,7 @@ files:
|
|
398
438
|
- lib/tasks/real_time.rake
|
399
439
|
- lib/tasks/update.rake
|
400
440
|
- lib/tasks/web.rake
|
401
|
-
- screenshots/
|
441
|
+
- screenshots/create-app.png
|
402
442
|
- slack-ruby-client.gemspec
|
403
443
|
- slack.png
|
404
444
|
- spec/fixtures/slack/web/429_error.yml
|
@@ -436,6 +476,8 @@ files:
|
|
436
476
|
- spec/slack/real_time/store_spec.rb
|
437
477
|
- spec/slack/slack_spec.rb
|
438
478
|
- spec/slack/version_spec.rb
|
479
|
+
- spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
|
480
|
+
- spec/slack/web/api/endpoints/admin_apps_spec.rb
|
439
481
|
- spec/slack/web/api/endpoints/admin_users_session_spec.rb
|
440
482
|
- spec/slack/web/api/endpoints/api_spec.rb
|
441
483
|
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
@@ -452,14 +494,17 @@ files:
|
|
452
494
|
- spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
|
453
495
|
- spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
|
454
496
|
- spec/slack/web/api/endpoints/custom_specs/users_spec.rb
|
497
|
+
- spec/slack/web/api/endpoints/custom_specs/views_spec.rb
|
455
498
|
- spec/slack/web/api/endpoints/dnd_spec.rb
|
456
499
|
- spec/slack/web/api/endpoints/emoji_spec.rb
|
457
500
|
- spec/slack/web/api/endpoints/files_comments_spec.rb
|
501
|
+
- spec/slack/web/api/endpoints/files_remote_spec.rb
|
458
502
|
- spec/slack/web/api/endpoints/files_spec.rb
|
459
503
|
- spec/slack/web/api/endpoints/im_spec.rb
|
460
504
|
- spec/slack/web/api/endpoints/migration_spec.rb
|
461
505
|
- spec/slack/web/api/endpoints/mpim_spec.rb
|
462
506
|
- spec/slack/web/api/endpoints/oauth_spec.rb
|
507
|
+
- spec/slack/web/api/endpoints/oauth_v2_spec.rb
|
463
508
|
- spec/slack/web/api/endpoints/pins_spec.rb
|
464
509
|
- spec/slack/web/api/endpoints/reactions_spec.rb
|
465
510
|
- spec/slack/web/api/endpoints/reminders_spec.rb
|
@@ -473,6 +518,7 @@ files:
|
|
473
518
|
- spec/slack/web/api/endpoints/users_admin_spec.rb
|
474
519
|
- spec/slack/web/api/endpoints/users_prefs_spec.rb
|
475
520
|
- spec/slack/web/api/endpoints/users_profile_spec.rb
|
521
|
+
- spec/slack/web/api/endpoints/views_spec.rb
|
476
522
|
- spec/slack/web/api/error_spec.rb
|
477
523
|
- spec/slack/web/api/errors/service_unavailable_spec.rb
|
478
524
|
- spec/slack/web/api/errors/slack_error_spec.rb
|
@@ -548,6 +594,8 @@ test_files:
|
|
548
594
|
- spec/slack/real_time/store_spec.rb
|
549
595
|
- spec/slack/slack_spec.rb
|
550
596
|
- spec/slack/version_spec.rb
|
597
|
+
- spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
|
598
|
+
- spec/slack/web/api/endpoints/admin_apps_spec.rb
|
551
599
|
- spec/slack/web/api/endpoints/admin_users_session_spec.rb
|
552
600
|
- spec/slack/web/api/endpoints/api_spec.rb
|
553
601
|
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
@@ -564,14 +612,17 @@ test_files:
|
|
564
612
|
- spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb
|
565
613
|
- spec/slack/web/api/endpoints/custom_specs/groups_spec.rb
|
566
614
|
- spec/slack/web/api/endpoints/custom_specs/users_spec.rb
|
615
|
+
- spec/slack/web/api/endpoints/custom_specs/views_spec.rb
|
567
616
|
- spec/slack/web/api/endpoints/dnd_spec.rb
|
568
617
|
- spec/slack/web/api/endpoints/emoji_spec.rb
|
569
618
|
- spec/slack/web/api/endpoints/files_comments_spec.rb
|
619
|
+
- spec/slack/web/api/endpoints/files_remote_spec.rb
|
570
620
|
- spec/slack/web/api/endpoints/files_spec.rb
|
571
621
|
- spec/slack/web/api/endpoints/im_spec.rb
|
572
622
|
- spec/slack/web/api/endpoints/migration_spec.rb
|
573
623
|
- spec/slack/web/api/endpoints/mpim_spec.rb
|
574
624
|
- spec/slack/web/api/endpoints/oauth_spec.rb
|
625
|
+
- spec/slack/web/api/endpoints/oauth_v2_spec.rb
|
575
626
|
- spec/slack/web/api/endpoints/pins_spec.rb
|
576
627
|
- spec/slack/web/api/endpoints/reactions_spec.rb
|
577
628
|
- spec/slack/web/api/endpoints/reminders_spec.rb
|
@@ -585,6 +636,7 @@ test_files:
|
|
585
636
|
- spec/slack/web/api/endpoints/users_admin_spec.rb
|
586
637
|
- spec/slack/web/api/endpoints/users_prefs_spec.rb
|
587
638
|
- spec/slack/web/api/endpoints/users_profile_spec.rb
|
639
|
+
- spec/slack/web/api/endpoints/views_spec.rb
|
588
640
|
- spec/slack/web/api/error_spec.rb
|
589
641
|
- spec/slack/web/api/errors/service_unavailable_spec.rb
|
590
642
|
- spec/slack/web/api/errors/slack_error_spec.rb
|