slack-ruby-client 0.14.4 → 0.14.5

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.
Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +19 -11
  3. data/.rubocop_todo.yml +66 -47
  4. data/CHANGELOG.md +8 -0
  5. data/Dangerfile +1 -0
  6. data/Gemfile +1 -0
  7. data/README.md +16 -9
  8. data/Rakefile +1 -0
  9. data/bin/commands.rb +6 -0
  10. data/bin/commands/admin_apps.rb +27 -0
  11. data/bin/commands/admin_apps_requests.rb +16 -0
  12. data/bin/commands/admin_users_session.rb +3 -2
  13. data/bin/commands/api.rb +3 -2
  14. data/bin/commands/apps.rb +3 -2
  15. data/bin/commands/apps_permissions.rb +5 -4
  16. data/bin/commands/apps_permissions_resources.rb +3 -2
  17. data/bin/commands/apps_permissions_scopes.rb +3 -2
  18. data/bin/commands/apps_permissions_users.rb +5 -4
  19. data/bin/commands/auth.rb +5 -4
  20. data/bin/commands/bots.rb +3 -2
  21. data/bin/commands/channels.rb +31 -30
  22. data/bin/commands/chat.rb +19 -18
  23. data/bin/commands/chat_scheduledMessages.rb +3 -2
  24. data/bin/commands/conversations.rb +35 -34
  25. data/bin/commands/dialog.rb +3 -2
  26. data/bin/commands/dnd.rb +9 -8
  27. data/bin/commands/emoji.rb +3 -2
  28. data/bin/commands/files.rb +13 -12
  29. data/bin/commands/files_comments.rb +3 -2
  30. data/bin/commands/files_remote.rb +78 -0
  31. data/bin/commands/groups.rb +33 -32
  32. data/bin/commands/im.rb +13 -12
  33. data/bin/commands/migration.rb +3 -2
  34. data/bin/commands/mpim.rb +11 -10
  35. data/bin/commands/oauth.rb +5 -4
  36. data/bin/commands/oauth_v2.rb +17 -0
  37. data/bin/commands/pins.rb +7 -8
  38. data/bin/commands/reactions.rb +10 -11
  39. data/bin/commands/reminders.rb +11 -10
  40. data/bin/commands/rtm.rb +5 -4
  41. data/bin/commands/search.rb +7 -6
  42. data/bin/commands/stars.rb +7 -6
  43. data/bin/commands/team.rb +9 -8
  44. data/bin/commands/team_profile.rb +3 -2
  45. data/bin/commands/usergroups.rb +11 -10
  46. data/bin/commands/usergroups_users.rb +5 -4
  47. data/bin/commands/users.rb +21 -20
  48. data/bin/commands/users_admin.rb +1 -0
  49. data/bin/commands/users_prefs.rb +1 -0
  50. data/bin/commands/users_profile.rb +5 -4
  51. data/bin/commands/views.rb +48 -0
  52. data/bin/slack +1 -2
  53. data/examples/hi_real_time/Gemfile +1 -0
  54. data/examples/hi_real_time/hi.rb +7 -3
  55. data/examples/hi_real_time_and_web/Gemfile +1 -0
  56. data/examples/hi_real_time_and_web/hi.rb +7 -3
  57. data/examples/hi_real_time_async_async/Gemfile +1 -0
  58. data/examples/hi_real_time_async_async/hi.rb +6 -2
  59. data/examples/hi_real_time_async_celluloid/Gemfile +1 -0
  60. data/examples/hi_real_time_async_celluloid/hi.rb +7 -3
  61. data/examples/hi_real_time_async_eventmachine/Gemfile +1 -0
  62. data/examples/hi_real_time_async_eventmachine/hi.rb +7 -3
  63. data/examples/hi_web/Gemfile +1 -0
  64. data/examples/hi_web/hi.rb +1 -0
  65. data/examples/new_ticket/Gemfile +1 -0
  66. data/examples/new_ticket/new_ticket.rb +1 -0
  67. data/lib/slack-ruby-client.rb +3 -2
  68. data/lib/slack.rb +1 -0
  69. data/lib/slack/config.rb +1 -0
  70. data/lib/slack/events/config.rb +1 -0
  71. data/lib/slack/events/request.rb +3 -1
  72. data/lib/slack/logger.rb +6 -5
  73. data/lib/slack/messages/formatting.rb +1 -0
  74. data/lib/slack/messages/message.rb +1 -0
  75. data/lib/slack/real_time/api/message.rb +3 -1
  76. data/lib/slack/real_time/api/message_id.rb +1 -0
  77. data/lib/slack/real_time/api/ping.rb +5 -2
  78. data/lib/slack/real_time/api/typing.rb +3 -1
  79. data/lib/slack/real_time/client.rb +19 -12
  80. data/lib/slack/real_time/concurrency.rb +1 -0
  81. data/lib/slack/real_time/concurrency/async.rb +15 -7
  82. data/lib/slack/real_time/concurrency/celluloid.rb +9 -3
  83. data/lib/slack/real_time/concurrency/eventmachine.rb +7 -4
  84. data/lib/slack/real_time/config.rb +6 -1
  85. data/lib/slack/real_time/models.rb +1 -0
  86. data/lib/slack/real_time/models/base.rb +1 -0
  87. data/lib/slack/real_time/models/bot.rb +1 -0
  88. data/lib/slack/real_time/models/channel.rb +1 -0
  89. data/lib/slack/real_time/models/group.rb +1 -0
  90. data/lib/slack/real_time/models/im.rb +1 -0
  91. data/lib/slack/real_time/models/team.rb +1 -0
  92. data/lib/slack/real_time/models/user.rb +1 -0
  93. data/lib/slack/real_time/socket.rb +14 -11
  94. data/lib/slack/real_time/stores.rb +1 -0
  95. data/lib/slack/real_time/stores/base.rb +1 -0
  96. data/lib/slack/real_time/stores/starter.rb +1 -0
  97. data/lib/slack/real_time/stores/store.rb +16 -25
  98. data/lib/slack/version.rb +2 -1
  99. data/lib/slack/web/api/endpoints.rb +11 -0
  100. data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
  101. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
  102. data/lib/slack/web/api/endpoints/admin_users_session.rb +2 -1
  103. data/lib/slack/web/api/endpoints/api.rb +2 -1
  104. data/lib/slack/web/api/endpoints/apps.rb +2 -1
  105. data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
  106. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
  107. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
  108. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
  109. data/lib/slack/web/api/endpoints/auth.rb +3 -2
  110. data/lib/slack/web/api/endpoints/bots.rb +2 -1
  111. data/lib/slack/web/api/endpoints/channels.rb +16 -16
  112. data/lib/slack/web/api/endpoints/chat.rb +10 -9
  113. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +2 -1
  114. data/lib/slack/web/api/endpoints/conversations.rb +18 -17
  115. data/lib/slack/web/api/endpoints/dialog.rb +2 -1
  116. data/lib/slack/web/api/endpoints/dnd.rb +5 -4
  117. data/lib/slack/web/api/endpoints/emoji.rb +2 -1
  118. data/lib/slack/web/api/endpoints/files.rb +7 -6
  119. data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
  120. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  121. data/lib/slack/web/api/endpoints/groups.rb +17 -22
  122. data/lib/slack/web/api/endpoints/im.rb +7 -8
  123. data/lib/slack/web/api/endpoints/migration.rb +2 -1
  124. data/lib/slack/web/api/endpoints/mpim.rb +6 -7
  125. data/lib/slack/web/api/endpoints/oauth.rb +3 -2
  126. data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
  127. data/lib/slack/web/api/endpoints/pins.rb +5 -9
  128. data/lib/slack/web/api/endpoints/reactions.rb +9 -12
  129. data/lib/slack/web/api/endpoints/reminders.rb +6 -5
  130. data/lib/slack/web/api/endpoints/rtm.rb +3 -2
  131. data/lib/slack/web/api/endpoints/search.rb +4 -3
  132. data/lib/slack/web/api/endpoints/stars.rb +4 -5
  133. data/lib/slack/web/api/endpoints/team.rb +5 -5
  134. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  135. data/lib/slack/web/api/endpoints/usergroups.rb +6 -5
  136. data/lib/slack/web/api/endpoints/usergroups_users.rb +3 -2
  137. data/lib/slack/web/api/endpoints/users.rb +11 -16
  138. data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
  139. data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
  140. data/lib/slack/web/api/endpoints/users_profile.rb +3 -2
  141. data/lib/slack/web/api/endpoints/views.rb +97 -0
  142. data/lib/slack/web/api/error.rb +1 -0
  143. data/lib/slack/web/api/errors/slack_error.rb +2 -1
  144. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
  145. data/lib/slack/web/api/mixins.rb +1 -0
  146. data/lib/slack/web/api/mixins/channels.id.rb +1 -0
  147. data/lib/slack/web/api/mixins/groups.id.rb +1 -0
  148. data/lib/slack/web/api/mixins/ids.id.rb +4 -1
  149. data/lib/slack/web/api/mixins/users.id.rb +1 -0
  150. data/lib/slack/web/api/mixins/users.search.rb +1 -0
  151. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  152. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  153. data/lib/slack/web/api/templates/command.erb +1 -0
  154. data/lib/slack/web/api/templates/commands.erb +1 -0
  155. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  156. data/lib/slack/web/api/templates/method.erb +1 -0
  157. data/lib/slack/web/api/templates/method_spec.erb +1 -0
  158. data/lib/slack/web/client.rb +1 -0
  159. data/lib/slack/web/config.rb +1 -0
  160. data/lib/slack/web/faraday/connection.rb +1 -0
  161. data/lib/slack/web/faraday/request.rb +1 -0
  162. data/lib/slack/web/faraday/response/raise_error.rb +7 -6
  163. data/lib/slack/web/pagination/cursor.rb +1 -0
  164. data/lib/slack_ruby_client.rb +1 -0
  165. data/lib/tasks/git.rake +1 -0
  166. data/lib/tasks/real_time.rake +12 -4
  167. data/lib/tasks/update.rake +1 -0
  168. data/lib/tasks/web.rake +17 -6
  169. data/screenshots/create-app.png +0 -0
  170. data/slack-ruby-client.gemspec +4 -1
  171. data/spec/integration/integration_spec.rb +16 -17
  172. data/spec/slack/config_spec.rb +2 -0
  173. data/spec/slack/events/config_spec.rb +8 -4
  174. data/spec/slack/events/request_spec.rb +67 -37
  175. data/spec/slack/messages/formatting_spec.rb +25 -13
  176. data/spec/slack/real_time/api/message_spec.rb +6 -1
  177. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  178. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  179. data/spec/slack/real_time/client_spec.rb +137 -39
  180. data/spec/slack/real_time/concurrency/celluloid_spec.rb +11 -6
  181. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +9 -1
  182. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
  183. data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
  184. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
  185. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
  186. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  187. data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
  188. data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
  189. data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
  190. data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
  191. data/spec/slack/real_time/rtm_start_spec.rb +1 -0
  192. data/spec/slack/real_time/store_spec.rb +2 -1
  193. data/spec/slack/slack_spec.rb +37 -5
  194. data/spec/slack/version_spec.rb +2 -1
  195. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  196. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +8 -0
  197. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +1 -0
  198. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  199. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
  200. data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
  201. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +1 -0
  202. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +1 -0
  203. data/spec/slack/web/api/endpoints/apps_spec.rb +1 -0
  204. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  205. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +1 -0
  206. data/spec/slack/web/api/endpoints/conversations_spec.rb +1 -0
  207. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
  208. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +2 -0
  209. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
  210. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
  211. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
  212. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
  213. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  214. data/spec/slack/web/api/endpoints/dnd_spec.rb +1 -0
  215. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  216. data/spec/slack/web/api/endpoints/files_comments_spec.rb +1 -0
  217. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  218. data/spec/slack/web/api/endpoints/files_spec.rb +1 -0
  219. data/spec/slack/web/api/endpoints/im_spec.rb +1 -0
  220. data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
  221. data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -0
  222. data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -0
  223. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
  224. data/spec/slack/web/api/endpoints/pins_spec.rb +5 -1
  225. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  226. data/spec/slack/web/api/endpoints/reminders_spec.rb +1 -0
  227. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  228. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  229. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  230. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  231. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  232. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  233. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +1 -0
  234. data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
  235. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
  236. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  237. data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
  238. data/spec/slack/web/api/error_spec.rb +4 -2
  239. data/spec/slack/web/api/errors/service_unavailable_spec.rb +6 -3
  240. data/spec/slack/web/api/errors/slack_error_spec.rb +4 -2
  241. data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
  242. data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
  243. data/spec/slack/web/api/mixins/users_spec.rb +17 -8
  244. data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
  245. data/spec/slack/web/client_spec.rb +45 -18
  246. data/spec/slack/web/faraday/response/raise_error_spec.rb +16 -5
  247. data/spec/spec_helper.rb +2 -1
  248. data/spec/support/queue_with_timeout.rb +1 -0
  249. data/spec/support/real_time/concurrency/mock.rb +1 -0
  250. data/spec/support/real_time/connected_client.rb +9 -3
  251. data/spec/support/real_time/event.rb +1 -0
  252. data/spec/support/token.rb +1 -0
  253. data/spec/support/vcr.rb +1 -0
  254. metadata +59 -7
  255. 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) { Slack::Web::Client.new }
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) { Slack::Web::Client.new(key => 'custom') }
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)).to_not eq Slack::Web::Config.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
- Slack::Web::Client.config.reset
42
+ described_class.config.reset
37
43
  end
