slack-ruby-client 0.13.1 → 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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +29 -5
  5. data/.rubocop_todo.yml +124 -44
  6. data/.travis.yml +5 -8
  7. data/CHANGELOG.md +92 -2
  8. data/CONTRIBUTING.md +19 -8
  9. data/Dangerfile +2 -0
  10. data/Gemfile +10 -5
  11. data/LICENSE.md +1 -1
  12. data/README.md +186 -49
  13. data/RELEASING.md +1 -1
  14. data/Rakefile +2 -1
  15. data/UPGRADING.md +72 -2
  16. data/bin/commands/admin_analytics.rb +16 -0
  17. data/bin/commands/admin_apps.rb +51 -0
  18. data/bin/commands/admin_apps_approved.rb +17 -0
  19. data/bin/commands/admin_apps_requests.rb +17 -0
  20. data/bin/commands/admin_apps_restricted.rb +17 -0
  21. data/bin/commands/admin_auth_policy.rb +39 -0
  22. data/bin/commands/admin_barriers.rb +47 -0
  23. data/bin/commands/admin_conversations.rb +169 -0
  24. data/bin/commands/admin_conversations_ekm.rb +17 -0
  25. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  26. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  27. data/bin/commands/admin_emoji.rb +54 -0
  28. data/bin/commands/admin_inviteRequests.rb +36 -0
  29. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  30. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  31. data/bin/commands/admin_teams.rb +27 -0
  32. data/bin/commands/admin_teams_admins.rb +16 -0
  33. data/bin/commands/admin_teams_owners.rb +16 -0
  34. data/bin/commands/admin_teams_settings.rb +64 -0
  35. data/bin/commands/admin_usergroups.rb +48 -0
  36. data/bin/commands/admin_users.rb +98 -0
  37. data/bin/commands/admin_users_session.rb +78 -0
  38. data/bin/commands/api.rb +1 -1
  39. data/bin/commands/apps.rb +15 -0
  40. data/bin/commands/apps_connections.rb +13 -0
  41. data/bin/commands/apps_event_authorizations.rb +16 -0
  42. data/bin/commands/apps_manifest.rb +51 -0
  43. data/bin/commands/apps_permissions.rb +1 -0
  44. data/bin/commands/apps_permissions_resources.rb +1 -0
  45. data/bin/commands/apps_permissions_scopes.rb +1 -0
  46. data/bin/commands/apps_permissions_users.rb +1 -0
  47. data/bin/commands/auth.rb +1 -0
  48. data/bin/commands/auth_teams.rb +16 -0
  49. data/bin/commands/bots.rb +2 -0
  50. data/bin/commands/calls.rb +52 -0
  51. data/bin/commands/calls_participants.rb +25 -0
  52. data/bin/commands/channels.rb +1 -153
  53. data/bin/commands/chat.rb +56 -12
  54. data/bin/commands/chat_scheduledMessages.rb +19 -0
  55. data/bin/commands/conversations.rb +75 -5
  56. data/bin/commands/dialog.rb +1 -0
  57. data/bin/commands/dnd.rb +6 -3
  58. data/bin/commands/emoji.rb +1 -0
  59. data/bin/commands/files.rb +10 -18
  60. data/bin/commands/files_comments.rb +1 -21
  61. data/bin/commands/files_remote.rb +78 -0
  62. data/bin/commands/groups.rb +1 -161
  63. data/bin/commands/im.rb +1 -62
  64. data/bin/commands/migration.rb +2 -0
  65. data/bin/commands/mpim.rb +1 -60
  66. data/bin/commands/oauth.rb +2 -14
  67. data/bin/commands/oauth_v2.rb +29 -0
  68. data/bin/commands/openid_connect.rb +27 -0
  69. data/bin/commands/pins.rb +3 -6
  70. data/bin/commands/reactions.rb +3 -3
  71. data/bin/commands/reminders.rb +7 -0
  72. data/bin/commands/rtm.rb +3 -2
  73. data/bin/commands/search.rb +6 -1
  74. data/bin/commands/stars.rb +8 -6
  75. data/bin/commands/team.rb +5 -0
  76. data/bin/commands/team_billing.rb +13 -0
  77. data/bin/commands/team_preferences.rb +13 -0
  78. data/bin/commands/team_profile.rb +1 -0
  79. data/bin/commands/tooling_tokens.rb +14 -0
  80. data/bin/commands/usergroups.rb +7 -1
  81. data/bin/commands/usergroups_users.rb +3 -0
  82. data/bin/commands/users.rb +6 -4
  83. data/bin/commands/users_admin.rb +1 -0
  84. data/bin/commands/users_prefs.rb +1 -0
  85. data/bin/commands/users_profile.rb +6 -5
  86. data/bin/commands/views.rb +48 -0
  87. data/bin/commands/workflows.rb +38 -0
  88. data/bin/commands.rb +38 -8
  89. data/bin/slack +2 -3
  90. data/examples/hi_real_time_and_web/Gemfile +1 -0
  91. data/examples/hi_real_time_and_web/hi.rb +7 -3
  92. data/examples/hi_real_time_async_async/Gemfile +1 -0
  93. data/examples/hi_real_time_async_async/hi.rb +6 -2
  94. data/examples/hi_web/Gemfile +1 -0
  95. data/examples/hi_web/hi.rb +1 -0
  96. data/examples/new_ticket/Gemfile +1 -0
  97. data/examples/new_ticket/new_ticket.rb +1 -0
  98. data/lib/slack/config.rb +2 -2
  99. data/lib/slack/events/config.rb +32 -0
  100. data/lib/slack/events/request.rb +72 -0
  101. data/lib/slack/logger.rb +6 -5
  102. data/lib/slack/messages/formatting.rb +1 -0
  103. data/lib/slack/messages/message.rb +1 -4
  104. data/lib/slack/real_time/api/message.rb +3 -1
  105. data/lib/slack/real_time/api/message_id.rb +1 -0
  106. data/lib/slack/real_time/api/ping.rb +5 -2
  107. data/lib/slack/real_time/api/typing.rb +3 -1
  108. data/lib/slack/real_time/client.rb +101 -32
  109. data/lib/slack/real_time/concurrency/async.rb +77 -6
  110. data/lib/slack/real_time/concurrency.rb +1 -2
  111. data/lib/slack/real_time/config.rb +6 -10
  112. data/lib/slack/real_time/models/base.rb +1 -4
  113. data/lib/slack/real_time/models/bot.rb +1 -0
  114. data/lib/slack/real_time/models/channel.rb +1 -0
  115. data/lib/slack/real_time/models/group.rb +1 -0
  116. data/lib/slack/real_time/models/im.rb +1 -0
  117. data/lib/slack/real_time/models/team.rb +1 -0
  118. data/lib/slack/real_time/models/user.rb +1 -0
  119. data/lib/slack/real_time/models.rb +1 -0
  120. data/lib/slack/real_time/socket.rb +45 -17
  121. data/lib/slack/real_time/stores/base.rb +5 -7
  122. data/lib/slack/real_time/stores/starter.rb +17 -3
  123. data/lib/slack/real_time/stores/store.rb +33 -25
  124. data/lib/slack/real_time/stores.rb +1 -0
  125. data/lib/slack/version.rb +2 -1
  126. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  127. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  128. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  129. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
  130. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  131. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  132. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  133. data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
  134. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  135. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  136. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  137. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  138. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  139. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  140. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  141. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  142. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  143. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  144. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  145. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  146. data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
  147. data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
  148. data/lib/slack/web/api/endpoints/api.rb +2 -3
  149. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  150. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  151. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  152. data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
  153. data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
  154. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
  155. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
  156. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
  157. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  158. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  159. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  160. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  161. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  162. data/lib/slack/web/api/endpoints/channels.rb +2 -243
  163. data/lib/slack/web/api/endpoints/chat.rb +144 -47
  164. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  165. data/lib/slack/web/api/endpoints/conversations.rb +152 -41
  166. data/lib/slack/web/api/endpoints/dialog.rb +3 -2
  167. data/lib/slack/web/api/endpoints/dnd.rb +9 -4
  168. data/lib/slack/web/api/endpoints/emoji.rb +1 -0
  169. data/lib/slack/web/api/endpoints/files.rb +24 -29
  170. data/lib/slack/web/api/endpoints/files_comments.rb +2 -34
  171. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  172. data/lib/slack/web/api/endpoints/groups.rb +1 -253
  173. data/lib/slack/web/api/endpoints/im.rb +1 -101
  174. data/lib/slack/web/api/endpoints/migration.rb +5 -2
  175. data/lib/slack/web/api/endpoints/mpim.rb +1 -96
  176. data/lib/slack/web/api/endpoints/oauth.rb +7 -31
  177. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  178. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  179. data/lib/slack/web/api/endpoints/pins.rb +8 -15
  180. data/lib/slack/web/api/endpoints/reactions.rb +20 -19
  181. data/lib/slack/web/api/endpoints/reminders.rb +18 -5
  182. data/lib/slack/web/api/endpoints/rtm.rb +11 -10
  183. data/lib/slack/web/api/endpoints/search.rb +28 -13
  184. data/lib/slack/web/api/endpoints/stars.rb +14 -11
  185. data/lib/slack/web/api/endpoints/team.rb +13 -4
  186. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  187. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  188. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  189. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  190. data/lib/slack/web/api/endpoints/usergroups.rb +27 -16
  191. data/lib/slack/web/api/endpoints/usergroups_users.rb +10 -5
  192. data/lib/slack/web/api/endpoints/users.rb +21 -20
  193. data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
  194. data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
  195. data/lib/slack/web/api/endpoints/users_profile.rb +8 -7
  196. data/lib/slack/web/api/endpoints/views.rb +97 -0
  197. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  198. data/lib/slack/web/api/endpoints.rb +76 -18
  199. data/lib/slack/web/api/error.rb +1 -0
  200. data/lib/slack/web/api/errors/server_error.rb +37 -0
  201. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  202. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  203. data/lib/slack/web/api/errors.rb +1040 -0
  204. data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +4 -5
  205. data/lib/slack/web/api/mixins/ids.id.rb +3 -2
  206. data/lib/slack/web/api/mixins/users.id.rb +2 -3
  207. data/lib/slack/web/api/mixins/users.search.rb +1 -0
  208. data/lib/slack/web/api/mixins.rb +2 -2
  209. data/lib/slack/web/api/patches/chat.1.patch +70 -0
  210. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  211. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  212. data/lib/slack/web/api/templates/command.erb +1 -0
  213. data/lib/slack/web/api/templates/commands.erb +1 -0
  214. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  215. data/lib/slack/web/api/templates/errors.erb +20 -0
  216. data/lib/slack/web/api/templates/method.erb +5 -1
  217. data/lib/slack/web/api/templates/method_spec.erb +2 -1
  218. data/lib/slack/web/client.rb +2 -1
  219. data/lib/slack/web/config.rb +3 -0
  220. data/lib/slack/web/faraday/connection.rb +24 -20
  221. data/lib/slack/web/faraday/request.rb +3 -1
  222. data/lib/slack/web/faraday/response/raise_error.rb +21 -6
  223. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  224. data/lib/slack/web/pagination/cursor.rb +7 -7
  225. data/lib/slack-ruby-client.rb +10 -4
  226. data/lib/slack.rb +1 -0
  227. data/lib/slack_ruby_client.rb +1 -0
  228. data/lib/tasks/git.rake +1 -0
  229. data/lib/tasks/real_time.rake +15 -5
  230. data/lib/tasks/update.rake +1 -0
  231. data/lib/tasks/web.rake +39 -10
  232. data/screenshots/create-app.png +0 -0
  233. data/slack-ruby-client.gemspec +9 -6
  234. data/spec/fixtures/slack/web/429_error.yml +50 -54
  235. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  236. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  237. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  238. data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
  239. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
  240. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
  241. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  242. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  243. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  244. data/spec/fixtures/slack/web/users_info.yml +153 -69
  245. data/spec/fixtures/slack/web/users_list.yml +102 -41
  246. data/spec/fixtures/slack/web/views_open_error.yml +83 -0
  247. data/spec/integration/integration_spec.rb +115 -47
  248. data/spec/slack/config_spec.rb +2 -0
  249. data/spec/slack/events/config_spec.rb +33 -0
  250. data/spec/slack/events/request_spec.rb +184 -0
  251. data/spec/slack/messages/formatting_spec.rb +25 -13
  252. data/spec/slack/real_time/api/message_spec.rb +6 -1
  253. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  254. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  255. data/spec/slack/real_time/client_spec.rb +244 -50
  256. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
  257. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  258. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  259. data/spec/slack/real_time/event_handlers/bot_spec.rb +3 -2
  260. data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
  261. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
  262. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  263. data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
  264. data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
  265. data/spec/slack/real_time/event_handlers/user_spec.rb +3 -2
  266. data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
  267. data/spec/slack/real_time/rtm_start_spec.rb +2 -1
  268. data/spec/slack/real_time/store_spec.rb +2 -1
  269. data/spec/slack/slack_spec.rb +40 -6
  270. data/spec/slack/version_spec.rb +2 -1
  271. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  272. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  273. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  274. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  275. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
  276. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  277. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  278. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  279. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  280. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
  281. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  282. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  283. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  284. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  285. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  286. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  287. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  288. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  289. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  290. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
  291. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  292. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  293. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  294. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  295. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  296. data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
  297. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → auth_teams_spec.rb} +2 -1
  298. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  299. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  300. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  301. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
  302. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +9 -7
  303. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
  304. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  305. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
  306. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
  307. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  308. data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
  309. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  310. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
  311. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  312. data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
  313. data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
  314. data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -22
  315. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
  316. data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
  317. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  318. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  319. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  320. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  321. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  322. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  323. data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → team_billing_spec.rb} +2 -1
  324. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  325. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  326. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  327. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  328. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  329. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  330. data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
  331. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
  332. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  333. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  334. data/spec/slack/web/api/error_spec.rb +7 -7
  335. data/spec/slack/web/api/errors/slack_error_spec.rb +26 -7
  336. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  337. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  338. data/spec/slack/web/api/mixins/users_spec.rb +17 -8
  339. data/spec/slack/web/api/pagination/cursor_spec.rb +41 -13
  340. data/spec/slack/web/client_spec.rb +168 -19
  341. data/spec/slack/web/faraday/request_spec.rb +80 -0
  342. data/spec/slack/web/faraday/response/raise_error_spec.rb +48 -12
  343. data/spec/spec_helper.rb +9 -2
  344. data/spec/support/queue_with_timeout.rb +5 -4
  345. data/spec/support/real_time/concurrency/mock.rb +1 -0
  346. data/spec/support/real_time/connected_client.rb +6 -6
  347. data/spec/support/real_time/event.rb +1 -0
  348. data/spec/support/token.rb +1 -0
  349. data/spec/support/vcr.rb +37 -1
  350. metadata +205 -147
  351. data/examples/hi_real_time/Gemfile +0 -5
  352. data/examples/hi_real_time/hi.gif +0 -0
  353. data/examples/hi_real_time/hi.rb +0 -37
  354. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  355. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  356. data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
  357. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
  358. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  359. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
  360. data/lib/slack/real_time/concurrency/celluloid.rb +0 -118
  361. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
  362. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  363. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  364. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  365. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  366. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  367. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  368. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  369. data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
  370. data/screenshots/register-bot.png +0 -0
  371. data/spec/fixtures/slack/web/503_error.yml +0 -14
  372. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  373. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  374. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
  375. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  376. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  377. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -18
  378. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  379. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  380. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  381. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  382. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  383. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
  384. data/spec/slack/web/api/mixins/channels_spec.rb +0 -33
  385. data/spec/slack/web/api/mixins/groups_spec.rb +0 -33
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
@@ -5,7 +6,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
5
6
 
