slack-ruby-client 0.7.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +2 -0
  4. data/.gitmodules +1 -1
  5. data/.rubocop.yml +37 -1
  6. data/.rubocop_todo.yml +130 -47
  7. data/.travis.yml +17 -13
  8. data/CHANGELOG.md +254 -43
  9. data/CONTRIBUTING.md +26 -15
  10. data/Dangerfile +3 -0
  11. data/Gemfile +13 -2
  12. data/LICENSE.md +1 -1
  13. data/README.md +287 -63
  14. data/RELEASING.md +22 -14
  15. data/Rakefile +2 -1
  16. data/UPGRADING.md +129 -5
  17. data/bin/commands/admin_analytics.rb +16 -0
  18. data/bin/commands/admin_apps.rb +51 -0
  19. data/bin/commands/admin_apps_approved.rb +17 -0
  20. data/bin/commands/admin_apps_requests.rb +17 -0
  21. data/bin/commands/admin_apps_restricted.rb +17 -0
  22. data/bin/commands/admin_auth_policy.rb +39 -0
  23. data/bin/commands/admin_barriers.rb +47 -0
  24. data/bin/commands/admin_conversations.rb +169 -0
  25. data/bin/commands/admin_conversations_ekm.rb +17 -0
  26. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  27. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  28. data/bin/commands/admin_emoji.rb +54 -0
  29. data/bin/commands/admin_inviteRequests.rb +36 -0
  30. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  31. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  32. data/bin/commands/admin_teams.rb +27 -0
  33. data/bin/commands/admin_teams_admins.rb +16 -0
  34. data/bin/commands/admin_teams_owners.rb +16 -0
  35. data/bin/commands/admin_teams_settings.rb +64 -0
  36. data/bin/commands/admin_usergroups.rb +48 -0
  37. data/bin/commands/admin_users.rb +98 -0
  38. data/bin/commands/admin_users_session.rb +78 -0
  39. data/bin/commands/api.rb +3 -3
  40. data/bin/commands/apps.rb +15 -0
  41. data/bin/commands/apps_connections.rb +13 -0
  42. data/bin/commands/apps_event_authorizations.rb +16 -0
  43. data/bin/commands/apps_manifest.rb +51 -0
  44. data/bin/commands/apps_permissions.rb +23 -0
  45. data/bin/commands/apps_permissions_resources.rb +15 -0
  46. data/bin/commands/apps_permissions_scopes.rb +13 -0
  47. data/bin/commands/apps_permissions_users.rb +26 -0
  48. data/bin/commands/auth.rb +12 -2
  49. data/bin/commands/auth_teams.rb +16 -0
  50. data/bin/commands/bots.rb +15 -0
  51. data/bin/commands/calls.rb +52 -0
  52. data/bin/commands/calls_participants.rb +25 -0
  53. data/bin/commands/channels.rb +6 -132
  54. data/bin/commands/chat.rb +127 -20
  55. data/bin/commands/chat_scheduledMessages.rb +19 -0
  56. data/bin/commands/conversations.rb +253 -0
  57. data/bin/commands/dialog.rb +15 -0
  58. data/bin/commands/dnd.rb +12 -9
  59. data/bin/commands/emoji.rb +3 -2
  60. data/bin/commands/files.rb +47 -31
  61. data/bin/commands/files_comments.rb +3 -23
  62. data/bin/commands/files_remote.rb +78 -0
  63. data/bin/commands/groups.rb +1 -154
  64. data/bin/commands/im.rb +1 -48
  65. data/bin/commands/migration.rb +16 -0
  66. data/bin/commands/mpim.rb +1 -48
  67. data/bin/commands/oauth.rb +4 -2
  68. data/bin/commands/oauth_v2.rb +29 -0
  69. data/bin/commands/openid_connect.rb +27 -0
  70. data/bin/commands/pins.rb +9 -12
  71. data/bin/commands/reactions.rb +17 -15
  72. data/bin/commands/reminders.rb +17 -10
  73. data/bin/commands/rtm.rb +19 -4
  74. data/bin/commands/search.rb +17 -12
  75. data/bin/commands/stars.rb +12 -9
  76. data/bin/commands/team.rb +23 -8
  77. data/bin/commands/team_billing.rb +13 -0
  78. data/bin/commands/team_preferences.rb +13 -0
  79. data/bin/commands/team_profile.rb +14 -0
  80. data/bin/commands/tooling_tokens.rb +14 -0
  81. data/bin/commands/usergroups.rb +23 -17
  82. data/bin/commands/usergroups_users.rb +7 -4
  83. data/bin/commands/users.rb +83 -27
  84. data/bin/commands/users_admin.rb +29 -0
  85. data/bin/commands/users_prefs.rb +13 -0
  86. data/bin/commands/users_profile.rb +27 -0
  87. data/bin/commands/views.rb +48 -0
  88. data/bin/commands/workflows.rb +38 -0
  89. data/bin/commands.rb +47 -5
  90. data/bin/slack +3 -4
  91. data/examples/hi_real_time_and_web/Gemfile +1 -0
  92. data/examples/hi_real_time_and_web/hi.rb +8 -4
  93. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
  94. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
  95. data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
  96. data/examples/hi_web/Gemfile +1 -0
  97. data/examples/hi_web/hi.rb +2 -1
  98. data/examples/new_ticket/Gemfile +1 -0
  99. data/examples/new_ticket/new_ticket.rb +3 -2
  100. data/lib/slack/config.rb +2 -2
  101. data/lib/slack/events/config.rb +32 -0
  102. data/lib/slack/events/request.rb +72 -0
  103. data/lib/slack/logger.rb +6 -5
  104. data/lib/slack/messages/formatting.rb +4 -4
  105. data/lib/slack/messages/message.rb +6 -4
  106. data/lib/slack/real_time/api/message.rb +3 -1
  107. data/lib/slack/real_time/api/message_id.rb +1 -0
  108. data/lib/slack/real_time/api/ping.rb +5 -2
  109. data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
  110. data/lib/slack/real_time/api/typing.rb +3 -1
  111. data/lib/slack/real_time/client.rb +116 -36
  112. data/lib/slack/real_time/concurrency/async.rb +138 -0
  113. data/lib/slack/real_time/concurrency.rb +2 -2
  114. data/lib/slack/real_time/config.rb +17 -19
  115. data/lib/slack/real_time/models/base.rb +3 -3
  116. data/lib/slack/real_time/models/bot.rb +1 -0
  117. data/lib/slack/real_time/models/channel.rb +1 -0
  118. data/lib/slack/real_time/models/group.rb +1 -0
  119. data/lib/slack/real_time/models/im.rb +1 -0
  120. data/lib/slack/real_time/models/team.rb +1 -0
  121. data/lib/slack/real_time/models/user.rb +1 -0
  122. data/lib/slack/real_time/models.rb +8 -7
  123. data/lib/slack/real_time/socket.rb +51 -23
  124. data/lib/slack/real_time/stores/base.rb +6 -9
  125. data/lib/slack/real_time/stores/starter.rb +143 -69
  126. data/lib/slack/real_time/stores/store.rb +160 -82
  127. data/lib/slack/real_time/stores.rb +4 -3
  128. data/lib/slack/version.rb +2 -1
  129. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  130. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  131. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  132. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
  133. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  134. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  135. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  136. data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
  137. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  138. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  139. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  140. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  141. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  142. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  143. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  144. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  145. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  146. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  147. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  148. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  149. data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
  150. data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
  151. data/lib/slack/web/api/endpoints/api.rb +4 -5
  152. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  153. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  154. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  155. data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
  156. data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
  157. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
  158. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
  159. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
  160. data/lib/slack/web/api/endpoints/auth.rb +14 -2
  161. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  162. data/lib/slack/web/api/endpoints/bots.rb +25 -0
  163. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  164. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  165. data/lib/slack/web/api/endpoints/channels.rb +8 -201
  166. data/lib/slack/web/api/endpoints/chat.rb +252 -42
  167. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  168. data/lib/slack/web/api/endpoints/conversations.rb +422 -0
  169. data/lib/slack/web/api/endpoints/dialog.rb +33 -0
  170. data/lib/slack/web/api/endpoints/dnd.rb +17 -12
  171. data/lib/slack/web/api/endpoints/emoji.rb +3 -2
  172. data/lib/slack/web/api/endpoints/files.rb +82 -43
  173. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  174. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  175. data/lib/slack/web/api/endpoints/groups.rb +1 -235
  176. data/lib/slack/web/api/endpoints/im.rb +1 -73
  177. data/lib/slack/web/api/endpoints/migration.rb +28 -0
  178. data/lib/slack/web/api/endpoints/mpim.rb +1 -72
  179. data/lib/slack/web/api/endpoints/oauth.rb +9 -10
  180. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  181. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  182. data/lib/slack/web/api/endpoints/pins.rb +14 -23
  183. data/lib/slack/web/api/endpoints/presence.rb +1 -1
  184. data/lib/slack/web/api/endpoints/reactions.rb +43 -34
  185. data/lib/slack/web/api/endpoints/reminders.rb +28 -15
  186. data/lib/slack/web/api/endpoints/rtm.rb +29 -8
  187. data/lib/slack/web/api/endpoints/search.rb +39 -24
  188. data/lib/slack/web/api/endpoints/stars.rb +30 -22
  189. data/lib/slack/web/api/endpoints/team.rb +34 -11
  190. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  191. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  192. data/lib/slack/web/api/endpoints/team_profile.rb +23 -0
  193. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  194. data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
  195. data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
  196. data/lib/slack/web/api/endpoints/users.rb +104 -19
  197. data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
  198. data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
  199. data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
  200. data/lib/slack/web/api/endpoints/views.rb +97 -0
  201. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  202. data/lib/slack/web/api/endpoints.rb +111 -29
  203. data/lib/slack/web/api/error.rb +2 -8
  204. data/lib/slack/web/api/errors/server_error.rb +37 -0
  205. data/lib/slack/web/api/errors/slack_error.rb +29 -0
  206. data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
  207. data/lib/slack/web/api/errors.rb +1040 -0
  208. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  209. data/lib/slack/web/api/mixins/ids.id.rb +24 -0
  210. data/lib/slack/web/api/mixins/users.id.rb +6 -7
  211. data/lib/slack/web/api/mixins/users.search.rb +39 -36
  212. data/lib/slack/web/api/mixins.rb +4 -4
  213. data/lib/slack/web/api/patches/chat.1.patch +70 -0
  214. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
  215. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  216. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  217. data/lib/slack/web/api/templates/command.erb +5 -3
  218. data/lib/slack/web/api/templates/commands.erb +2 -1
  219. data/lib/slack/web/api/templates/endpoints.erb +5 -5
  220. data/lib/slack/web/api/templates/errors.erb +20 -0
  221. data/lib/slack/web/api/templates/method.erb +26 -4
  222. data/lib/slack/web/api/templates/method_spec.erb +3 -2
  223. data/lib/slack/web/client.rb +2 -1
  224. data/lib/slack/web/config.rb +21 -10
  225. data/lib/slack/web/faraday/connection.rb +25 -16
  226. data/lib/slack/web/faraday/request.rb +4 -1
  227. data/lib/slack/web/faraday/response/raise_error.rb +19 -1
  228. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  229. data/lib/slack/web/pagination/cursor.rb +48 -0
  230. data/lib/slack-ruby-client.rb +40 -26
  231. data/lib/slack.rb +1 -0
  232. data/lib/slack_ruby_client.rb +1 -0
  233. data/lib/tasks/git.rake +2 -1
  234. data/lib/tasks/real_time.rake +16 -6
  235. data/lib/tasks/update.rake +1 -0
  236. data/lib/tasks/web.rake +42 -10
  237. data/screenshots/create-app.png +0 -0
  238. data/slack-ruby-client.gemspec +11 -9
  239. data/spec/fixtures/slack/web/429_error.yml +50 -52
  240. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  241. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  242. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  243. data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
  244. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
  245. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
  246. data/spec/fixtures/slack/web/paginated_users_list.yml +613 -0
  247. data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
  248. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  249. data/spec/fixtures/slack/web/users_info.yml +153 -69
  250. data/spec/fixtures/slack/web/users_list.yml +102 -41
  251. data/spec/fixtures/slack/web/views_open_error.yml +83 -0
  252. data/spec/integration/integration_spec.rb +116 -48
  253. data/spec/slack/config_spec.rb +2 -0
  254. data/spec/slack/events/config_spec.rb +33 -0
  255. data/spec/slack/events/request_spec.rb +184 -0
  256. data/spec/slack/messages/formatting_spec.rb +25 -14
  257. data/spec/slack/real_time/api/message_spec.rb +6 -1
  258. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  259. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  260. data/spec/slack/real_time/client_spec.rb +465 -141
  261. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -0
  262. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  263. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  264. data/spec/slack/real_time/event_handlers/bot_spec.rb +7 -4
  265. data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
  266. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
  267. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  268. data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
  269. data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
  270. data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
  271. data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
  272. data/spec/slack/real_time/rtm_start_spec.rb +2 -1
  273. data/spec/slack/real_time/store_spec.rb +2 -1
  274. data/spec/slack/slack_spec.rb +42 -8
  275. data/spec/slack/version_spec.rb +2 -1
  276. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  277. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  278. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  279. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  280. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
  281. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  282. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  283. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  284. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  285. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
  286. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  287. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  288. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  289. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  290. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  291. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  292. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  293. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  294. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  295. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
  296. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  297. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  298. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  299. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  300. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  301. data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
  302. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  303. data/spec/slack/web/api/endpoints/bots_spec.rb +8 -0
  304. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  305. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  306. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
  307. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
  308. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
  309. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  310. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
  311. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
  312. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  313. data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
  314. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  315. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
  316. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  317. data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
  318. data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
  319. data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
  320. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
  321. data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
  322. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  323. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  324. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  325. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  326. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  327. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  328. data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
  329. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  330. data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -0
  331. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  332. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  333. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  334. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  335. data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
  336. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
  337. data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -0
  338. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  339. data/spec/slack/web/api/error_spec.rb +7 -7
  340. data/spec/slack/web/api/errors/slack_error_spec.rb +33 -0
  341. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  342. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  343. data/spec/slack/web/api/mixins/users_spec.rb +30 -17
  344. data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
  345. data/spec/slack/web/client_spec.rb +211 -14
  346. data/spec/slack/web/faraday/request_spec.rb +80 -0
  347. data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
  348. data/spec/spec_helper.rb +9 -2
  349. data/spec/support/queue_with_timeout.rb +6 -5
  350. data/spec/support/real_time/concurrency/mock.rb +2 -2
  351. data/spec/support/real_time/connected_client.rb +7 -2
  352. data/spec/support/real_time/event.rb +1 -0
  353. data/spec/support/token.rb +1 -0
  354. data/spec/support/vcr.rb +37 -1
  355. metadata +250 -130
  356. data/examples/hi_real_time/Gemfile +0 -5
  357. data/examples/hi_real_time/hi.gif +0 -0
  358. data/examples/hi_real_time/hi.rb +0 -37
  359. data/examples/hi_real_time_async/Gemfile +0 -5
  360. data/examples/hi_real_time_async/hi.rb +0 -29
  361. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
  362. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  363. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
  364. data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
  365. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  366. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  367. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  368. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  369. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  370. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  371. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  372. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
  373. data/screenshots/register-bot.png +0 -0
  374. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  375. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  376. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -35
  377. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
  378. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  379. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  380. data/spec/slack/web/api/endpoints/im_spec.rb +0 -30
  381. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
  382. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  383. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -1,68 +1,184 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::Web::Api::Endpoints::Chat do