38
- let(:client) { Slack::Web::Client.new }
44
+
45
+ let(:client) { described_class.new }
46
+
39
47
  context 'user-agent' do
40
48
  before do
41
- Slack::Web::Client.configure do |config|
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 = Slack::Web::Client.new
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
- Slack::Web::Client.configure do |config|
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 = Slack::Web::Client.new
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 = Slack::Web::Client.new(token: 'local token')
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
- Slack::Web::Client.configure do |config|
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
- Slack::Web::Client.configure do |config|
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
- Slack::Web::Client.configure do |config|
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
- Slack::Web::Client.configure do |config|
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 rtm_start so that we can examine request.options later
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) { Slack::Web::Client.new }
198
+ let(:client) { described_class.new }
199
+
175
200
  it 'produces a warning' do
176
- expect(client.logger).to receive(:warn).with('The users.admin.setInactive method is undocumented.')
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 { subject.on_complete(env) }.to raise_error(Slack::Web::Api::Errors::TooManyRequestsError)
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(subject.on_complete(env)).to eq nil
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 { subject.on_complete(env) }.to raise_error(Slack::Web::Api::Errors::SlackError, 'already_in_channel')
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 { subject.on_complete(env) }.to raise_error(Slack::Web::Api::Errors::SlackError, 'already_in_channel,something_else_terrible')
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 'slack-ruby-client'
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,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # http://spin.atomicobject.com/2014/07/07/ruby-queue-pop-timeout/
2
3
  class QueueWithTimeout
3
4
  def initialize
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module RealTime
3
4
  module Concurrency
@@ -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 receive(:new).with(url, ping: 30, logger: Slack::Logger.default).and_return(socket)
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)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module RealTime
3
4
  class Event
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  RSpec.configure do |config|
2
3
  config.before do
3
4
  @old_token = Slack::Config.token
data/spec/support/vcr.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'vcr'
2
3
  require 'webmock/rspec'
3
4
 
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
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-07-28 00:00:00.000000000 Z
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: 0.61.1
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: 0.61.1
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/register-bot.png
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