6
7
  context 'channel' do
7
8
  it 'sets channel data' do
8
- expect(client.channels.count).to eq 37
9
+ expect(client.channels.count).to eq 156
9
10
  end
10
11
  it 'channel_archive' do
11
12
  channel = client.channels['C0HNTD0CW']
@@ -31,13 +32,13 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
31
32
  )
32
33
  client.send(:dispatch, event)
33
34
  channel = client.channels['C024BE91L']
34
- expect(channel).to_not be nil
35
+ expect(channel).not_to be nil
35
36
  expect(channel.name).to eq 'fun'
36
37
  expect(channel.creator).to eq 'U04KB5WQR'
37
38
  expect(channel.created).to eq 1_360_782_804
38
39
  end
39
40
  it 'channel_deleted' do
40
- expect(client.channels['C0HLE0BBL']).to_not be nil
41
+ expect(client.channels['C0HLE0BBL']).not_to be nil
41
42
  event = Slack::RealTime::Event.new(
42
43
  'type' => 'channel_deleted',
43
44
  'channel' => 'C0HLE0BBL'
@@ -57,12 +58,13 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
57
58
  )
58
59
  client.send(:dispatch, event)
59
60
  channel = client.channels['CDEADBEEF']
60
- expect(channel).to_not be nil
61
+ expect(channel).not_to be nil
61
62
  expect(channel.name).to eq 'beef'