4
5
  let(:client) { Slack::Web::Client.new }
6
+
7
+ context 'chat_postEphemeral' do
8
+ let(:user) { OpenStruct.new(user: { id: '123' }) }
9
+
10
+ before do
11
+ allow(described_class).to receive(:users_id).and_return(user)
12
+ end
13
+
14
+ it 'automatically converts attachments and blocks into JSON' do
15
+ expect(client).to receive(:post).with(
16
+ 'chat.postEphemeral',
17
+ channel: 'channel',
18
+ text: 'text',
19
+ user: '123',
20
+ attachments: '[]',
21
+ blocks: '[]'
22
+ )
23
+ client.chat_postEphemeral(
24
+ channel: 'channel',
25
+ text: 'text',
26
+ user: '123',
27
+ attachments: [],
28
+ blocks: []
29
+ )
30
+ end
31
+ context 'text and user arguments' do
32
+ it 'requires text or attachments' do
33
+ expect { client.chat_postEphemeral(channel: 'channel') }.to(
34
+ raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
35
+ )
36
+ end
37
+ it 'requires user' do
38
+ expect { client.chat_postEphemeral(channel: 'channel', text: 'text') }.to(
39
+ raise_error(ArgumentError, /Required arguments :user missing/)
40
+ )
41
+ end
42
+ it 'both text and user' do
43
+ expect(client).to(
44
+ receive(:post).with('chat.postEphemeral', hash_including(text: 'text', user: '123'))
45
+ )
46
+ expect do
47
+ client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123')
48
+ end.not_to raise_error
49
+ end
50
+ end
51
+
52
+ context 'attachments argument' do
53
+ it 'optional attachments' do
54
+ expect(client).to(
55
+ receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
56
+ )
57
+ expect do
58
+ client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', attachments: [])
59
+ end.not_to raise_error
60
+ end
61
+ it 'attachments without text' do
62
+ expect(client).to(
63
+ receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
64
+ )
65
+ expect do
66
+ client.chat_postEphemeral(channel: 'channel', attachments: [], user: '123')
67
+ end.not_to raise_error
68
+ end
69
+ end
70
+
71
+ context 'blocks argument' do
72
+ it 'optional blocks' do
73
+ expect(client).to receive(:post).with('chat.postEphemeral', hash_including(blocks: '[]'))
74
+ expect do
75
+ client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', blocks: [])
76
+ end.not_to raise_error
77
+ end
78
+ it 'blocks without text' do
79
+ expect(client).to receive(:post).with('chat.postEphemeral', hash_including(blocks: '[]'))
80
+ expect do
81
+ client.chat_postEphemeral(channel: 'channel', blocks: [], user: '123')
82
+ end.not_to raise_error
83
+ end
84
+ end
85
+ end
86
+
5
87
  context 'chat_postMessage' do
