slack-ruby-client 0.14.5 → 0.14.6
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +11 -4
- data/README.md +51 -19
- data/bin/commands.rb +12 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_conversations.rb +17 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_users.rb +97 -0
- data/bin/commands/chat.rb +8 -8
- data/bin/commands/conversations.rb +1 -1
- data/bin/commands/files.rb +1 -0
- data/bin/commands/files_remote.rb +1 -1
- data/bin/commands/oauth.rb +1 -1
- data/lib/slack-ruby-client.rb +1 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +24 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/chat.rb +8 -8
- data/lib/slack/web/api/endpoints/conversations.rb +1 -1
- data/lib/slack/web/api/endpoints/files.rb +2 -0
- data/lib/slack/web/api/endpoints/files_remote.rb +1 -1
- data/lib/slack/web/api/endpoints/oauth.rb +1 -1
- data/lib/slack/web/api/errors.rb +566 -0
- data/lib/slack/web/api/errors/slack_error.rb +12 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/client.rb +1 -1
- data/lib/slack/web/faraday/response/raise_error.rb +4 -1
- data/lib/tasks/real_time.rake +1 -1
- data/lib/tasks/web.rake +10 -1
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/conversations_spec.rb +1 -1
- data/spec/slack/web/api/errors/slack_error_spec.rb +22 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +26 -3
- metadata +54 -2
@@ -7,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::AppsPermissions do
|
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
8
8
|
context 'apps.permissions_request' do
|
9
9
|
it 'requires scopes' do
|
10
|
-
expect { client.apps_permissions_request(trigger_id: '
|
10
|
+
expect { client.apps_permissions_request(trigger_id: '') }.to raise_error ArgumentError, /Required arguments :scopes missing/
|
11
11
|
end
|
12
12
|
it 'requires trigger_id' do
|
13
|
-
expect { client.apps_permissions_request(scopes: '
|
13
|
+
expect { client.apps_permissions_request(scopes: '') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
@@ -7,13 +7,13 @@ RSpec.describe Slack::Web::Api::Endpoints::AppsPermissionsUsers do
|
|
7
7
|
let(:client) { Slack::Web::Client.new }
|
8
8
|
context 'apps.permissions.users_request' do
|
9
9
|
it 'requires scopes' do
|
10
|
-
expect { client.apps_permissions_users_request(trigger_id: '
|
10
|
+
expect { client.apps_permissions_users_request(trigger_id: '', user: '') }.to raise_error ArgumentError, /Required arguments :scopes missing/
|
11
11
|
end
|
12
12
|
it 'requires trigger_id' do
|
13
|
-
expect { client.apps_permissions_users_request(scopes: '
|
13
|
+
expect { client.apps_permissions_users_request(scopes: '', user: '') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
14
14
|
end
|
15
15
|
it 'requires user' do
|
16
|
-
expect { client.apps_permissions_users_request(scopes: '
|
16
|
+
expect { client.apps_permissions_users_request(scopes: '', trigger_id: '') }.to raise_error ArgumentError, /Required arguments :user missing/
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -63,7 +63,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
|
|
63
63
|
end
|
64
64
|
context 'conversations_rename' do
|
65
65
|
it 'requires channel' do
|
66
|
-
expect { client.conversations_rename(name: '
|
66
|
+
expect { client.conversations_rename(name: '') }.to raise_error ArgumentError, /Required arguments :channel missing/
|
67
67
|
end
|
68
68
|
it 'requires name' do
|
69
69
|
expect { client.conversations_rename(channel: 'C1234567890') }.to raise_error ArgumentError, /Required arguments :name missing/
|
@@ -11,6 +11,28 @@ RSpec.describe Slack::Web::Api::Errors::SlackError do
|
|
11
11
|
rescue described_class => e
|
12
12
|
expect(e.response).not_to be_nil
|
13
13
|
expect(e.response.status).to eq 200
|
14
|
+
expect(e.message).to eql 'not_authed'
|
15
|
+
expect(e.error).to eql 'not_authed'
|
16
|
+
expect(e.response_metadata).to be_nil
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'provides access to any response_metadata', vcr: { cassette_name: 'web/views_open_error' } do
|
21
|
+
begin
|
22
|
+
client.views_open(trigger_id: 'trigger_id', view: {})
|
23
|
+
raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
|
24
|
+
rescue described_class => e
|
25
|
+
expect(e.response).not_to be_nil
|
26
|
+
expect(e.response.status).to eq 200
|
27
|
+
expect(e.message).to eql 'invalid_arguments'
|
28
|
+
expect(e.error).to eql 'invalid_arguments'
|
29
|
+
expect(e.response_metadata).to eq(
|
30
|
+
'messages' => [
|
31
|
+
"[ERROR] missing required field: title [json-pointer:\/view]",
|
32
|
+
"[ERROR] missing required field: blocks [json-pointer:\/view]",
|
33
|
+
"[ERROR] missing required field: type [json-pointer:\/view]"
|
34
|
+
]
|
35
|
+
)
|
14
36
|
end
|
15
37
|
end
|
16
38
|
end
|
@@ -28,12 +28,34 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
context 'with a single error in the body' do
|
32
|
-
let(:body)
|
31
|
+
context 'with a single known error in the body' do
|
32
|
+
let(:body) do
|
33
|
+
{
|
34
|
+
'ok' => false,
|
35
|
+
'error' => 'already_in_channel',
|
36
|
+
'response_metadata' => { 'messages' => [] }
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'raises an error of the matching type with the error message' do
|
41
|
+
expect { raise_error_obj.on_complete(env) }.to(
|
42
|
+
raise_error(Slack::Web::Api::Errors::AlreadyInChannel, 'already_in_channel')
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context 'with a single unknown error in the body' do
|
48
|
+
let(:body) do
|
49
|
+
{
|
50
|
+
'ok' => false,
|
51
|
+
'error' => 'unknown_error',
|
52
|
+
'response_metadata' => { 'messages' => [] }
|
53
|
+
}
|
54
|
+
end
|
33
55
|
|
34
56
|
it 'raises a SlackError with the error message' do
|
35
57
|
expect { raise_error_obj.on_complete(env) }.to(
|
36
|
-
raise_error(Slack::Web::Api::Errors::SlackError, '
|
58
|
+
raise_error(Slack::Web::Api::Errors::SlackError, 'unknown_error')
|
37
59
|
)
|
38
60
|
end
|
39
61
|
end
|
@@ -41,6 +63,7 @@ RSpec.describe Slack::Web::Faraday::Response::RaiseError do
|
|
41
63
|
context 'with multiple errors in the body' do
|
42
64
|
let(:body) do
|
43
65
|
{
|
66
|
+
'ok' => false,
|
44
67
|
'errors' => [
|
45
68
|
{ 'error' => 'already_in_channel' },
|
46
69
|
{ 'error' => 'something_else_terrible' }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Doubrovkine
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -258,7 +258,19 @@ files:
|
|
258
258
|
- UPGRADING.md
|
259
259
|
- bin/commands.rb
|
260
260
|
- bin/commands/admin_apps.rb
|
261
|
+
- bin/commands/admin_apps_approved.rb
|
261
262
|
- bin/commands/admin_apps_requests.rb
|
263
|
+
- bin/commands/admin_apps_restricted.rb
|
264
|
+
- bin/commands/admin_conversations.rb
|
265
|
+
- bin/commands/admin_emoji.rb
|
266
|
+
- bin/commands/admin_inviteRequests.rb
|
267
|
+
- bin/commands/admin_inviteRequests_approved.rb
|
268
|
+
- bin/commands/admin_inviteRequests_denied.rb
|
269
|
+
- bin/commands/admin_teams.rb
|
270
|
+
- bin/commands/admin_teams_admins.rb
|
271
|
+
- bin/commands/admin_teams_owners.rb
|
272
|
+
- bin/commands/admin_teams_settings.rb
|
273
|
+
- bin/commands/admin_users.rb
|
262
274
|
- bin/commands/admin_users_session.rb
|
263
275
|
- bin/commands/api.rb
|
264
276
|
- bin/commands/apps.rb
|
@@ -356,7 +368,19 @@ files:
|
|
356
368
|
- lib/slack/version.rb
|
357
369
|
- lib/slack/web/api/endpoints.rb
|
358
370
|
- lib/slack/web/api/endpoints/admin_apps.rb
|
371
|
+
- lib/slack/web/api/endpoints/admin_apps_approved.rb
|
359
372
|
- lib/slack/web/api/endpoints/admin_apps_requests.rb
|
373
|
+
- lib/slack/web/api/endpoints/admin_apps_restricted.rb
|
374
|
+
- lib/slack/web/api/endpoints/admin_conversations.rb
|
375
|
+
- lib/slack/web/api/endpoints/admin_emoji.rb
|
376
|
+
- lib/slack/web/api/endpoints/admin_inviteRequests.rb
|
377
|
+
- lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb
|
378
|
+
- lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb
|
379
|
+
- lib/slack/web/api/endpoints/admin_teams.rb
|
380
|
+
- lib/slack/web/api/endpoints/admin_teams_admins.rb
|
381
|
+
- lib/slack/web/api/endpoints/admin_teams_owners.rb
|
382
|
+
- lib/slack/web/api/endpoints/admin_teams_settings.rb
|
383
|
+
- lib/slack/web/api/endpoints/admin_users.rb
|
360
384
|
- lib/slack/web/api/endpoints/admin_users_session.rb
|
361
385
|
- lib/slack/web/api/endpoints/api.rb
|
362
386
|
- lib/slack/web/api/endpoints/apps.rb
|
@@ -399,6 +423,7 @@ files:
|
|
399
423
|
- lib/slack/web/api/endpoints/users_profile.rb
|
400
424
|
- lib/slack/web/api/endpoints/views.rb
|
401
425
|
- lib/slack/web/api/error.rb
|
426
|
+
- lib/slack/web/api/errors.rb
|
402
427
|
- lib/slack/web/api/errors/slack_error.rb
|
403
428
|
- lib/slack/web/api/errors/too_many_requests_error.rb
|
404
429
|
- lib/slack/web/api/mixins.rb
|
@@ -425,6 +450,7 @@ files:
|
|
425
450
|
- lib/slack/web/api/templates/command.erb
|
426
451
|
- lib/slack/web/api/templates/commands.erb
|
427
452
|
- lib/slack/web/api/templates/endpoints.erb
|
453
|
+
- lib/slack/web/api/templates/errors.erb
|
428
454
|
- lib/slack/web/api/templates/method.erb
|
429
455
|
- lib/slack/web/api/templates/method_spec.erb
|
430
456
|
- lib/slack/web/client.rb
|
@@ -452,6 +478,7 @@ files:
|
|
452
478
|
- spec/fixtures/slack/web/rtm_start.yml
|
453
479
|
- spec/fixtures/slack/web/users_info.yml
|
454
480
|
- spec/fixtures/slack/web/users_list.yml
|
481
|
+
- spec/fixtures/slack/web/views_open_error.yml
|
455
482
|
- spec/integration/integration_spec.rb
|
456
483
|
- spec/slack/config_spec.rb
|
457
484
|
- spec/slack/events/config_spec.rb
|
@@ -476,9 +503,21 @@ files:
|
|
476
503
|
- spec/slack/real_time/store_spec.rb
|
477
504
|
- spec/slack/slack_spec.rb
|
478
505
|
- spec/slack/version_spec.rb
|
506
|
+
- spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
|
479
507
|
- spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
|
508
|
+
- spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
|
480
509
|
- spec/slack/web/api/endpoints/admin_apps_spec.rb
|
510
|
+
- spec/slack/web/api/endpoints/admin_conversations_spec.rb
|
511
|
+
- spec/slack/web/api/endpoints/admin_emoji_spec.rb
|
512
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb
|
513
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb
|
514
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb
|
515
|
+
- spec/slack/web/api/endpoints/admin_teams_admins_spec.rb
|
516
|
+
- spec/slack/web/api/endpoints/admin_teams_owners_spec.rb
|
517
|
+
- spec/slack/web/api/endpoints/admin_teams_settings_spec.rb
|
518
|
+
- spec/slack/web/api/endpoints/admin_teams_spec.rb
|
481
519
|
- spec/slack/web/api/endpoints/admin_users_session_spec.rb
|
520
|
+
- spec/slack/web/api/endpoints/admin_users_spec.rb
|
482
521
|
- spec/slack/web/api/endpoints/api_spec.rb
|
483
522
|
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
484
523
|
- spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
|
@@ -570,6 +609,7 @@ test_files:
|
|
570
609
|
- spec/fixtures/slack/web/rtm_start.yml
|
571
610
|
- spec/fixtures/slack/web/users_info.yml
|
572
611
|
- spec/fixtures/slack/web/users_list.yml
|
612
|
+
- spec/fixtures/slack/web/views_open_error.yml
|
573
613
|
- spec/integration/integration_spec.rb
|
574
614
|
- spec/slack/config_spec.rb
|
575
615
|
- spec/slack/events/config_spec.rb
|
@@ -594,9 +634,21 @@ test_files:
|
|
594
634
|
- spec/slack/real_time/store_spec.rb
|
595
635
|
- spec/slack/slack_spec.rb
|
596
636
|
- spec/slack/version_spec.rb
|
637
|
+
- spec/slack/web/api/endpoints/admin_apps_approved_spec.rb
|
597
638
|
- spec/slack/web/api/endpoints/admin_apps_requests_spec.rb
|
639
|
+
- spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb
|
598
640
|
- spec/slack/web/api/endpoints/admin_apps_spec.rb
|
641
|
+
- spec/slack/web/api/endpoints/admin_conversations_spec.rb
|
642
|
+
- spec/slack/web/api/endpoints/admin_emoji_spec.rb
|
643
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb
|
644
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb
|
645
|
+
- spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb
|
646
|
+
- spec/slack/web/api/endpoints/admin_teams_admins_spec.rb
|
647
|
+
- spec/slack/web/api/endpoints/admin_teams_owners_spec.rb
|
648
|
+
- spec/slack/web/api/endpoints/admin_teams_settings_spec.rb
|
649
|
+
- spec/slack/web/api/endpoints/admin_teams_spec.rb
|
599
650
|
- spec/slack/web/api/endpoints/admin_users_session_spec.rb
|
651
|
+
- spec/slack/web/api/endpoints/admin_users_spec.rb
|
600
652
|
- spec/slack/web/api/endpoints/api_spec.rb
|
601
653
|
- spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb
|
602
654
|
- spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb
|