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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/CHANGELOG.md +11 -4
  4. data/README.md +51 -19
  5. data/bin/commands.rb +12 -0
  6. data/bin/commands/admin_apps_approved.rb +17 -0
  7. data/bin/commands/admin_apps_restricted.rb +17 -0
  8. data/bin/commands/admin_conversations.rb +17 -0
  9. data/bin/commands/admin_emoji.rb +54 -0
  10. data/bin/commands/admin_inviteRequests.rb +36 -0
  11. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  12. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  13. data/bin/commands/admin_teams.rb +27 -0
  14. data/bin/commands/admin_teams_admins.rb +16 -0
  15. data/bin/commands/admin_teams_owners.rb +16 -0
  16. data/bin/commands/admin_teams_settings.rb +64 -0
  17. data/bin/commands/admin_users.rb +97 -0
  18. data/bin/commands/chat.rb +8 -8
  19. data/bin/commands/conversations.rb +1 -1
  20. data/bin/commands/files.rb +1 -0
  21. data/bin/commands/files_remote.rb +1 -1
  22. data/bin/commands/oauth.rb +1 -1
  23. data/lib/slack-ruby-client.rb +1 -0
  24. data/lib/slack/version.rb +1 -1
  25. data/lib/slack/web/api/endpoints.rb +24 -0
  26. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  27. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  28. data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
  29. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  30. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  31. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  32. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  33. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  34. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  35. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  36. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  37. data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
  38. data/lib/slack/web/api/endpoints/chat.rb +8 -8
  39. data/lib/slack/web/api/endpoints/conversations.rb +1 -1
  40. data/lib/slack/web/api/endpoints/files.rb +2 -0
  41. data/lib/slack/web/api/endpoints/files_remote.rb +1 -1
  42. data/lib/slack/web/api/endpoints/oauth.rb +1 -1
  43. data/lib/slack/web/api/errors.rb +566 -0
  44. data/lib/slack/web/api/errors/slack_error.rb +12 -0
  45. data/lib/slack/web/api/templates/errors.erb +20 -0
  46. data/lib/slack/web/client.rb +1 -1
  47. data/lib/slack/web/faraday/response/raise_error.rb +4 -1
  48. data/lib/tasks/real_time.rake +1 -1
  49. data/lib/tasks/web.rake +10 -1
  50. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  51. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  52. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  53. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +13 -0
  54. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  55. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  56. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  57. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  58. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  59. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  60. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  61. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  62. data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
  63. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
  64. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
  65. data/spec/slack/web/api/endpoints/conversations_spec.rb +1 -1
  66. data/spec/slack/web/api/errors/slack_error_spec.rb +22 -0
  67. data/spec/slack/web/faraday/response/raise_error_spec.rb +26 -3
  68. 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: ' ') }.to raise_error ArgumentError, /Required arguments :scopes missing/
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: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
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: ' ', user: ' ') }.to raise_error ArgumentError, /Required arguments :scopes missing/
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: ' ', user: ' ') }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
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: ' ', trigger_id: ' ') }.to raise_error ArgumentError, /Required arguments :user missing/
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: ' ') }.to raise_error ArgumentError, /Required arguments :channel missing/
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) { { 'error' => 'already_in_channel' } }
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, 'already_in_channel')
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.5
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: 2019-12-23 00:00:00.000000000 Z
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