6
- it 'automatically converts attachments into JSON' do
88
+ it 'automatically converts attachments and blocks into JSON' do
7
89
  expect(client).to receive(:post).with(
8
90
  'chat.postMessage',
9
91
  channel: 'channel',
10
92
  text: 'text',
11
- attachments: '[]'
93
+ attachments: '[]',
94
+ blocks: '[]'
12
95
  )
13
- client.chat_postMessage(channel: 'channel', text: 'text', attachments: [])
96
+ client.chat_postMessage(channel: 'channel', text: 'text', attachments: [], blocks: [])
14
97
  end
15
- context 'text and attachment arguments' do
16
- it 'requires text or attachments' do
17
- expect { client.chat_postMessage(channel: 'channel') }.to raise_error ArgumentError, /Required arguments :text or :attachments missing/
98
+ context 'text, attachment and blocks arguments' do
99
+ it 'requires text, attachments or blocks' do
100
+ expect { client.chat_postMessage(channel: 'channel') }.to(
101
+ raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
102
+ )
18
103
  end
19
104
  it 'only text' do
20
105
  expect(client).to receive(:post).with('chat.postMessage', hash_including(text: 'text'))
21
- expect { client.chat_postMessage(channel: 'channel', text: 'text') }.to_not raise_error
106
+ expect { client.chat_postMessage(channel: 'channel', text: 'text') }.not_to raise_error
22
107
  end
