slack-ruby-client 0.16.0 → 1.1.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 (234) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/danger.yml +19 -0
  3. data/.github/workflows/integtest.yml +25 -0
  4. data/.github/workflows/rubocop.yml +13 -0
  5. data/.github/workflows/test.yml +34 -0
  6. data/.gitignore +5 -3
  7. data/.rubocop.yml +6 -0
  8. data/.rubocop_todo.yml +137 -43
  9. data/CHANGELOG.md +34 -3
  10. data/CONTRIBUTING.md +4 -4
  11. data/Gemfile +18 -1
  12. data/Gemfile.danger +6 -0
  13. data/LICENSE.md +1 -1
  14. data/README.md +13 -12
  15. data/RELEASING.md +1 -1
  16. data/UPGRADING.md +42 -0
  17. data/bin/commands/admin_analytics.rb +2 -1
  18. data/bin/commands/admin_apps.rb +11 -0
  19. data/bin/commands/admin_apps_requests.rb +12 -0
  20. data/bin/commands/admin_auth_policy.rb +39 -0
  21. data/bin/commands/admin_conversations.rb +2 -1
  22. data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
  23. data/bin/commands/admin_emoji.rb +2 -2
  24. data/bin/commands/admin_teams.rb +1 -1
  25. data/bin/commands/admin_users.rb +1 -0
  26. data/bin/commands/admin_users_session.rb +40 -0
  27. data/bin/commands/admin_users_unsupportedVersions.rb +15 -0
  28. data/bin/commands/apps_manifest.rb +52 -0
  29. data/bin/commands/bookmarks.rb +52 -0
  30. data/bin/commands/channels.rb +0 -157
  31. data/bin/commands/chat.rb +14 -9
  32. data/bin/commands/conversations.rb +61 -4
  33. data/bin/commands/dnd.rb +3 -1
  34. data/bin/commands/files.rb +2 -1
  35. data/bin/commands/groups.rb +0 -163
  36. data/bin/commands/im.rb +0 -62
  37. data/bin/commands/mpim.rb +0 -60
  38. data/bin/commands/oauth.rb +0 -13
  39. data/bin/commands/oauth_v2.rb +13 -1
  40. data/bin/commands/openid_connect.rb +27 -0
  41. data/bin/commands/pins.rb +2 -2
  42. data/bin/commands/reminders.rb +6 -0
  43. data/bin/commands/rtm.rb +2 -2
  44. data/bin/commands/search.rb +2 -1
  45. data/bin/commands/stars.rb +7 -6
  46. data/bin/commands/team.rb +1 -0
  47. data/bin/commands/team_billing.rb +13 -0
  48. data/bin/commands/team_preferences.rb +13 -0
  49. data/bin/commands/tooling_tokens.rb +14 -0
  50. data/bin/commands/usergroups.rb +1 -1
  51. data/bin/commands/users.rb +1 -1
  52. data/bin/commands/views.rb +1 -1
  53. data/bin/commands.rb +8 -9
  54. data/lib/slack/config.rb +1 -2
  55. data/lib/slack/events/request.rb +5 -3
  56. data/lib/slack/real_time/client.rb +6 -7
  57. data/lib/slack/real_time/concurrency/async.rb +6 -8
  58. data/lib/slack/real_time/config.rb +3 -13
  59. data/lib/slack/real_time/socket.rb +1 -2
  60. data/lib/slack/real_time/stores/base.rb +1 -6
  61. data/lib/slack/real_time/stores/starter.rb +6 -3
  62. data/lib/slack/real_time/stores/store.rb +5 -0
  63. data/lib/slack/version.rb +1 -1
  64. data/lib/slack/web/api/endpoints/admin_analytics.rb +5 -3
  65. data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
  66. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
  67. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +20 -2
  68. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
  69. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  70. data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
  71. data/lib/slack/web/api/endpoints/admin_conversations.rb +28 -26
  72. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  73. data/lib/slack/web/api/endpoints/admin_emoji.rb +11 -11
  74. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
  75. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
  76. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  77. data/lib/slack/web/api/endpoints/admin_teams.rb +7 -7
  78. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
  79. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
  80. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
  81. data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
  82. data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
  83. data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
  84. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  85. data/lib/slack/web/api/endpoints/api.rb +1 -1
  86. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  87. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
  88. data/lib/slack/web/api/endpoints/apps_manifest.rb +77 -0
  89. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  90. data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
  91. data/lib/slack/web/api/endpoints/bookmarks.rb +86 -0
  92. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  93. data/lib/slack/web/api/endpoints/calls.rb +15 -15
  94. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  95. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  96. data/lib/slack/web/api/endpoints/chat.rb +67 -57
  97. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
  98. data/lib/slack/web/api/endpoints/conversations.rb +117 -27
  99. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  100. data/lib/slack/web/api/endpoints/dnd.rb +6 -3
  101. data/lib/slack/web/api/endpoints/files.rb +16 -14
  102. data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
  103. data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
  104. data/lib/slack/web/api/endpoints/groups.rb +0 -273
  105. data/lib/slack/web/api/endpoints/im.rb +0 -107
  106. data/lib/slack/web/api/endpoints/migration.rb +3 -3
  107. data/lib/slack/web/api/endpoints/mpim.rb +0 -102
  108. data/lib/slack/web/api/endpoints/oauth.rb +5 -27
  109. data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
  110. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  111. data/lib/slack/web/api/endpoints/pins.rb +4 -4
  112. data/lib/slack/web/api/endpoints/reactions.rb +12 -12
  113. data/lib/slack/web/api/endpoints/reminders.rb +17 -5
  114. data/lib/slack/web/api/endpoints/rtm.rb +10 -10
  115. data/lib/slack/web/api/endpoints/search.rb +24 -16
  116. data/lib/slack/web/api/endpoints/stars.rb +11 -9
  117. data/lib/slack/web/api/endpoints/team.rb +10 -8
  118. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  119. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  120. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  121. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  122. data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
  123. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
  124. data/lib/slack/web/api/endpoints/users.rb +16 -16
  125. data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
  126. data/lib/slack/web/api/endpoints/views.rb +12 -12
  127. data/lib/slack/web/api/endpoints/workflows.rb +9 -9
  128. data/lib/slack/web/api/endpoints.rb +16 -20
  129. data/lib/slack/web/api/errors/server_error.rb +37 -0
  130. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
  131. data/lib/slack/web/api/errors.rb +232 -16
  132. data/lib/slack/web/api/mixins.rb +0 -2
  133. data/lib/slack/web/api/patches/chat.1.patch +7 -9
  134. data/lib/slack/web/api/templates/endpoints.erb +0 -2
  135. data/lib/slack/web/faraday/connection.rb +5 -5
  136. data/lib/slack/web/faraday/request.rb +4 -1
  137. data/lib/slack/web/faraday/response/raise_error.rb +2 -14
  138. data/lib/slack/web/faraday/response/wrap_error.rb +11 -5
  139. data/lib/slack/web/pagination/cursor.rb +1 -5
  140. data/lib/slack-ruby-client.rb +3 -2
  141. data/lib/tasks/real_time.rake +1 -3
  142. data/lib/tasks/web.rake +4 -0
  143. data/slack-ruby-client.gemspec +5 -14
  144. data/spec/fixtures/slack/web/429_error.yml +50 -54
  145. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  146. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  147. data/spec/fixtures/slack/web/conversations_info.yml +167 -0
  148. data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
  149. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
  150. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
  151. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  152. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  153. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  154. data/spec/fixtures/slack/web/users_info.yml +153 -69
  155. data/spec/fixtures/slack/web/users_list.yml +102 -41
  156. data/spec/fixtures/slack/web/views_open_error.yml +49 -42
  157. data/spec/integration/integration_spec.rb +1 -1
  158. data/spec/slack/events/request_spec.rb +7 -6
  159. data/spec/slack/real_time/client_spec.rb +37 -39
  160. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  161. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  162. data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
  163. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -9
  164. data/spec/slack/real_time/event_handlers/group_spec.rb +2 -2
  165. data/spec/slack/real_time/event_handlers/im_spec.rb +7 -7
  166. data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
  167. data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
  168. data/spec/slack/real_time/rtm_start_spec.rb +1 -1
  169. data/spec/slack/real_time/store_spec.rb +2 -2
  170. data/spec/slack/slack_spec.rb +7 -5
  171. data/spec/slack/version_spec.rb +1 -1
  172. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +5 -0
  173. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  174. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  175. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +9 -9
  176. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
  177. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  178. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
  179. data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
  180. data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
  181. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  182. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  183. data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -0
  184. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  185. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  186. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
  187. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +28 -16
  188. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  189. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +4 -2
  190. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
  191. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +22 -14
  192. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
  193. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  194. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  195. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
  196. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
  197. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → openid_connect_spec.rb} +1 -1
  198. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  199. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  200. data/spec/slack/web/api/endpoints/{apps_permissions_resources_spec.rb → team_billing_spec.rb} +1 -1
  201. data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
  202. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  203. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  204. data/spec/slack/web/api/error_spec.rb +5 -7
  205. data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
  206. data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
  207. data/spec/slack/web/api/pagination/cursor_spec.rb +8 -10
  208. data/spec/slack/web/client_spec.rb +46 -32
  209. data/spec/slack/web/faraday/request_spec.rb +80 -0
  210. data/spec/slack/web/faraday/response/raise_error_spec.rb +2 -1
  211. data/spec/spec_helper.rb +1 -1
  212. data/spec/support/real_time/connected_client.rb +2 -8
  213. data/spec/support/vcr.rb +33 -2
  214. metadata +50 -297
  215. data/.travis.yml +0 -28
  216. data/lib/slack/web/api/errors/internal_error.rb +0 -14
  217. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  218. data/lib/slack/web/api/mixins/channels.id.rb +0 -25
  219. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  220. data/lib/slack/web/api/mixins/groups.id.rb +0 -25
  221. data/spec/fixtures/slack/web/503_error.yml +0 -14
  222. data/spec/fixtures/slack/web/channels_info.yml +0 -139
  223. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  224. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +0 -32
  225. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
  226. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
  227. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
  228. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
  229. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
  230. data/spec/slack/web/api/endpoints/im_spec.rb +0 -39
  231. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -39
  232. data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
  233. data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
  234. data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
