slack-ruby-client 0.14.5 → 0.14.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|