23
108
  it 'only attachments' do
24
109
  expect(client).to receive(:post).with('chat.postMessage', hash_including(attachments: '[]'))
25
- expect { client.chat_postMessage(channel: 'channel', attachments: []) }.to_not raise_error
110
+ expect { client.chat_postMessage(channel: 'channel', attachments: []) }.not_to raise_error
111
+ end
112
+ it 'only blocks' do
113
+ expect(client).to receive(:post).with('chat.postMessage', hash_including(blocks: '[]'))
114
+ expect { client.chat_postMessage(channel: 'channel', blocks: []) }.not_to raise_error
26
115
  end
27
- it 'both text and attachments' do
28
- expect(client).to receive(:post).with('chat.postMessage', hash_including(text: 'text', attachments: '[]'))
29
- expect { client.chat_postMessage(channel: 'channel', text: 'text', attachments: []) }.to_not raise_error
116
+ it 'all text, attachments and blocks' do
117
+ expect(client).to(
118
+ receive(:post)
119
+ .with('chat.postMessage', hash_including(text: 'text', attachments: '[]', blocks: '[]'))
120
+ )
121
+ expect do
122
+ client.chat_postMessage(channel: 'channel', text: 'text', attachments: [], blocks: [])
123
+ end.not_to raise_error
30
124
  end