- require_relative 'ids.id'
3
-
4
- module Slack
5
- module Web
6
- module Api
7
- module Mixins
8
- module Channels
9
- include Ids
10
- #
11
- # This method returns a channel ID given a channel name.
12
- #
13
- # @option options [channel] :channel
14
- # Channel to get ID for, prefixed with #.
15
- def channels_id(options = {})
16
- name = options[:channel]
17
- throw ArgumentError.new('Required arguments :channel missing') if name.nil?
18
-
19
- id_for :channel, name, '#', :channels_list, :channels, 'channel_not_found'
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,20 +0,0 @@
1
- {
2
- "mixin": true,
3
- "group": "groups",
4
- "name": "groups.id",
5
- "desc": "This method returns the ID of a group.",
6
- "args": {
7
- "channel": {
8
- "required": true,
9
- "example": "#general",
10
- "desc": "Group channel to get ID for, prefixed with #.",
11
- "type": "group"
12
- }
13
- },
14
- "errors": {
15
- "channel_not_found": "Value passed for group was invalid.",
16
- "not_authed": "No authentication token provided.",
17
- "invalid_auth": "Invalid authentication token.",
18
- "account_inactive": "Authentication token is for a deleted user or team."
19
- }
20
- }
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
- require_relative 'ids.id'
3
-
4
- module Slack
5
- module Web
6
- module Api
7
- module Mixins
8
- module Groups
9
- include Ids
10
- #
11
- # This method returns a group ID given a group name.
12
- #
13
- # @option options [channel] :channel
14
- # Group channel to get ID for, prefixed with #.
15
- def groups_id(options = {})
16
- name = options[:channel]
17
- throw ArgumentError.new('Required arguments :channel missing') if name.nil?
18
-
19
- id_for :group, name, '#', :groups_list, :groups, 'channel_not_found'
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,14 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://slack.com/api/auth.test
6
- response:
7
- status:
8
- code: 503
9
- message: Service Unavailable
10
- body:
11
- encoding: US-ASCII
12
- string: ''
13
- http_version:
14
- recorded_at: Thu, 30 Nov 2017 14:36:26 GMT
@@ -1,139 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://slack.com/api/conversations.list
6
- body:
7
- encoding: UTF-8
8
- string: token=token
9
- headers:
10
- Accept:
11
- - application/json; charset=utf-8
12
- User-Agent:
13
- - Slack Ruby Client/0.15.0
14
- Content-Type:
15
- - application/x-www-form-urlencoded
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- response:
19
- status:
20
- code: 200
21
- message: OK
22
- headers:
23
- Date:
24
- - Mon, 06 Jul 2020 14:21:41 GMT
25
- Server:
26
- - Apache
27
- X-Slack-Req-Id:
28
- - d6a36df98a9b67696d158d792698542b
29
- X-Oauth-Scopes:
30
- - channels:read
31
- X-Accepted-Oauth-Scopes:
32
- - channels:read,groups:read,mpim:read,im:read,read
33
- Access-Control-Expose-Headers:
34
- - x-slack-req-id, retry-after
35
- X-Slack-Backend:
36
- - r
37
- X-Content-Type-Options:
38
- - nosniff
39
- Expires:
40
- - Mon, 26 Jul 1997 05:00:00 GMT
41
- Cache-Control:
42
- - private, no-cache, no-store, must-revalidate
43
- X-Xss-Protection:
44
- - '0'
45
- Vary:
46
- - Accept-Encoding
47
- Pragma:
48
- - no-cache
49
- Access-Control-Allow-Headers:
50
- - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid,
51
- x-b3-sampled, x-b3-flags
52
- Strict-Transport-Security:
53
- - max-age=31536000; includeSubDomains; preload
54
- Referrer-Policy:
55
- - no-referrer
56
- Access-Control-Allow-Origin:
57
- - "*"
58
- Content-Length:
59
- - '616'
60
- Content-Type:
61
- - application/json; charset=utf-8
62
- X-Via:
63
- - haproxy-www-xvqc,haproxy-edge-sin-605a
64
- body:
65
- encoding: ASCII-8BIT
66
- string: '{"ok":true,"channels":[{"id":"C016K3T7XK7","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work
67
- banter and water cooler conversation","creator":"U016LEXAH5Y","last_set":1594044322},"purpose":{"value":"A
68
- place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber
69
- you''d prefer to keep out of more focused work-related channels.","creator":"U016LEXAH5Y","last_set":1594044322},"previous_names":[],"num_members":1},{"id":"C016Z3VRSSV","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide
70
- announcements and work-based matters","creator":"U016LEXAH5Y","last_set":1594044322},"purpose":{"value":"This
71
- channel is for workspace-wide communication and announcements. All members
72
- are in this channel.","creator":"U016LEXAH5Y","last_set":1594044322},"previous_names":[],"num_members":1},{"id":"C017AA3CCDN","name":"slack-ruby-client","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-ruby-client","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}'
73
- recorded_at: Mon, 06 Jul 2020 14:21:41 GMT
74
- - request:
75
- method: post
76
- uri: https://slack.com/api/channels.info
77
- body:
78
- encoding: UTF-8
79
- string: channel=C016Z3VRSSV&token=token
80
- headers:
81
- Accept:
82
- - application/json; charset=utf-8
83
- User-Agent:
84
- - Slack Ruby Client/0.15.0
85
- Content-Type:
86
- - application/x-www-form-urlencoded
87
- Accept-Encoding:
88
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
89
- response:
90
- status:
91
- code: 200
92
- message: OK
93
- headers:
94
- Date:
95
- - Mon, 06 Jul 2020 14:21:42 GMT
96
- Server:
97
- - Apache
98
- X-Content-Type-Options:
99
- - nosniff
100
- X-Slack-Req-Id:
101
- - b7ad44601d7e0a60c5c68601e15c89c8
102
- X-Oauth-Scopes:
103
- - channels:read
104
- Expires:
105
- - Mon, 26 Jul 1997 05:00:00 GMT
106
- Cache-Control:
107
- - private, no-cache, no-store, must-revalidate
108
- X-Xss-Protection:
109
- - '0'
110
- Vary:
111
- - Accept-Encoding
112
- Pragma:
113
- - no-cache
114
- Access-Control-Allow-Headers:
115
- - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid,
116
- x-b3-sampled, x-b3-flags
117
- Strict-Transport-Security:
118
- - max-age=31536000; includeSubDomains; preload
119
- Referrer-Policy:
120
- - no-referrer
121
- X-Slack-Backend:
122
- - r
123
- Access-Control-Expose-Headers:
124
- - x-slack-req-id, retry-after
125
- Access-Control-Allow-Origin:
126
- - "*"
127
- Content-Length:
128
- - '222'
129
- Content-Type:
130
- - application/json; charset=utf-8
131
- X-Via:
132
- - haproxy-www-nu22,haproxy-edge-sin-p1t0
133
- body:
134
- encoding: ASCII-8BIT
135
- string: '{"ok":false,"error":"method_deprecated","response_metadata":{"messages":["[ERROR]
136
- This method is retired and can no longer be used. Please use conversations.info
137
- instead. Learn more: https:\/\/api.slack.com\/changelog\/2020-01-deprecating-antecedents-to-the-conversations-api."]}}'
138
- recorded_at: Mon, 06 Jul 2020 14:21:42 GMT
139
- recorded_with: VCR 6.0.0
@@ -1,43 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://slack.com/api/groups.list
6
- body:
7
- encoding: UTF-8
8
- string: token=token
9
- response:
10
- status:
11
- code: 200
12
- message: OK
13
- headers:
14
- Content-Type:
15
- - application/json; charset=utf-8
16
- body:
17
- encoding: ASCII-8BIT
18
- string: '{"ok":true,"groups":[{"id":"G0K7EV5A7","name":"mpdm-dblock--rubybot--player1-1","is_group":true,"created":1453561861,"creator":"U04KB5WQR","is_archived":false,"is_mpim":true,"members":["U04KB5WQR","U0HLFUZLJ","U07518DTL"],"topic":{"value":"Group
19
- messaging","creator":"U04KB5WQR","last_set":1453561861},"purpose":{"value":"Group
20
- messaging with: @dblock @rubybot @player1","creator":"U04KB5WQR","last_set":1453561861}}]}'
21
- http_version:
22
- recorded_at: Sat, 23 Jan 2016 15:19:10 GMT
23
- - request:
24
- method: post
25
- uri: https://slack.com/api/groups.info
26
- body:
27
- encoding: UTF-8
28
- string: channel=G0K7EV5A7&token=token
29
- response:
30
- status:
31
- code: 200
32
- message: OK
33
- headers:
34
- Content-Type:
35
- - application/json; charset=utf-8
36
- body:
37
- encoding: ASCII-8BIT
38
- string: '{"ok":true,"group":{"id":"G0K7EV5A7","name":"mpdm-dblock--rubybot--player1-1","is_group":true,"created":1453561861,"creator":"U04KB5WQR","is_archived":false,"is_mpim":true,"is_open":false,"last_read":"0000000000.000000","latest":null,"unread_count":0,"unread_count_display":0,"members":["U04KB5WQR","U0HLFUZLJ","U07518DTL"],"topic":{"value":"Group
39
- messaging","creator":"U04KB5WQR","last_set":1453561861},"purpose":{"value":"Group
40
- messaging with: @dblock @rubybot @player1","creator":"U04KB5WQR","last_set":1453561861}}}'
41
- http_version:
42
- recorded_at: Sat, 23 Jan 2016 15:19:46 GMT
43
- recorded_with: VCR 3.0.0
@@ -1,32 +0,0 @@
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::AdminConversationsWhitelist do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'admin.conversations.whitelist_add' do
9
- it 'requires channel_id' do
10
- expect { client.admin_conversations_whitelist_add(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_whitelist_add(channel_id: %q[]) }.to raise_error ArgumentError, /Required arguments :group_id missing/
14
- end
15
- end
16
- context 'admin.conversations.whitelist_listGroupsLinkedToChannel' do
17
- it 'requires channel_id' do
18
- expect { client.admin_conversations_whitelist_listGroupsLinkedToChannel }.to raise_error ArgumentError, /Required arguments :channel_id missing/
19
- end
20
- end
21
- context 'admin.conversations.whitelist_remove' do
22
- it 'requires channel_id' do
23
- expect { client.admin_conversations_whitelist_remove(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_whitelist_remove(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_whitelist_remove(channel_id: %q[], group_id: %q[]) }.to raise_error ArgumentError, /Required arguments :team_id missing/
30
- end
31
- end
32
- end
@@ -1,16 +0,0 @@
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::AppsPermissions do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'apps.permissions_request' do
9
- it 'requires scopes' do
10
- expect { client.apps_permissions_request(trigger_id: %q[]) }.to raise_error ArgumentError, /Required arguments :scopes missing/
11
- end
12
- it 'requires trigger_id' do
13
- expect { client.apps_permissions_request(scopes: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
14
- end
15
- end
16
- end
@@ -1,19 +0,0 @@
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::AppsPermissionsUsers do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'apps.permissions.users_request' do
9
- it 'requires scopes' do
10
- expect { client.apps_permissions_users_request(trigger_id: %q[], user: %q[]) }.to raise_error ArgumentError, /Required arguments :scopes missing/
11
- end
12
- it 'requires trigger_id' do
13
- expect { client.apps_permissions_users_request(scopes: %q[], user: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
14
- end
15
- it 'requires user' do
16
- expect { client.apps_permissions_users_request(scopes: %q[], trigger_id: %q[]) }.to raise_error ArgumentError, /Required arguments :user missing/
17
- end
18
- end
19
- end
@@ -1,109 +0,0 @@
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::Conversations do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'conversations_archive' do
9
- it 'requires channel' do
10
- expect { client.conversations_archive }.to raise_error ArgumentError, /Required arguments :channel missing/
11
- end
12
- end
13
- context 'conversations_close' do
14
- it 'requires channel' do
15
- expect { client.conversations_close }.to raise_error ArgumentError, /Required arguments :channel missing/
16
- end
17
- end
18
- context 'conversations_create' do
19
- it 'requires name' do
20
- expect { client.conversations_create }.to raise_error ArgumentError, /Required arguments :name missing/
21
- end
22
- end
23
- context 'conversations_history' do
24
- it 'requires channel' do
25
- expect { client.conversations_history }.to raise_error ArgumentError, /Required arguments :channel missing/
26
- end
27
- end
28
- context 'conversations_info' do
29
- it 'requires channel' do
30
- expect { client.conversations_info }.to raise_error ArgumentError, /Required arguments :channel missing/
31
- end
32
- end
33
- context 'conversations_invite' do
34
- it 'requires channel' do
35
- expect { client.conversations_invite(users: %q[W1234567890,U2345678901,U3456789012]) }.to raise_error ArgumentError, /Required arguments :channel missing/
36
- end
37
- it 'requires users' do
38
- expect { client.conversations_invite(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :users missing/
39
- end
40
- end
41
- context 'conversations_join' do
42
- it 'requires channel' do
43
- expect { client.conversations_join }.to raise_error ArgumentError, /Required arguments :channel missing/
44
- end
45
- end
46
- context 'conversations_kick' do
47
- it 'requires channel' do
48
- expect { client.conversations_kick(user: %q[W1234567890]) }.to raise_error ArgumentError, /Required arguments :channel missing/
49
- end
50
- it 'requires user' do
51
- expect { client.conversations_kick(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :user missing/
52
- end
53
- end
54
- context 'conversations_leave' do
55
- it 'requires channel' do
56
- expect { client.conversations_leave }.to raise_error ArgumentError, /Required arguments :channel missing/
57
- end
58
- end
59
- context 'conversations_mark' do
60
- it 'requires channel' do
61
- expect { client.conversations_mark(ts: %q[1593473566.000200]) }.to raise_error ArgumentError, /Required arguments :channel missing/
62
- end
63
- it 'requires ts' do
64
- expect { client.conversations_mark(channel: %q[C012345678]) }.to raise_error ArgumentError, /Required arguments :ts missing/
65
- end
66
- end
67
- context 'conversations_members' do
68
- it 'requires channel' do
69
- expect { client.conversations_members }.to raise_error ArgumentError, /Required arguments :channel missing/
70
- end
71
- end
72
- context 'conversations_rename' do
73
- it 'requires channel' do
74
- expect { client.conversations_rename(name: %q[]) }.to raise_error ArgumentError, /Required arguments :channel missing/
75
- end
76
- it 'requires name' do
77
- expect { client.conversations_rename(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :name missing/
78
- end
79
- end
80
- context 'conversations_replies' do
81
- it 'requires channel' do
82
- expect { client.conversations_replies(ts: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
83
- end
84
- it 'requires ts' do
85
- expect { client.conversations_replies(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :ts missing/
86
- end
87
- end
88
- context 'conversations_setPurpose' do
89
- it 'requires channel' do
90
- expect { client.conversations_setPurpose(purpose: %q[My More Special Purpose]) }.to raise_error ArgumentError, /Required arguments :channel missing/
91
- end
92
- it 'requires purpose' do
93
- expect { client.conversations_setPurpose(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :purpose missing/
94
- end
95
- end
96
- context 'conversations_setTopic' do
97
- it 'requires channel' do
98
- expect { client.conversations_setTopic(topic: %q[Apply topically for best effects]) }.to raise_error ArgumentError, /Required arguments :channel missing/
99
- end
100
- it 'requires topic' do
101
- expect { client.conversations_setTopic(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :topic missing/
102
- end
103
- end
104
- context 'conversations_unarchive' do
105
- it 'requires channel' do
106
- expect { client.conversations_unarchive }.to raise_error ArgumentError, /Required arguments :channel missing/
107
- end
108
- end
109
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- RSpec.describe Slack::Web::Api::Endpoints::Channels do
5
- let(:client) { Slack::Web::Client.new }
6
-
7
- context 'channels' do
8
- it 'raises deprecation error', vcr: { cassette_name: 'web/channels_info' } do
9
- expect { client.channels_info(channel: '#general') }
10
- .to raise_error(Slack::Web::Api::Errors::MethodDeprecated, 'method_deprecated')
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- RSpec.describe Slack::Web::Api::Endpoints::Groups do
5
- let(:client) { Slack::Web::Client.new }
6
-
7
- context 'groups' do
8
- it 'info', vcr: { cassette_name: 'web/groups_info' } do
9
- json = client.groups_info(channel: '#mpdm-dblock--rubybot--player1-1')
10
- expect(json.group.name).to eq 'mpdm-dblock--rubybot--player1-1'
11
- end
12
- end
13
- end
@@ -1,39 +0,0 @@
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::Im do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'im_close' do
9
- it 'requires channel' do
10
- expect { client.im_close }.to raise_error ArgumentError, /Required arguments :channel missing/
11
- end
12
- end
13
- context 'im_history' do
14
- it 'requires channel' do
15
- expect { client.im_history }.to raise_error ArgumentError, /Required arguments :channel missing/
16
- end
17
- end
18
- context 'im_mark' do
19
- it 'requires channel' do
20
- expect { client.im_mark(ts: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
21
- end
22
- it 'requires ts' do
23
- expect { client.im_mark(channel: %q[D1234567890]) }.to raise_error ArgumentError, /Required arguments :ts missing/
24
- end
25
- end
26
- context 'im_open' do
27
- it 'requires user' do
28
- expect { client.im_open }.to raise_error ArgumentError, /Required arguments :user missing/
29
- end
30
- end
31
- context 'im_replies' do
32
- it 'requires channel' do
33
- expect { client.im_replies(thread_ts: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
34
- end
35
- it 'requires thread_ts' do
36
- expect { client.im_replies(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :thread_ts missing/
37
- end
38
- end
39
- end
@@ -1,39 +0,0 @@
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::Mpim do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'mpim_close' do
9
- it 'requires channel' do
10
- expect { client.mpim_close }.to raise_error ArgumentError, /Required arguments :channel missing/
11
- end
12
- end
13
- context 'mpim_history' do
14
- it 'requires channel' do
15
- expect { client.mpim_history }.to raise_error ArgumentError, /Required arguments :channel missing/
16
- end
17
- end
18
- context 'mpim_mark' do
19
- it 'requires channel' do
20
- expect { client.mpim_mark(ts: %q[1593473566.000200]) }.to raise_error ArgumentError, /Required arguments :channel missing/
21
- end
22
- it 'requires ts' do
23
- expect { client.mpim_mark(channel: %q[C012345678]) }.to raise_error ArgumentError, /Required arguments :ts missing/
24
- end
25
- end
26
- context 'mpim_open' do
27
- it 'requires users' do
28
- expect { client.mpim_open }.to raise_error ArgumentError, /Required arguments :users missing/
29
- end
30
- end
31
- context 'mpim_replies' do
32
- it 'requires channel' do
33
- expect { client.mpim_replies(thread_ts: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
34
- end
35
- it 'requires thread_ts' do
36
- expect { client.mpim_replies(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :thread_ts missing/
37
- end
38
- end
39
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
- # This file was auto-generated by lib/tasks/web.rake
3
-
4
- require 'spec_helper'
5
-
6
- RSpec.describe Slack::Web::Api::Endpoints::Views do
7
- let(:client) { Slack::Web::Client.new }
8
- context 'views_open' do
9
- it 'requires trigger_id' do
10
- expect { client.views_open(view: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
11
- end
12
- it 'requires view' do
13
- expect { client.views_open(trigger_id: '12345.98765.abcd2358fdea') }.to raise_error ArgumentError, /Required arguments :view missing/
14
- end
15
- end
16
- context 'views_push' do
17
- it 'requires trigger_id' do
18
- expect { client.views_push(view: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
19
- end
20
- it 'requires view' do
21
- expect { client.views_push(trigger_id: '12345.98765.abcd2358fdea') }.to raise_error ArgumentError, /Required arguments :view missing/
22
- end
23
- end
24
- context 'views_update' do
25
- it 'requires view' do
26
- expect { client.views_update }.to raise_error ArgumentError, /Required arguments :view missing/
27
- end
28
- end
29
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- RSpec.describe Slack::Web::Api::Mixins::Channels do
5
- subject(:channels) do
6
- klass.new
7
- end
8
-
9
- let(:klass) do
10
- Class.new do
11
- include Slack::Web::Api::Mixins::Channels
12
- end
13
- end
14
-
15
- before do
16
- allow(channels).to receive(:channels_list).and_yield(
17
- Slack::Messages::Message.new(
18
- 'channels' => [{
19
- 'id' => 'CDEADBEEF',
20
- 'name' => 'general'
21
- }]
22
- )
23
- )
24
- end
25
-
26
- context '#channels_id' do
27
- it 'leaves channels specified by ID alone' do
28
- expect(channels.channels_id(channel: 'C123456')).to(
29
- eq('ok' => true, 'channel' => { 'id' => 'C123456' })
30
- )
31
- end
32
- it 'translates a channel that starts with a #' do
33
- expect(channels.channels_id(channel: '#general')).to(
34
- eq('ok' => true, 'channel' => { 'id' => 'CDEADBEEF' })
35
- )
36
- end
37
- it 'fails with an exception' do
38
- expect { channels.channels_id(channel: '#invalid') }.to(
39
- raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
40
- )
41
- end
42
- end
43
- end