slack-ruby-client 0.17.0 → 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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.rubocop_todo.yml +65 -31
  4. data/.travis.yml +1 -0
  5. data/CHANGELOG.md +10 -0
  6. data/CONTRIBUTING.md +3 -3
  7. data/README.md +5 -5
  8. data/RELEASING.md +1 -1
  9. data/UPGRADING.md +42 -0
  10. data/bin/commands/admin_apps.rb +11 -0
  11. data/bin/commands/admin_apps_requests.rb +1 -0
  12. data/bin/commands/admin_auth_policy.rb +39 -0
  13. data/bin/commands/admin_conversations.rb +10 -0
  14. data/bin/commands/admin_conversations_restrictAccess.rb +1 -1
  15. data/bin/commands/admin_users.rb +1 -0
  16. data/bin/commands/admin_users_session.rb +40 -0
  17. data/bin/commands/apps_manifest.rb +51 -0
  18. data/bin/commands/chat.rb +9 -6
  19. data/bin/commands/conversations.rb +59 -2
  20. data/bin/commands/dnd.rb +1 -1
  21. data/bin/commands/files.rb +2 -1
  22. data/bin/commands/oauth.rb +0 -13
  23. data/bin/commands/oauth_v2.rb +13 -1
  24. data/bin/commands/openid_connect.rb +27 -0
  25. data/bin/commands/pins.rb +2 -2
  26. data/bin/commands/reminders.rb +6 -0
  27. data/bin/commands/rtm.rb +2 -2
  28. data/bin/commands/search.rb +2 -1
  29. data/bin/commands/stars.rb +7 -6
  30. data/bin/commands/team_billing.rb +13 -0
  31. data/bin/commands/team_preferences.rb +13 -0
  32. data/bin/commands/tooling_tokens.rb +14 -0
  33. data/bin/commands/usergroups.rb +1 -1
  34. data/bin/commands/users.rb +1 -1
  35. data/bin/commands/views.rb +1 -1
  36. data/bin/commands.rb +6 -8
  37. data/lib/slack/config.rb +1 -2
  38. data/lib/slack/events/request.rb +3 -1
  39. data/lib/slack/real_time/client.rb +4 -5
  40. data/lib/slack/real_time/concurrency/async.rb +6 -8
  41. data/lib/slack/real_time/socket.rb +1 -2
  42. data/lib/slack/real_time/stores/base.rb +1 -6
  43. data/lib/slack/real_time/stores/starter.rb +6 -3
  44. data/lib/slack/real_time/stores/store.rb +5 -0
  45. data/lib/slack/version.rb +1 -1
  46. data/lib/slack/web/api/endpoints/admin_analytics.rb +3 -3
  47. data/lib/slack/web/api/endpoints/admin_apps.rb +21 -5
  48. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +2 -2
  49. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +4 -2
  50. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +2 -2
  51. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  52. data/lib/slack/web/api/endpoints/admin_barriers.rb +6 -6
  53. data/lib/slack/web/api/endpoints/admin_conversations.rb +38 -24
  54. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +4 -4
  55. data/lib/slack/web/api/endpoints/admin_emoji.rb +9 -9
  56. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +7 -7
  57. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +3 -3
  58. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +2 -2
  59. data/lib/slack/web/api/endpoints/admin_teams.rb +6 -6
  60. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +2 -2
  61. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +2 -2
  62. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +5 -5
  63. data/lib/slack/web/api/endpoints/admin_usergroups.rb +10 -10
  64. data/lib/slack/web/api/endpoints/admin_users.rb +20 -18
  65. data/lib/slack/web/api/endpoints/admin_users_session.rb +65 -9
  66. data/lib/slack/web/api/endpoints/api.rb +1 -1
  67. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  68. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +3 -3
  69. data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
  70. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  71. data/lib/slack/web/api/endpoints/auth_teams.rb +3 -3
  72. data/lib/slack/web/api/endpoints/bots.rb +2 -2
  73. data/lib/slack/web/api/endpoints/calls.rb +15 -15
  74. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  75. data/lib/slack/web/api/endpoints/chat.rb +60 -54
  76. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -3
  77. data/lib/slack/web/api/endpoints/conversations.rb +115 -25
  78. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  79. data/lib/slack/web/api/endpoints/dnd.rb +4 -5
  80. data/lib/slack/web/api/endpoints/files.rb +16 -14
  81. data/lib/slack/web/api/endpoints/files_comments.rb +1 -1
  82. data/lib/slack/web/api/endpoints/files_remote.rb +20 -20
  83. data/lib/slack/web/api/endpoints/migration.rb +3 -3
  84. data/lib/slack/web/api/endpoints/oauth.rb +5 -27
  85. data/lib/slack/web/api/endpoints/oauth_v2.rb +24 -6
  86. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  87. data/lib/slack/web/api/endpoints/pins.rb +4 -4
  88. data/lib/slack/web/api/endpoints/reactions.rb +12 -12
  89. data/lib/slack/web/api/endpoints/reminders.rb +17 -5
  90. data/lib/slack/web/api/endpoints/rtm.rb +10 -10
  91. data/lib/slack/web/api/endpoints/search.rb +24 -16
  92. data/lib/slack/web/api/endpoints/stars.rb +11 -9
  93. data/lib/slack/web/api/endpoints/team.rb +8 -8
  94. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  95. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  96. data/lib/slack/web/api/endpoints/team_profile.rb +1 -1
  97. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  98. data/lib/slack/web/api/endpoints/usergroups.rb +19 -19
  99. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -7
  100. data/lib/slack/web/api/endpoints/users.rb +16 -16
  101. data/lib/slack/web/api/endpoints/users_profile.rb +4 -4
  102. data/lib/slack/web/api/endpoints/views.rb +12 -12
  103. data/lib/slack/web/api/endpoints/workflows.rb +9 -9
  104. data/lib/slack/web/api/endpoints.rb +12 -18
  105. data/lib/slack/web/api/errors/server_error.rb +37 -0
  106. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -4
  107. data/lib/slack/web/api/errors.rb +200 -8
  108. data/lib/slack/web/api/mixins.rb +0 -2
  109. data/lib/slack/web/api/patches/chat.1.patch +1 -2
  110. data/lib/slack/web/api/templates/endpoints.erb +0 -2
  111. data/lib/slack/web/faraday/request.rb +2 -1
  112. data/lib/slack/web/faraday/response/raise_error.rb +1 -1
  113. data/lib/slack/web/faraday/response/wrap_error.rb +2 -2
  114. data/lib/slack/web/pagination/cursor.rb +1 -5
  115. data/lib/slack-ruby-client.rb +1 -1
  116. data/slack-ruby-client.gemspec +2 -3
  117. data/spec/fixtures/slack/web/429_error.yml +50 -54
  118. data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
  119. data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
  120. data/spec/fixtures/slack/web/conversations_info.yml +133 -9
  121. data/spec/fixtures/slack/web/conversations_setTopic.yml +42 -27
  122. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +89 -59
  123. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +131 -86
  124. data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
  125. data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
  126. data/spec/fixtures/slack/web/rtm_start.yml +771 -60
  127. data/spec/fixtures/slack/web/users_info.yml +153 -69
  128. data/spec/fixtures/slack/web/users_list.yml +102 -41
  129. data/spec/fixtures/slack/web/views_open_error.yml +49 -42
  130. data/spec/slack/real_time/client_spec.rb +17 -21
  131. data/spec/slack/real_time/event_handlers/bot_spec.rb +1 -1
  132. data/spec/slack/real_time/event_handlers/channel_spec.rb +1 -1
  133. data/spec/slack/real_time/event_handlers/im_spec.rb +5 -5
  134. data/spec/slack/real_time/event_handlers/user_spec.rb +2 -2
  135. data/spec/slack/slack_spec.rb +3 -1
  136. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  137. data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
  138. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +14 -9
  139. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +1 -1
  140. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  141. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +22 -2
  142. data/spec/slack/web/api/endpoints/admin_users_spec.rb +8 -8
  143. data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
  144. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  145. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  146. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  147. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +4 -6
  148. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +1 -1
  149. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +2 -2
  150. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -5
  151. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  152. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  153. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
  154. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +6 -3
  155. data/spec/slack/web/api/endpoints/{im_spec.rb → openid_connect_spec.rb} +1 -1
  156. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  157. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  158. data/spec/slack/web/api/endpoints/{mpim_spec.rb → team_billing_spec.rb} +1 -1
  159. data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → team_preferences_spec.rb} +1 -1
  160. data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
  161. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  162. data/spec/slack/web/api/error_spec.rb +5 -7
  163. data/spec/slack/web/api/errors/slack_error_spec.rb +21 -26
  164. data/spec/slack/web/api/mixins/conversations_list_spec.rb +1 -1
  165. data/spec/slack/web/api/pagination/cursor_spec.rb +1 -3
  166. data/spec/slack/web/client_spec.rb +7 -6
  167. data/spec/slack/web/faraday/request_spec.rb +80 -0
  168. data/spec/slack/web/faraday/response/raise_error_spec.rb +1 -0
  169. data/spec/spec_helper.rb +1 -1
  170. data/spec/support/real_time/connected_client.rb +1 -7
  171. data/spec/support/vcr.rb +33 -2
  172. metadata +28 -144
  173. data/lib/slack/web/api/errors/internal_error.rb +0 -14
  174. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  175. data/lib/slack/web/api/mixins/channels.id.rb +0 -25
  176. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  177. data/lib/slack/web/api/mixins/groups.id.rb +0 -25
  178. data/spec/fixtures/slack/web/503_error.yml +0 -14
  179. data/spec/fixtures/slack/web/channels_info.yml +0 -139
  180. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +0 -8
  181. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -16
  182. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -19
  183. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -109
  184. data/spec/slack/web/api/mixins/channels_spec.rb +0 -43
  185. data/spec/slack/web/api/mixins/groups_spec.rb +0 -43
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
- module Slack
3
- module Web
4
- module Api
5
- module Errors
6
- class ServerError < InternalError; end
7
- class ParsingError < ServerError; end
8
- class HttpRequestError < ServerError; end
9
- class TimeoutError < HttpRequestError; end
10
- class UnavailableError < HttpRequestError; end
11
- end
12
- end
13
- end
14
- end
@@ -1,20 +0,0 @@
1
- {
2
- "mixin": true,
3
- "group": "channels",
4
- "name": "channels.id",
5
- "desc": "This method returns the ID of a team channel.",
6
- "args": {
7
- "channel": {
8
- "required": true,
9
- "example": "#general",
10
- "desc": "Channel to get ID for, prefixed with #.",
11
- "type": "channel"
12
- }
13
- },
14
- "errors": {
15
- "channel_not_found": "Value passed for channel 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 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,8 +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::AppsPermissionsResources do
7
- let(:client) { Slack::Web::Client.new }
8
- 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,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
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- RSpec.describe Slack::Web::Api::Mixins::Groups do
5
- subject(:groups) do
6
- klass.new
7
- end
8
-
9
- let(:klass) do
10
- Class.new do
11
- include Slack::Web::Api::Mixins::Groups
12
- end
13
- end
14
-
15
- before do
16
- allow(groups).to receive(:groups_list).and_yield(
17
- Slack::Messages::Message.new(
18
- 'groups' => [{
19
- 'id' => 'CDEADBEEF',
20
- 'name' => 'general'
21
- }]
22
- )
23
- )
24
- end
25
-
26
- context '#groups_id' do
27
- it 'leaves groups specified by ID alone' do
28
- expect(groups.groups_id(channel: 'C123456')).to(
29
- eq('ok' => true, 'group' => { 'id' => 'C123456' })
30
- )
31
- end
32
- it 'translates a channel that starts with a #' do
33
- expect(groups.groups_id(channel: '#general')).to(
34
- eq('ok' => true, 'group' => { 'id' => 'CDEADBEEF' })
35
- )
36
- end
37
- it 'fails with an exception' do
38
- expect { groups.groups_id(channel: '#invalid') }.to(
39
- raise_error(Slack::Web::Api::Errors::SlackError, 'channel_not_found')
40
- )
41
- end
42
- end
43
- end