31
125
  end
32
126
  end
33
127
 
34
128
  context 'chat_update' do
35
129
  let(:ts) { '1405894322.002768' }
36
- it 'automatically converts attachments into JSON' do
130
+
131
+ it 'automatically converts attachments and blocks into JSON' do
37
132
  expect(client).to receive(:post).with(
38
133
  'chat.update',
39
- attachments: '[]',
40
134
  channel: 'channel',
41
135
  text: 'text',
42
- ts: ts
136
+ ts: ts,
137
+ attachments: '[]',
138
+ blocks: '[]'
43
139
  )
44
- client.chat_update(attachments: [], channel: 'channel', text: 'text', ts: ts)
140
+ client.chat_update(channel: 'channel', text: 'text', ts: ts, attachments: [], blocks: [])
45
141
  end
46
142
  context 'ts arguments' do
47
143
  it 'requires ts' do
48
- expect { client.chat_update(channel: 'channel') }.to raise_error ArgumentError, /Required arguments :ts missing>/
144
+ expect do
145
+ client.chat_update(channel: 'channel', text: 'text')
146
+ end.to raise_error(ArgumentError, /Required arguments :ts missing>/)
49
147
  end
50
148
  end
51
- context 'text and attachment arguments' do
52
- it 'requires text or attachments' do
53
- expect { client.chat_update(channel: 'channel', ts: ts) }.to raise_error ArgumentError, /Required arguments :text or :attachments missing/
149
+
150
+ context 'text, attachment and blocks arguments' do
151
+ it 'requires text, attachments or blocks' do
152
+ expect { client.chat_update(channel: 'channel', ts: ts) }.to(
153
+ raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
154
+ )
54
155
  end
55
156
  it 'only text' do
56
157
  expect(client).to receive(:post).with('chat.update', hash_including(text: 'text'))
57
- expect { client.chat_update(channel: 'channel', text: 'text', ts: ts) }.to_not raise_error
158
+ expect do
159
+ client.chat_update(channel: 'channel', text: 'text', ts: ts)
160
+ end.not_to raise_error
58
161
  end
59
162
  it 'only attachments' do
60
163
  expect(client).to receive(:post).with('chat.update', hash_including(attachments: '[]'))
61
- expect { client.chat_update(attachments: [], channel: 'channel', ts: ts) }.to_not raise_error
164
+ expect do
165
+ client.chat_update(channel: 'channel', ts: ts, attachments: [])
166
+ end.not_to raise_error
167
+ end
168
+ it 'only blocks' do
169
+ expect(client).to receive(:post).with('chat.update', hash_including(blocks: '[]'))
170
+ expect do
171
+ client.chat_update(channel: 'channel', ts: ts, blocks: [])
172
+ end.not_to raise_error
62
173
  end
63
- it 'both text and attachments' do
64
- expect(client).to receive(:post).with('chat.update', hash_including(text: 'text', attachments: '[]'))
65
- expect { client.chat_update(attachments: [], channel: 'channel', text: 'text', ts: ts) }.to_not raise_error
174
+ it 'all text, attachments and blocks' do
175
+ expect(client).to(
176
+ receive(:post)
177
+ .with('chat.update', hash_including(text: 'text', attachments: '[]', blocks: '[]'))
178
+ )
179
+ expect do
180
+ client.chat_update(channel: 'channel', text: 'text', ts: ts, attachments: [], blocks: [])
181
+ end.not_to raise_error
66
182
  end
67
183
  end