62
63
  end
63
64
  it 'updates channel' do
64
65
  expect(client.channels['CDEADBEEF']).to be nil
65
- client.channels['CDEADBEEF'] = Slack::RealTime::Models::Channel.new('id' => 'CDEADBEEF', name: 'beef')
66
+ client.channels['CDEADBEEF'] =
67
+ Slack::RealTime::Models::Channel.new('id' => 'CDEADBEEF', name: 'beef')
66
68
  event = Slack::RealTime::Event.new(
67
69
  'type' => 'channel_joined',
68
70
  'channel' => {
@@ -73,10 +75,11 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
73
75
  )
74
76
  client.send(:dispatch, event)
75
77
  channel = client.channels['CDEADBEEF']
76
- expect(channel).to_not be nil
78
+ expect(channel).not_to be nil
77
79
  expect(channel.updated).to be true
78
80
  end
79
81
  end
82
+
80
83
  it 'channel_left' do
81
84
  channel = client.channels['C0JHNAB5H']
82
85
  expect(channel.members).to include client.self.id
@@ -85,7 +88,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
85
88
  'channel' => 'C0JHNAB5H'
86
89
  )
87
90
  client.send(:dispatch, event)
88
- expect(channel.members).to_not include client.self.id
91
+ expect(channel.members).not_to include client.self.id
89
92
  end