68
184
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
5
+ let(:client) { Slack::Web::Client.new }
6
+
7
+ context 'groups' do
8
+ it 'info', vcr: { cassette_name: 'web/conversations_info' } do
9
+ json = client.conversations_info(channel: '#mpdm-dblock--rubybot--player1-1')
10
+ expect(json.channel.name).to eq 'mpdm-dblock--rubybot--player1-1'
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe Slack::Web::Api::Endpoints::Dialog do
5
+ let(:client) { Slack::Web::Client.new }
6
+
7
+ context 'dialog_open' do
8
+ it 'automatically converts dialog into JSON' do
9
+ expect(client).to receive(:post).with(
10
+ 'dialog.open',
11
+ trigger_id: '12345.98765.abcd2358fdea',
12
+ dialog: '[]'
13
+ )
14
+ client.dialog_open(trigger_id: '12345.98765.abcd2358fdea', dialog: [])
15
+ end
16
+
17
+ context 'arguments' do
18
+ it 'requires dialog' do
19
+ expect { client.dialog_open(trigger_id: '123') }.to(
20
+ raise_error(ArgumentError, /Required arguments :dialog missing/)
21
+ )
22
+ end
23
+ it 'requires trigger_id' do
24
+ expect { client.dialog_open(dialog: []) }.to(
25
+ raise_error(ArgumentError, /Required arguments :trigger_id missing/)
26
+ )
27
+ end
28
+ it 'likes both dialog and trigger_id' do
29
+ expect(client).to(
30
+ receive(:post).with('dialog.open', hash_including(trigger_id: '123', dialog: '[]'))
31
+ )
32
+ expect { client.dialog_open(dialog: [], trigger_id: '123') }.not_to raise_error
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,23 +1,38 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::Web::Api::Endpoints::Users do
4
5
  let(:client) { Slack::Web::Client.new }
6
+
5
7
  context 'users' do
6
8
  it 'list', vcr: { cassette_name: 'web/users_list' } do
7
9
  json = client.users_list(presence: true)
8
10
  expect(json.ok).to be true
9
- expect(json.members.size).to eq 9
11
+ expect(json.members.size).to eq 35
10
12
  expect(json.members.first.presence).to eq 'away'
11
13
  end
14
+
15
+ it 'paginated list', vcr: { cassette_name: 'web/paginated_users_list' } do
16
+ members = []
17
+ client.users_list(presence: true, limit: 5) do |json|
18
+ expect(json.ok).to be true
19
+ members.concat json.members
20
+ end
21
+ expect(members.size).to eq 35
22
+ end
23
+
12
24
  it 'info', vcr: { cassette_name: 'web/users_info' } do
13
25
  json = client.users_info(user: '@aws')
14
26
  expect(json.user.name).to eq 'aws'
15
27
  end
16
- it 'search', vcr: { cassette_name: 'web/users_info' } do
17
- json = client.users_search(user: 'aws')
18
- expect(json.ok).to be true
19
- expect(json.members.size).to eq 1
20
- expect(json.members.first.name).to eq 'aws'
21
- end if defined?(Picky)
28
+
29
+ if defined?(Picky)
30
+ it 'search', vcr: { cassette_name: 'web/users_info' } do
31
+ json = client.users_search(user: 'aws')
32
+ expect(json.ok).to be true
33
+ expect(json.members.size).to eq 1
34
+ expect(json.members.first.name).to eq 'aws'
35
+ end
36
+ end
22
37
  end
23
38
  end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe Slack::Web::Api::Endpoints::Views do
5
+ let(:client) { Slack::Web::Client.new }
6
+ let(:trigger_id) { '12345.98765.abcd2358fdea' }
7
+
8
+ describe 'views_open' do
9
+ context 'with a hash for view' do
10
+ let(:view_str) { '{"celery":"man"}' }
11
+
12
+ it 'automatically converts view into JSON' do
13
+ expect(client).to receive(:post).with('views.open', trigger_id: trigger_id, view: view_str)
14
+ client.views_open(trigger_id: trigger_id, view: { celery: 'man' })
15
+ end
16
+ end
17
+
18
+ context 'with a string for view' do
19
+ let(:view_str) { 'celery man' }
20
+
21
+ it 'leaves view as is' do
22
+ expect(client).to receive(:post).with('views.open', trigger_id: trigger_id, view: view_str)
23
+ client.views_open(trigger_id: trigger_id, view: 'celery man')
24
+ end
25
+ end
26
+ end
27
+
28
+ describe 'views_publish' do
29
+ let(:user_id) { 'U1234' }
30
+
31
+ context 'with a hash for view' do
32
+ let(:view_str) { '{"celery":"man"}' }
33
+
34
+ it 'automatically converts view into JSON' do
35
+ expect(client).to receive(:post).with('views.publish',
36
+ user_id: user_id,
37
+ trigger_id: trigger_id,
38
+ view: view_str)
39
+ client.views_publish(user_id: user_id, trigger_id: trigger_id, view: { celery: 'man' })
40
+ end
41
+ end
42
+
43
+ context 'with a string for view' do
44
+ let(:view_str) { 'celery man' }
45
+
46
+ it 'leaves view as is' do
47
+ expect(client).to receive(:post).with('views.publish',
48
+ user_id: user_id,
49
+ trigger_id: trigger_id,
50
+ view: view_str)
51
+ client.views_publish(user_id: user_id, trigger_id: trigger_id, view: 'celery man')
52
+ end
53
+ end
54
+ end
55
+
56
+ describe 'views_push' do
57
+ context 'with a hash for view' do
58
+ let(:view_str) { '{"celery":"man"}' }
59
+
60
+ it 'automatically converts view into JSON' do
61
+ expect(client).to receive(:post).with('views.push', trigger_id: trigger_id, view: view_str)
62
+ client.views_push(trigger_id: trigger_id, view: { celery: 'man' })
63
+ end
64
+ end
65
+
66
+ context 'with a string for view' do
67
+ let(:view_str) { 'celery man' }
68
+
69
+ it 'leaves view as is' do
70
+ expect(client).to receive(:post).with('views.push', trigger_id: trigger_id, view: view_str)
71
+ client.views_push(trigger_id: trigger_id, view: 'celery man')
72
+ end
73
+ end
74
+ end
75
+
76
+ describe 'views_update' do
77
+ context 'with a hash for view' do
78
+ let(:view_str) { '{"celery":"man"}' }
79
+
80
+ it 'automatically converts view into JSON' do
81
+ expect(client).to receive(:post).with('views.update', view: view_str)
82
+ client.views_update(view: { celery: 'man' })
83
+ end
84
+ end
85
+
86
+ context 'with a string for view' do
87
+ let(:view_str) { 'celery man' }
88
+
89
+ it 'leaves view as is' do
90
+ expect(client).to receive(:post).with('views.update', view: view_str)
91
+ client.views_update(view: 'celery man')
92
+ end
93
+ end
94
+ end
95
+ end
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  require 'spec_helper'
4
5
 
5
6
  RSpec.describe Slack::Web::Api::Endpoints::Dnd do
6
7
  let(:client) { Slack::Web::Client.new }
7
- context 'dnd_setSnooze' do
8
- it 'requires num_minutes' do
9
- expect { client.dnd_setSnooze }.to raise_error ArgumentError, /Required arguments :num_minutes missing/
8
+ context 'dnd_teamInfo' do
9
+ it 'requires users' do
10
+ expect { client.dnd_teamInfo }.to raise_error ArgumentError, /Required arguments :users missing/
10
11
  end
11
12
  end
12
13
  end
@@ -1,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'
@@ -1,34 +1,16 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  require 'spec_helper'
4
5
 
5
6
  RSpec.describe Slack::Web::Api::Endpoints::FilesComments do
6
7
  let(:client) { Slack::Web::Client.new }
7
- context 'files.comments_add' do
8
- it 'requires file' do
9
- expect { client.files_comments_add(comment: 'Everyone should take a moment to read this file.') }.to raise_error ArgumentError, /Required arguments :file missing/
10
- end
11
- it 'requires comment' do
12
- expect { client.files_comments_add(file: 'F1234567890') }.to raise_error ArgumentError, /Required arguments :comment missing/
13
- end
14
- end
15
8
  context 'files.comments_delete' do
16
9
  it 'requires file' do
17
- expect { client.files_comments_delete(id: 'Fc1234567890') }.to raise_error ArgumentError, /Required arguments :file missing/
18
- end
19
- it 'requires id' do
20
- expect { client.files_comments_delete(file: 'F1234567890') }.to raise_error ArgumentError, /Required arguments :id missing/
21
- end
22
- end
23
- context 'files.comments_edit' do
24
- it 'requires file' do
25
- expect { client.files_comments_edit(id: 'Fc1234567890', comment: 'Everyone should take a moment to read this file, seriously.') }.to raise_error ArgumentError, /Required arguments :file missing/
10
+ expect { client.files_comments_delete(id: %q[]) }.to raise_error ArgumentError, /Required arguments :file missing/
26
11
  end
27
12
  it 'requires id' do
28
- expect { client.files_comments_edit(file: 'F1234567890', comment: 'Everyone should take a moment to read this file, seriously.') }.to raise_error ArgumentError, /Required arguments :id missing/
29
- end
30
- it 'requires comment' do
31
- expect { client.files_comments_edit(file: 'F1234567890', id: 'Fc1234567890') }.to raise_error ArgumentError, /Required arguments :comment missing/
13
+ expect { client.files_comments_delete(file: %q[]) }.to raise_error ArgumentError, /Required arguments :id missing/
32
14
  end
33
15
  end
34
16
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ require 'spec_helper'
5
+
6
+ RSpec.describe Slack::Web::Api::Endpoints::FilesRemote do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'files.remote_add' do
9
+ it 'requires external_id' do
10
+ expect { client.files_remote_add(external_url: %q[], title: %q[]) }.to raise_error ArgumentError, /Required arguments :external_id missing/
11
+ end
12
+ it 'requires external_url' do
13
+ expect { client.files_remote_add(external_id: %q[], title: %q[]) }.to raise_error ArgumentError, /Required arguments :external_url missing/
14
+ end
15
+ it 'requires title' do
16
+ expect { client.files_remote_add(external_id: %q[], external_url: %q[]) }.to raise_error ArgumentError, /Required arguments :title missing/
17
+ end
18
+ end
19
+ context 'files.remote_share' do
20
+ it 'requires channels' do
21
+ expect { client.files_remote_share }.to raise_error ArgumentError, /Required arguments :channels missing/
22
+ end
23
+ end
24
+ end
@@ -1,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,6 +10,14 @@ RSpec.describe Slack::Web::Api::Endpoints::Files do
9
10
  expect { client.files_delete }.to raise_error ArgumentError, /Required arguments :file missing/
10
11
  end
11
12
  end