90
93
  it 'channel_rename' do
91
94
  channel = client.channels['C0HLE0BBL']
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
@@ -10,6 +11,6 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
10
11
  'value' => 'updated.mp3'
11
12
  )
12
13
  expect(client.self).to receive(:prefs) { raise ArgumentError }
13
- expect { client.send(:dispatch, event) }.to_not raise_error
14
+ expect { client.send(:dispatch, event) }.not_to raise_error
14
15
  end
15
16
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
@@ -18,7 +19,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
18
19
  )
19
20
  client.send(:dispatch, event)
20
21
  group = client.groups['CDEADBEEF']
21
- expect(group).to_not be nil
22
+ expect(group).not_to be nil
22
23
  expect(group.name).to eq 'beef'
23
24
  end
24
25
  it 'group_left' do
@@ -29,7 +30,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
29
30
  'channel' => 'G0K7EV5A7'
30
31
  )
31
32
  client.send(:dispatch, event)
32
- expect(group.members).to_not include client.self.id
33
+ expect(group.members).not_to include client.self.id
33
34
  end
34
35
  it 'group_archive' do
35
36
  group = client.groups['G0K7EV5A7']
@@ -67,7 +68,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
67
68
  end
68
69
  it 'group_open' do
69
70
  group = client.groups['G0K7EV5A7']