13
+ context 'files_edit' do
14
+ it 'requires file' do
15
+ expect { client.files_edit(title: %q[Brand new title]) }.to raise_error ArgumentError, /Required arguments :file missing/
16
+ end
17
+ it 'requires title' do
18
+ expect { client.files_edit(file: %q[F2147483862]) }.to raise_error ArgumentError, /Required arguments :title missing/
19
+ end
20
+ end
12
21
  context 'files_info' do
13
22
  it 'requires file' do
14
23
  expect { client.files_info }.to raise_error ArgumentError, /Required arguments :file missing/
@@ -19,14 +28,17 @@ RSpec.describe Slack::Web::Api::Endpoints::Files do
19
28
  expect { client.files_revokePublicURL }.to raise_error ArgumentError, /Required arguments :file missing/
20
29
  end
21
30
  end
22
- context 'files_sharedPublicURL' do
31
+ context 'files_share' do
23
32
  it 'requires file' do
24
- expect { client.files_sharedPublicURL }.to raise_error ArgumentError, /Required arguments :file missing/
33
+ expect { client.files_share(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :file missing/
34
+ end
35
+ it 'requires channel' do
36
+ expect { client.files_share(file: %q[F2147483862]) }.to raise_error ArgumentError, /Required arguments :channel missing/
25
37
  end
26
38
  end
27
- context 'files_upload' do
28
- it 'requires filename' do
29
- expect { client.files_upload }.to raise_error ArgumentError, /Required arguments :filename missing/
39
+ context 'files_sharedPublicURL' do
40
+ it 'requires file' do
41
+ expect { client.files_sharedPublicURL }.to raise_error ArgumentError, /Required arguments :file missing/
30
42
  end
31
43
  end
32
44
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ require 'spec_helper'
5
+
6
+ RSpec.describe Slack::Web::Api::Endpoints::Migration do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'migration_exchange' do
9
+ it 'requires users' do
10
+ expect { client.migration_exchange }.to raise_error ArgumentError, /Required arguments :users missing/
11
+ end
12
+ end
13
+ end
@@ -1,18 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  require 'spec_helper'
4
5
 
5
6
  RSpec.describe Slack::Web::Api::Endpoints::Oauth do
6
7
  let(:client) { Slack::Web::Client.new }
7
- context 'oauth_access' do
8
- it 'requires client_id' do
9
- expect { client.oauth_access(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
10
- end
11
- it 'requires client_secret' do
12
- expect { client.oauth_access(client_id: '4b39e9-752c4', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_secret missing/
13
- end
14
- it 'requires code' do
15
- expect { client.oauth_access(client_id: '4b39e9-752c4', client_secret: '33fea0113f5b1') }.to raise_error ArgumentError, /Required arguments :code missing/
16
- end
17
- end
18
8
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ require 'spec_helper'
5
+
6
+ RSpec.describe Slack::Web::Api::Endpoints::OauthV2 do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'oauth.v2_exchange' do
9
+ it 'requires client_id' do
10
+ expect { client.oauth_v2_exchange(client_secret: %q[]) }.to raise_error ArgumentError, /Required arguments :client_id missing/
11
+ end
12
+ it 'requires client_secret' do
13
+ expect { client.oauth_v2_exchange(client_id: %q[]) }.to raise_error ArgumentError, /Required arguments :client_secret missing/
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,8 @@
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::OpenidConnect do
7
+ let(:client) { Slack::Web::Client.new }
8
+ 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'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  require 'spec_helper'
@@ -5,8 +6,14 @@ require 'spec_helper'
5
6
  RSpec.describe Slack::Web::Api::Endpoints::Reactions do
6
7
  let(:client) { Slack::Web::Client.new }
7
8
  context 'reactions_add' do
9
+ it 'requires channel' do
10
+ expect { client.reactions_add(name: %q[], timestamp: %q[]) }.to raise_error ArgumentError, /Required arguments :channel missing/
11
+ end
8
12
  it 'requires name' do
9
- expect { client.reactions_add }.to raise_error ArgumentError, /Required arguments :name missing/
13
+ expect { client.reactions_add(channel: %q[], timestamp: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
14
+ end
15
+ it 'requires timestamp' do
16
+ expect { client.reactions_add(channel: %q[], name: %q[]) }.to raise_error ArgumentError, /Required arguments :timestamp missing/
10
17
  end
11
18
  end
12
19
  context 'reactions_remove' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  require 'spec_helper'
@@ -6,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Reminders do
6
7
  let(:client) { Slack::Web::Client.new }
7
8
  context 'reminders_add' do
8
9
  it 'requires text' do
9
- expect { client.reminders_add(time: '1602288000') }.to raise_error ArgumentError, /Required arguments :text missing/
10
+ expect { client.reminders_add(time: %q[]) }.to raise_error ArgumentError, /Required arguments :text missing/
10
11
  end
11
12
  it 'requires time' do
12
- expect { client.reminders_add(text: 'eat a banana') }.to raise_error ArgumentError, /Required arguments :time missing/
13
+ expect { client.reminders_add(text: %q[]) }.to raise_error ArgumentError, /Required arguments :time missing/
13
14
  end
14
15
  end
15
16
  context 'reminders_complete' do
@@ -1,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'
@@ -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'
@@ -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'