70
- expect(group).to_not be_nil
71
+ expect(group).not_to be_nil
71
72
  event = Slack::RealTime::Event.new(
72
73
  'type' => 'group_open',
73
74
  'channel' => 'G0K7EV5A7'
@@ -77,7 +78,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
77
78
  end
78
79
  it 'group_close' do
79
80
  group = client.groups['G0K7EV5A7']
80
- expect(group).to_not be_nil
81
+ expect(group).not_to be_nil
81
82
  group.is_open = true
82
83
  event = Slack::RealTime::Event.new(
83
84
  'type' => 'group_close',
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
@@ -5,7 +6,7 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
5
6
 
6
7
  context 'im' do
7
8
  it 'sets im data' do
8
- expect(client.ims.count).to eq 2
9
+ expect(client.ims.count).to eq 10
9
10
  end
10
11
  it 'im_created' do
11
12
  expect(client.ims['CDEADBEEF']).to be nil
@@ -18,27 +19,27 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
18
19
  )
19
20
  client.send(:dispatch, event)
20
21
  im = client.ims['CDEADBEEF']
21
- expect(im).to_not be nil
22
+ expect(im).not_to be nil
22
23
  expect(im.name).to eq 'beef'
23
24
  end
24
25
  it 'im_open' do
25
- im = client.ims['D07519J57']
26
- expect(im).to_not be_nil
26
+ im = client.ims['D0J1H6QTV']
27
+ expect(im).not_to be_nil
27
28
  im.is_open = false
28
29
  event = Slack::RealTime::Event.new(
29
30
  'type' => 'im_open',
30
- 'channel' => 'D07519J57'
31
+ 'channel' => 'D0J1H6QTV'
31
32
  )
32
33
  client.send(:dispatch, event)
33
34
  expect(im.is_open).to be true
34
35
  end
35
36
  it 'im_close' do
36
- im = client.ims['D07519J57']
37
- expect(im).to_not be_nil
37
+ im = client.ims['D0J1H6QTV']
38
+ expect(im).not_to be_nil
38
39
  expect(im.is_open).to be true
39
40
  event = Slack::RealTime::Event.new(
40
41
  'type' => 'im_close',
41
- 'channel' => 'D07519J57'
42
+ 'channel' => 'D0J1H6QTV'
42
43
  )
43
44
  client.send(:dispatch, event)
44
45
  expect(im.is_open).to be false
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  [Slack::RealTime::Stores::Store, Slack::RealTime::Stores::Starter].each do |store_class|
4
- RSpec.describe store_class, vcr: { cassette_name: store_class == Slack::RealTime::Stores::Store ? 'web/rtm_start' : 'web/rtm_connect' } do
5
+ cassette = store_class == Slack::RealTime::Stores::Store ? 'web/rtm_start' : 'web/rtm_connect'
6
+ RSpec.describe store_class, vcr: { cassette_name: cassette } do
5
7
  include_context 'connected client', store_class: store_class
6
8
 
7
9
  context 'team' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
@@ -5,8 +6,8 @@ RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' }
5
6
 
6
7
  context 'user' do
7
8
  it 'combines user and self data on rtm.start' do
8
- expect(client.users['U07518DTL'].name).to eq 'rubybot'
9
- expect(client.users['U07518DTL']['prefs']['push_sound']).to eq 'b2.mp3'
9
+ expect(client.users['U0J1GAHN1'].name).to eq 'travis-ci'
10
+ expect(client.users['U0J1GAHN1']['prefs']['push_sound']).to eq 'b2.mp3'
10
11
  end
11
12
  it 'user_change' do
12
13
  expect(client.users['U07KECJ77'].name).to eq 'aws'
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  # require 'spec_helper'
2
3
 
3
4
  #
4
5
  # to re-record a rtm_connect fixture run with
5
- # SLACK_API_TOKEN=... CONCURRENCY=faye-websocket rspec spec/slack/real_time/rtm_connect_spec.rb
6
+ # SLACK_API_TOKEN=... CONCURRENCY=async-websocket rspec spec/slack/real_time/rtm_connect_spec.rb
6
7
  # edit rtm_connect.yml and remove the token, fix wss:// path (run specs, fix failures)
7
8
  #
8
9
 
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  # require 'spec_helper'
2
3
 
3
4
  #
4
5
  # to re-record a rtm_start fixture run with
5
- # SLACK_API_TOKEN=... CONCURRENCY=faye-websocket rspec spec/slack/real_time/rtm_start_spec.rb
6
+ # SLACK_API_TOKEN=... CONCURRENCY=async-websocket rspec spec/slack/real_time/rtm_start_spec.rb
6
7
  # edit rtm_start.yml and remove the token, fix wss:// path (run specs, fix failures)
7
8
  #
8
9
 
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Slack::RealTime::Store do
4
5
  it 'can be initialized with an empty hash' do
5
- store = Slack::RealTime::Store.new(Hashie::Mash.new)
6
+ store = described_class.new(Hashie::Mash.new)
6
7
  expect(store.self).to be nil
7
8
  expect(store.groups.count).to eq 0
8
9
  expect(store.team).to be nil
@@ -1,41 +1,69 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Slack do
4
5
  let(:slack) { File.expand_path(File.join(__FILE__, '../../../bin/slack')) }
6
+
5
7
  before do
6
8
  @token = ENV.delete('SLACK_API_TOKEN')
7
9
  end
10
+
8
11
  after do
9
12
  ENV['SLACK_API_TOKEN'] = @token if @token
10
13
  end
14
+
11
15
  describe '#help' do
12
16
  it 'displays help' do
13
17
  help = `"#{slack}" help`
14
18
  expect(help).to include 'slack - Slack client.'
15
19
  end
16
20
  end
21
+
17
22
  context 'globals' do
23
+ let(:command) do
24
+ "\"#{slack}\" --vcr-cassette-name=web/auth_test_success " \
25
+ '--slack-api-token=token -d auth test 2>&1'
26
+ end
27
+
18
28
  it 'enables request and response logging with -d' do
19
- output = `"#{slack}" --vcr-cassette-name=web/auth_test_success --slack-api-token=token -d auth test 2>&1`
29
+ output = `#{command}`
20
30
  expect(output).to include 'POST https://slack.com/api/auth.test'
21
31
  expect(output).to include 'Status 200'
22
32
  end
23
33
  it 'requires --slack-api-token' do
24
34
  err = `"#{slack}" auth test 2>&1`
25
- expect(err).to start_with 'error: parse error: Set Slack API token via --slack-api-token or SLACK_API_TOKEN.'
35
+ expect(err).to(
36
+ start_with(
37
+ 'error: parse error: Set Slack API token via --slack-api-token or SLACK_API_TOKEN.'
38
+ )
39
+ )
26
40
  end
27
41
  end
42
+
28
43
  describe '#auth' do
29
44
  context 'bad auth' do
45
+ let(:command) do
46
+ "\"#{slack}\" --vcr-cassette-name=web/auth_test_error " \
47
+ '--slack-api-token=token auth test 2>&1'
48
+ end
49
+
30
50
  it 'fails with an exception' do
31
- err = `"#{slack}" --vcr-cassette-name=web/auth_test_error --slack-api-token=token auth test 2>&1`
51
+ err = `#{command}`
32
52
  expect(err).to eq "error: not_authed\n"
33
53
  end
34
54
  end
55
+
35
56
  context 'good auth' do
57
+ let(:command) do
58
+ "\"#{slack}\" --vcr-cassette-name=web/auth_test_success " \
59
+ '--slack-api-token=token auth test 2>&1'
60
+ end
61
+
36
62
  it 'succeeds' do
37
- json = Slack::Messages::Message.new(JSON.parse(`"#{slack}" --vcr-cassette-name=web/auth_test_success --slack-api-token=token auth test 2>&1`))
63
+ json = Slack::Messages::Message.new(JSON[`#{command}`])
38
64
  expect(json).to eq(
65
+ 'bot_id' => 'B0J1L75DY',
66
+ 'is_enterprise_install' => false,
39
67
  'ok' => true,
40
68
  'url' => 'https://rubybot.slack.com/',
41
69
  'team' => 'team_name',
@@ -47,11 +75,17 @@ describe Slack do
47
75
  end
48
76
  end
49
77
  end
78
+
50
79
  describe '#users' do
80
+ let(:command) do
81
+ "\"#{slack}\" --vcr-cassette-name=web/users_list " \
82
+ '--slack-api-token=token users list --presence=true 2>&1'
83
+ end
84
+
51
85
  it 'list' do
52
- json = Slack::Messages::Message.new(JSON.parse(`"#{slack}" --vcr-cassette-name=web/users_list --slack-api-token=token users list --presence=true 2>&1`))
86
+ json = Slack::Messages::Message.new(JSON[`#{command}`])
53
87
  expect(json.ok).to be true
54
- expect(json.members.size).to eq 9
88
+ expect(json.members.size).to eq 35
55
89
  expect(json.members.first['presence']).to eq 'away'
56
90
  end
57
91
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Slack do
4
5
  it 'has a version' do
5
- expect(Slack::VERSION).to_not be nil
6
+ expect(Slack::VERSION).not_to be nil
6
7
  end
7
8
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ require 'spec_helper'
5
+
6
+ RSpec.describe Slack::Web::Api::Endpoints::AdminAnalytics do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.analytics_getFile' do
9
+ it 'requires type' do
10
+ expect { client.admin_analytics_getFile }.to raise_error ArgumentError, /Required arguments :type missing/
11
+ end
12
+ end
13
+ 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::AdminAppsApproved do
7
+ let(:client) { Slack::Web::Client.new }
8
+ 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::AdminAppsRequests do
7
+ let(:client) { Slack::Web::Client.new }
8
+ 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::AdminAppsRestricted do
7
+ let(:client) { Slack::Web::Client.new }
8
+ end
@@ -0,0 +1,18 @@
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::AdminApps do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.apps_clearResolution' do
9
+ it 'requires app_id' do
10
+ expect { client.admin_apps_clearResolution }.to raise_error ArgumentError, /Required arguments :app_id missing/
11
+ end
12
+ end
13
+ context 'admin.apps_uninstall' do
14
+ it 'requires app_id' do
15
+ expect { client.admin_apps_uninstall }.to raise_error ArgumentError, /Required arguments :app_id missing/
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,35 @@
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::AdminAuthPolicy do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.auth.policy_assignEntities' do
9
+ it 'requires entity_ids' do
10
+ expect { client.admin_auth_policy_assignEntities(entity_type: %q[], policy_name: %q[]) }.to raise_error ArgumentError, /Required arguments :entity_ids missing/
11
+ end
12
+ it 'requires entity_type' do
13
+ expect { client.admin_auth_policy_assignEntities(entity_ids: %q[], policy_name: %q[]) }.to raise_error ArgumentError, /Required arguments :entity_type missing/
14
+ end
15
+ it 'requires policy_name' do
16
+ expect { client.admin_auth_policy_assignEntities(entity_ids: %q[], entity_type: %q[]) }.to raise_error ArgumentError, /Required arguments :policy_name missing/
17
+ end
18
+ end
19
+ context 'admin.auth.policy_getEntities' do
20
+ it 'requires policy_name' do
21
+ expect { client.admin_auth_policy_getEntities }.to raise_error ArgumentError, /Required arguments :policy_name missing/
22
+ end
23
+ end
24
+ context 'admin.auth.policy_removeEntities' do
25
+ it 'requires entity_ids' do
26
+ expect { client.admin_auth_policy_removeEntities(entity_type: %q[], policy_name: %q[]) }.to raise_error ArgumentError, /Required arguments :entity_ids missing/
27
+ end
28
+ it 'requires entity_type' do
29
+ expect { client.admin_auth_policy_removeEntities(entity_ids: %q[], policy_name: %q[]) }.to raise_error ArgumentError, /Required arguments :entity_type missing/
30
+ end
31
+ it 'requires policy_name' do
32
+ expect { client.admin_auth_policy_removeEntities(entity_ids: %q[], entity_type: %q[]) }.to raise_error ArgumentError, /Required arguments :policy_name missing/
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,38 @@
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::AdminBarriers do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.barriers_create' do
9
+ it 'requires barriered_from_usergroup_ids' do
10
+ expect { client.admin_barriers_create(primary_usergroup_id: %q[], restricted_subjects: %q[]) }.to raise_error ArgumentError, /Required arguments :barriered_from_usergroup_ids missing/
11
+ end
12
+ it 'requires primary_usergroup_id' do
13
+ expect { client.admin_barriers_create(barriered_from_usergroup_ids: %q[], restricted_subjects: %q[]) }.to raise_error ArgumentError, /Required arguments :primary_usergroup_id missing/
14
+ end
15
+ it 'requires restricted_subjects' do
16
+ expect { client.admin_barriers_create(barriered_from_usergroup_ids: %q[], primary_usergroup_id: %q[]) }.to raise_error ArgumentError, /Required arguments :restricted_subjects missing/
17
+ end
18
+ end
19
+ context 'admin.barriers_delete' do
20
+ it 'requires barrier_id' do
21
+ expect { client.admin_barriers_delete }.to raise_error ArgumentError, /Required arguments :barrier_id missing/
22
+ end
23
+ end
24
+ context 'admin.barriers_update' do
25
+ it 'requires barrier_id' do
26
+ expect { client.admin_barriers_update(barriered_from_usergroup_ids: %q[], primary_usergroup_id: %q[], restricted_subjects: %q[]) }.to raise_error ArgumentError, /Required arguments :barrier_id missing/
27
+ end
28
+ it 'requires barriered_from_usergroup_ids' do
29
+ expect { client.admin_barriers_update(barrier_id: %q[], primary_usergroup_id: %q[], restricted_subjects: %q[]) }.to raise_error ArgumentError, /Required arguments :barriered_from_usergroup_ids missing/
30
+ end
31
+ it 'requires primary_usergroup_id' do
32
+ expect { client.admin_barriers_update(barrier_id: %q[], barriered_from_usergroup_ids: %q[], restricted_subjects: %q[]) }.to raise_error ArgumentError, /Required arguments :primary_usergroup_id missing/
33
+ end
34
+ it 'requires restricted_subjects' do
35
+ expect { client.admin_barriers_update(barrier_id: %q[], barriered_from_usergroup_ids: %q[], primary_usergroup_id: %q[]) }.to raise_error ArgumentError, /Required arguments :restricted_subjects missing/
36
+ end
37
+ end
38
+ 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::AdminConversationsEkm do
7
+ let(:client) { Slack::Web::Client.new }
8
+ end
@@ -0,0 +1,32 @@
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::AdminConversationsRestrictaccess do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.conversations.restrictAccess_addGroup' do
9
+ it 'requires channel_id' do
10
+ expect { client.admin_conversations_restrictAccess_addGroup(group_id: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
11
+ end
12
+ it 'requires group_id' do
13
+ expect { client.admin_conversations_restrictAccess_addGroup(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :group_id missing/
14
+ end
15
+ end
16
+ context 'admin.conversations.restrictAccess_listGroups' do
17
+ it 'requires channel_id' do
18
+ expect { client.admin_conversations_restrictAccess_listGroups }.to raise_error ArgumentError, /Required arguments :channel_id missing/
19
+ end
20
+ end
21
+ context 'admin.conversations.restrictAccess_removeGroup' do
22
+ it 'requires channel_id' do
23
+ expect { client.admin_conversations_restrictAccess_removeGroup(group_id: %q[], team_id: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
24
+ end
25
+ it 'requires group_id' do
26
+ expect { client.admin_conversations_restrictAccess_removeGroup(channel_id: %q[], team_id: %q[]) }.to raise_error ArgumentError, /Required arguments :group_id missing/
27
+ end
28
+ it 'requires team_id' do
29
+ expect { client.admin_conversations_restrictAccess_removeGroup(channel_id: %q[], group_id: %q[]) }.to raise_error ArgumentError, /Required arguments :team_id missing/
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,98 @@
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::AdminConversations do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.conversations_archive' do
9
+ it 'requires channel_id' do
10
+ expect { client.admin_conversations_archive }.to raise_error ArgumentError, /Required arguments :channel_id missing/
11
+ end
12
+ end
13
+ context 'admin.conversations_convertToPrivate' do
14
+ it 'requires channel_id' do
15
+ expect { client.admin_conversations_convertToPrivate }.to raise_error ArgumentError, /Required arguments :channel_id missing/
16
+ end
17
+ end
18
+ context 'admin.conversations_create' do
19
+ it 'requires is_private' do
20
+ expect { client.admin_conversations_create(name: %q[]) }.to raise_error ArgumentError, /Required arguments :is_private missing/
21
+ end
22
+ it 'requires name' do
23
+ expect { client.admin_conversations_create(is_private: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
24
+ end
25
+ end
26
+ context 'admin.conversations_delete' do
27
+ it 'requires channel_id' do
28
+ expect { client.admin_conversations_delete }.to raise_error ArgumentError, /Required arguments :channel_id missing/
29
+ end
30
+ end
31
+ context 'admin.conversations_disconnectShared' do
32
+ it 'requires channel_id' do
33
+ expect { client.admin_conversations_disconnectShared }.to raise_error ArgumentError, /Required arguments :channel_id missing/
34
+ end
35
+ end
36
+ context 'admin.conversations_getConversationPrefs' do
37
+ it 'requires channel_id' do
38
+ expect { client.admin_conversations_getConversationPrefs }.to raise_error ArgumentError, /Required arguments :channel_id missing/
39
+ end
40
+ end
41
+ context 'admin.conversations_getCustomRetention' do
42
+ it 'requires channel_id' do
43
+ expect { client.admin_conversations_getCustomRetention }.to raise_error ArgumentError, /Required arguments :channel_id missing/
44
+ end
45
+ end
46
+ context 'admin.conversations_getTeams' do
47
+ it 'requires channel_id' do
48
+ expect { client.admin_conversations_getTeams }.to raise_error ArgumentError, /Required arguments :channel_id missing/
49
+ end
50
+ end
51
+ context 'admin.conversations_invite' do
52
+ it 'requires channel_id' do
53
+ expect { client.admin_conversations_invite(user_ids: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
54
+ end
55
+ it 'requires user_ids' do
56
+ expect { client.admin_conversations_invite(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :user_ids missing/
57
+ end
58
+ end
59
+ context 'admin.conversations_removeCustomRetention' do
60
+ it 'requires channel_id' do
61
+ expect { client.admin_conversations_removeCustomRetention }.to raise_error ArgumentError, /Required arguments :channel_id missing/
62
+ end
63
+ end
64
+ context 'admin.conversations_rename' do
65
+ it 'requires channel_id' do
66
+ expect { client.admin_conversations_rename(name: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
67
+ end
68
+ it 'requires name' do
69
+ expect { client.admin_conversations_rename(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
70
+ end
71
+ end
72
+ context 'admin.conversations_setConversationPrefs' do
73
+ it 'requires channel_id' do
74
+ expect { client.admin_conversations_setConversationPrefs(prefs: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
75
+ end
76
+ it 'requires prefs' do
77
+ expect { client.admin_conversations_setConversationPrefs(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :prefs missing/
78
+ end
79
+ end
80
+ context 'admin.conversations_setCustomRetention' do
81
+ it 'requires channel_id' do
82
+ expect { client.admin_conversations_setCustomRetention(duration_days: %q[]) }.to raise_error ArgumentError, /Required arguments :channel_id missing/
83
+ end
84
+ it 'requires duration_days' do
85
+ expect { client.admin_conversations_setCustomRetention(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :duration_days missing/
86
+ end
87
+ end
88
+ context 'admin.conversations_setTeams' do
89
+ it 'requires channel_id' do
90
+ expect { client.admin_conversations_setTeams }.to raise_error ArgumentError, /Required arguments :channel_id missing/
91
+ end
92
+ end
93
+ context 'admin.conversations_unarchive' do
94
+ it 'requires channel_id' do
95
+ expect { client.admin_conversations_unarchive }.to raise_error ArgumentError, /Required arguments :channel_id missing/
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,37 @@
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::AdminEmoji do
7
+ let(:client) { Slack::Web::Client.new }
8
+ context 'admin.emoji_add' do
9
+ it 'requires name' do
10
+ expect { client.admin_emoji_add(url: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
11
+ end
12
+ it 'requires url' do
13
+ expect { client.admin_emoji_add(name: %q[]) }.to raise_error ArgumentError, /Required arguments :url missing/
14
+ end
15
+ end
16
+ context 'admin.emoji_addAlias' do
17
+ it 'requires alias_for' do
18
+ expect { client.admin_emoji_addAlias(name: %q[]) }.to raise_error ArgumentError, /Required arguments :alias_for missing/
19
+ end
20
+ it 'requires name' do
21
+ expect { client.admin_emoji_addAlias(alias_for: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
22
+ end
23
+ end
24
+ context 'admin.emoji_remove' do
25
+ it 'requires name' do
26
+ expect { client.admin_emoji_remove }.to raise_error ArgumentError, /Required arguments :name missing/
27
+ end
28
+ end
29
+ context 'admin.emoji_rename' do
30
+ it 'requires name' do
31
+ expect { client.admin_emoji_rename(new_name: %q[]) }.to raise_error ArgumentError, /Required arguments :name missing/
32
+ end
33
+ it 'requires new_name' do
34
+ expect { client.admin_emoji_rename(name: %q[]) }.to raise_error ArgumentError, /Required arguments :new_name missing/
35
+ end
36
+ end
37
+ end