zoom_rb 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/CHANGELOG.md +15 -0
  4. data/Gemfile.lock +83 -53
  5. data/Makefile +1 -1
  6. data/README.md +22 -4
  7. data/lib/zoom/actions/account.rb +33 -58
  8. data/lib/zoom/actions/billing.rb +38 -0
  9. data/lib/zoom/actions/dashboard.rb +33 -0
  10. data/lib/zoom/actions/groups.rb +17 -0
  11. data/lib/zoom/actions/im/chat.rb +16 -4
  12. data/lib/zoom/actions/meeting.rb +48 -40
  13. data/lib/zoom/actions/phone.rb +27 -0
  14. data/lib/zoom/actions/recording.rb +25 -16
  15. data/lib/zoom/actions/report.rb +9 -34
  16. data/lib/zoom/actions/roles.rb +41 -0
  17. data/lib/zoom/actions/sip_audio.rb +75 -0
  18. data/lib/zoom/actions/token.rb +35 -0
  19. data/lib/zoom/actions/user.rb +50 -64
  20. data/lib/zoom/actions/webinar.rb +33 -40
  21. data/lib/zoom/client.rb +27 -7
  22. data/lib/zoom/clients/oauth.rb +46 -3
  23. data/lib/zoom/constants/account/options/pay_modes.rb +12 -0
  24. data/lib/zoom/constants/account/settings/permitted_settings.rb +125 -0
  25. data/lib/zoom/constants/constants.rb +35 -0
  26. data/lib/zoom/constants/meeting/approval_types.rb +11 -0
  27. data/lib/zoom/constants/meeting/audio_type.rb +11 -0
  28. data/lib/zoom/constants/meeting/auto_recording.rb +11 -0
  29. data/lib/zoom/constants/meeting/registration_types.rb +11 -0
  30. data/lib/zoom/constants/meeting/types.rb +12 -0
  31. data/lib/zoom/constants/recurrence/monthly_weeks.rb +13 -0
  32. data/lib/zoom/constants/recurrence/types.rb +11 -0
  33. data/lib/zoom/constants/recurrence/weekly_days.rb +15 -0
  34. data/lib/zoom/constants/user/create_types.rb +12 -0
  35. data/lib/zoom/constants/user/types.rb +11 -0
  36. data/lib/zoom/constants/webinar/approval_types.rb +11 -0
  37. data/lib/zoom/constants/webinar/audio_type.rb +11 -0
  38. data/lib/zoom/constants/webinar/auto_recording.rb +11 -0
  39. data/lib/zoom/constants/webinar/registration_types.rb +11 -0
  40. data/lib/zoom/constants/webinar/types.rb +11 -0
  41. data/lib/zoom/error.rb +9 -1
  42. data/lib/zoom/params.rb +51 -12
  43. data/lib/zoom/utils.rb +13 -8
  44. data/lib/zoom/version.rb +2 -2
  45. data/lib/{zoom.rb → zoom_rb.rb} +8 -3
  46. data/spec/fixtures/account/create.json +6 -0
  47. data/spec/{lib/zoom/actions/report/hosts_report_spec.rb → fixtures/account/delete.json} +0 -0
  48. data/spec/fixtures/account/get.json +13 -0
  49. data/spec/fixtures/account/managed_domains.json +7 -0
  50. data/spec/fixtures/account/options_update.json +7 -0
  51. data/spec/fixtures/account/settings_get.json +1 -1
  52. data/spec/{lib/zoom/actions/report/meeting_polls_report_spec.rb → fixtures/account/settings_update.json} +0 -0
  53. data/spec/fixtures/account/trusted_domains.json +3 -0
  54. data/spec/fixtures/billing/get.json +12 -0
  55. data/spec/fixtures/billing/plans_list.json +44 -0
  56. data/spec/fixtures/billing/plans_subscribe.json +30 -0
  57. data/spec/fixtures/billing/plans_usage.json +30 -0
  58. data/spec/{lib/zoom/actions/report/meetings_report_spec.rb → fixtures/billing/update.json} +0 -0
  59. data/spec/fixtures/chat/channels/get.json +5 -0
  60. data/spec/fixtures/chat/users/channels/list.json +17 -0
  61. data/spec/fixtures/dashboard/crc.json +104 -0
  62. data/spec/fixtures/dashboard/meeting/detail.json +20 -0
  63. data/spec/fixtures/dashboard/meeting/participants.json +56 -0
  64. data/spec/fixtures/{metrics_meetings.json → dashboard/meetings.json} +1 -2
  65. data/spec/fixtures/error/channel_not_found.json +4 -0
  66. data/spec/fixtures/error/group_does_not_exist.json +4 -0
  67. data/spec/fixtures/error/group_not_belong_to_account.json +4 -0
  68. data/spec/fixtures/error/meeting_not_exist.json +4 -0
  69. data/spec/fixtures/error/next_page_token_invalid.json +4 -0
  70. data/spec/fixtures/error/unauthorized_request.json +4 -0
  71. data/spec/fixtures/error/user_not_exist.json +1 -1
  72. data/spec/fixtures/groups/get.json +5 -0
  73. data/spec/fixtures/groups/list.json +15 -0
  74. data/spec/fixtures/meeting/add_registrant.json +7 -0
  75. data/spec/fixtures/meeting/create.json +31 -16
  76. data/spec/fixtures/meeting/get.json +43 -33
  77. data/spec/fixtures/meeting/invitation.json +3 -0
  78. data/spec/fixtures/meeting/live_stream/errors/meeting_not_found.json +4 -0
  79. data/spec/fixtures/meeting/live_stream/errors/missing_field.json +10 -0
  80. data/spec/fixtures/{recording_get.json → recording/get.json} +17 -6
  81. data/spec/fixtures/recording/list.json +53 -0
  82. data/spec/fixtures/recording/settings/get.json +7 -0
  83. data/spec/fixtures/report/meeting.json +19 -0
  84. data/spec/fixtures/report/meeting/participants.json +17 -0
  85. data/spec/fixtures/roles/assign.json +4 -0
  86. data/spec/fixtures/roles/create.json +9 -0
  87. data/spec/fixtures/roles/get.json +11 -0
  88. data/spec/fixtures/roles/list.json +29 -0
  89. data/spec/fixtures/roles/members.json +15 -0
  90. data/spec/fixtures/sip_audio/sip_trunks_get.json +19 -0
  91. data/spec/fixtures/sip_audio/sip_trunks_internal_callout_countries_add.json +10 -0
  92. data/spec/fixtures/sip_audio/sip_trunks_internal_callout_country_list.json +15 -0
  93. data/spec/fixtures/sip_audio/sip_trunks_internal_numbers_add.json +14 -0
  94. data/spec/fixtures/sip_audio/sip_trunks_internal_numbers_list.json +16 -0
  95. data/spec/fixtures/sip_audio/sip_trunks_numbers_assign.json +7 -0
  96. data/spec/fixtures/sip_audio/sip_trunks_numbers_list.json +9 -0
  97. data/spec/fixtures/token/access_token.json +7 -0
  98. data/spec/fixtures/token/data_compliance.json +8 -0
  99. data/spec/fixtures/token/refresh_token.json +7 -0
  100. data/spec/fixtures/user/assistant/create.json +4 -0
  101. data/spec/fixtures/user/assistant/list.json +8 -0
  102. data/spec/fixtures/user/email_check.json +3 -0
  103. data/spec/fixtures/user/get.json +35 -21
  104. data/spec/fixtures/user/list.json +17 -13
  105. data/spec/fixtures/user/permissions.json +65 -0
  106. data/spec/fixtures/user/recording/list.json +50 -0
  107. data/spec/fixtures/user/scheduler/list.json +12 -0
  108. data/spec/fixtures/user/token.json +3 -0
  109. data/spec/{lib/zoom/actions/report/telephone_report_spec.rb → fixtures/user/update_password.json} +0 -0
  110. data/spec/fixtures/user/vanity_name.json +3 -0
  111. data/spec/fixtures/webinar/panelist_list.json +12 -0
  112. data/spec/fixtures/webinar/poll_get.json +13 -0
  113. data/spec/fixtures/webinar/polls_list.json +16 -0
  114. data/spec/lib/zoom/actions/account/create_spec.rb +68 -0
  115. data/spec/lib/zoom/actions/account/delete_spec.rb +44 -0
  116. data/spec/lib/zoom/actions/account/get_locked_settings_spec.rb +43 -0
  117. data/spec/lib/zoom/actions/account/get_spec.rb +43 -0
  118. data/spec/lib/zoom/actions/account/managed_domains_spec.rb +43 -0
  119. data/spec/lib/zoom/actions/account/options_update_spec.rb +58 -0
  120. data/spec/lib/zoom/actions/account/settings_get_spec.rb +5 -5
  121. data/spec/lib/zoom/actions/account/settings_update_spec.rb +55 -0
  122. data/spec/lib/zoom/actions/account/trusted_domains_spec.rb +43 -0
  123. data/spec/lib/zoom/actions/billing/get_spec.rb +48 -0
  124. data/spec/lib/zoom/actions/billing/plans_list_spec.rb +48 -0
  125. data/spec/lib/zoom/actions/billing/plans_subscribe_spec.rb +69 -0
  126. data/spec/lib/zoom/actions/billing/plans_usage_spec.rb +48 -0
  127. data/spec/lib/zoom/actions/billing/update_spec.rb +64 -0
  128. data/spec/lib/zoom/actions/dashboard/crc_spec.rb +33 -0
  129. data/spec/lib/zoom/actions/dashboard/meeting_details_spec.rb +62 -0
  130. data/spec/lib/zoom/actions/dashboard/meeting_participants_spec.rb +74 -0
  131. data/spec/lib/zoom/actions/dashboard/meetings_spec.rb +63 -0
  132. data/spec/lib/zoom/actions/{group → groups}/create_spec.rb +0 -0
  133. data/spec/lib/zoom/actions/{group → groups}/delete_spec.rb +0 -0
  134. data/spec/lib/zoom/actions/{group → groups}/edit_spec.rb +0 -0
  135. data/spec/lib/zoom/actions/groups/get_spec.rb +62 -0
  136. data/spec/lib/zoom/actions/groups/list_spec.rb +47 -0
  137. data/spec/lib/zoom/actions/{group → groups}/member/add_spec.rb +0 -0
  138. data/spec/lib/zoom/actions/{group → groups}/member/delete_spec.rb +0 -0
  139. data/spec/lib/zoom/actions/{group → groups/member}/list_spec.rb +0 -0
  140. data/spec/lib/zoom/actions/im/chat/channels/get_spec.rb +64 -0
  141. data/spec/lib/zoom/actions/im/chat/users/channels/get_spec.rb +45 -0
  142. data/spec/lib/zoom/actions/meeting/add_registrant_spec.rb +30 -0
  143. data/spec/lib/zoom/actions/meeting/create_spec.rb +13 -13
  144. data/spec/lib/zoom/actions/meeting/delete_spec.rb +17 -34
  145. data/spec/lib/zoom/actions/meeting/get_spec.rb +21 -31
  146. data/spec/lib/zoom/actions/meeting/invitation_spec.rb +48 -0
  147. data/spec/lib/zoom/actions/meeting/livestream_spec.rb +61 -0
  148. data/spec/lib/zoom/actions/meeting/update_spec.rb +48 -42
  149. data/spec/lib/zoom/actions/recording/file_delete_spec.rb +33 -0
  150. data/spec/lib/zoom/actions/recording/get_spec.rb +19 -35
  151. data/spec/lib/zoom/actions/recording/list_spec.rb +20 -26
  152. data/spec/lib/zoom/actions/recording/settings/get_spec.rb +42 -0
  153. data/spec/lib/zoom/actions/recording/settings/update_spec.rb +32 -0
  154. data/spec/lib/zoom/actions/report/meeting_details_report_spec.rb +44 -0
  155. data/spec/lib/zoom/actions/report/meeting_participants_report_spec.rb +44 -0
  156. data/spec/lib/zoom/actions/roles/assign_spec.rb +25 -0
  157. data/spec/lib/zoom/actions/roles/create_spec.rb +55 -0
  158. data/spec/lib/zoom/actions/roles/get_spec.rb +37 -0
  159. data/spec/lib/zoom/actions/roles/list_spec.rb +28 -0
  160. data/spec/lib/zoom/actions/roles/members_spec.rb +35 -0
  161. data/spec/lib/zoom/actions/roles/unassign_spec.rb +34 -0
  162. data/spec/lib/zoom/actions/sip_audio/add_trunks_internal_callout_countries_spec.rb +25 -0
  163. data/spec/lib/zoom/actions/sip_audio/add_trunks_internal_numbers_spec.rb +25 -0
  164. data/spec/lib/zoom/actions/sip_audio/assign_numbers_spec.rb +29 -0
  165. data/spec/lib/zoom/actions/sip_audio/delete_internal_callout_countries_spec.rb +44 -0
  166. data/spec/lib/zoom/actions/sip_audio/delete_trunk_internal_numbers_spec.rb +44 -0
  167. data/spec/lib/zoom/actions/sip_audio/delete_trunk_numbers_spec.rb +44 -0
  168. data/spec/lib/zoom/actions/sip_audio/delete_trunks_spec.rb +44 -0
  169. data/spec/lib/zoom/actions/sip_audio/get_trunks_spec.rb +50 -0
  170. data/spec/lib/zoom/actions/sip_audio/list_trunk_numbers_spec.rb +46 -0
  171. data/spec/lib/zoom/actions/sip_audio/list_trunks_internal_callout_country_spec.rb +53 -0
  172. data/spec/lib/zoom/actions/sip_audio/list_trunks_internal_numbers_spec.rb +53 -0
  173. data/spec/lib/zoom/actions/token/access_token_spec.rb +26 -0
  174. data/spec/lib/zoom/actions/token/data_compliance_spec.rb +41 -0
  175. data/spec/lib/zoom/actions/token/refresh_token_spec.rb +26 -0
  176. data/spec/lib/zoom/actions/user/assistant/create_spec.rb +59 -0
  177. data/spec/lib/zoom/actions/user/assistant/delete_all_spec.rb +44 -0
  178. data/spec/lib/zoom/actions/user/assistant/delete_spec.rb +48 -1
  179. data/spec/lib/zoom/actions/user/assistant/list_spec.rb +53 -0
  180. data/spec/lib/zoom/actions/user/email_check_spec.rb +43 -0
  181. data/spec/lib/zoom/actions/user/get_spec.rb +10 -1
  182. data/spec/lib/zoom/actions/user/list_recordings_spec.rb +57 -0
  183. data/spec/lib/zoom/actions/user/list_spec.rb +32 -1
  184. data/spec/lib/zoom/actions/user/permissions_spec.rb +52 -0
  185. data/spec/lib/zoom/actions/user/scheduler/delete_all_spec.rb +44 -0
  186. data/spec/lib/zoom/actions/user/scheduler/delete_spec.rb +50 -0
  187. data/spec/lib/zoom/actions/user/scheduler/list_spec.rb +53 -0
  188. data/spec/lib/zoom/actions/user/settings_update_spec.rb +50 -0
  189. data/spec/lib/zoom/actions/user/token_spec.rb +61 -0
  190. data/spec/lib/zoom/actions/user/update_password_spec.rb +29 -0
  191. data/spec/lib/zoom/actions/user/vanity_name_spec.rb +51 -0
  192. data/spec/lib/zoom/actions/webinar/panelist_list_spec.rb +44 -0
  193. data/spec/lib/zoom/actions/webinar/poll_get_spec.rb +47 -0
  194. data/spec/lib/zoom/actions/webinar/polls_list_spec.rb +44 -0
  195. data/spec/lib/zoom/client_spec.rb +48 -1
  196. data/spec/lib/zoom/params_spec.rb +23 -3
  197. data/spec/lib/zoom/utils_spec.rb +12 -7
  198. data/spec/spec_helper.rb +15 -2
  199. data/zoom_rb.gemspec +1 -1
  200. metadata +295 -108
  201. data/lib/zoom/actions/group.rb +0 -8
  202. data/lib/zoom/actions/metrics.rb +0 -27
  203. data/lib/zoom/constants.rb +0 -103
  204. data/spec/fixtures/meeting/delete.json +0 -4
  205. data/spec/fixtures/meeting/end.json +0 -4
  206. data/spec/fixtures/meeting/live.json +0 -32
  207. data/spec/fixtures/meeting/register.json +0 -7
  208. data/spec/fixtures/meeting/update.json +0 -4
  209. data/spec/fixtures/metrics_crc.json +0 -105
  210. data/spec/fixtures/metrics_meetingdetail.json +0 -32
  211. data/spec/fixtures/recording_delete.json +0 -4
  212. data/spec/fixtures/recording_list.json +0 -51
  213. data/spec/fixtures/user/assistant/delete.json +0 -5
  214. data/spec/lib/zoom/actions/group/get_spec.rb +0 -3
  215. data/spec/lib/zoom/actions/group/member/list_spec.rb +0 -3
  216. data/spec/lib/zoom/actions/meeting/end_spec.rb +0 -55
  217. data/spec/lib/zoom/actions/meeting/live_spec.rb +0 -43
  218. data/spec/lib/zoom/actions/meeting/register_spec.rb +0 -45
  219. data/spec/lib/zoom/actions/metrics/crc_spec.rb +0 -48
  220. data/spec/lib/zoom/actions/metrics/im_spec.rb +0 -3
  221. data/spec/lib/zoom/actions/metrics/meetingdetail_spec.rb +0 -51
  222. data/spec/lib/zoom/actions/metrics/meetings_spec.rb +0 -61
  223. data/spec/lib/zoom/actions/metrics/qos_spec.rb +0 -3
  224. data/spec/lib/zoom/actions/metrics/webinardetail_spec.rb +0 -3
  225. data/spec/lib/zoom/actions/metrics/webinars_spec.rb +0 -3
  226. data/spec/lib/zoom/actions/metrics/zoomroomdetail_spec.rb +0 -3
  227. data/spec/lib/zoom/actions/metrics/zoomrooms_spec.rb +0 -3
  228. data/spec/lib/zoom/actions/recording/delete_spec.rb +0 -52
  229. data/spec/lib/zoom/actions/recording/mc_list_spec.rb +0 -51
  230. data/spec/lib/zoom/actions/report/webinar_details_report_spec.rb +0 -0
  231. data/spec/lib/zoom/actions/report/webinar_polls_report_spec.rb +0 -0
  232. data/spec/lib/zoom/actions/report/webinar_qa_report_spec.rb +0 -0
  233. data/spec/lib/zoom/actions/user/activate_spec.rb +0 -3
  234. data/spec/lib/zoom/actions/user/checkemail_spec.rb +0 -3
  235. data/spec/lib/zoom/actions/user/checkzpk_spec.rb +0 -3
  236. data/spec/lib/zoom/actions/user/deactivate_spec.rb +0 -3
  237. data/spec/lib/zoom/actions/user/revoketoken_spec.rb +0 -3
  238. data/spec/lib/zoom/actions/user/updatepassword_spec.rb +0 -3
  239. data/spec/lib/zoom/actions/webinar/panelists_spec.rb +0 -3
  240. data/spec/lib/zoom/actions/webinar/polls_spec.rb +0 -3
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { webinar_id: 'foo', poll_id: 'bar' } }
8
+
9
+ describe '#webinar_poll_get' do
10
+ context 'with a valid response' do
11
+ before :each do
12
+ stub_request(
13
+ :get,
14
+ zoom_url("/webinars/#{args[:webinar_id]}/polls/#{args[:poll_id]}")
15
+ ).to_return(status: :ok,
16
+ body: json_response('webinar', 'poll_get'),
17
+ headers: { 'Content-Type' => 'application/json' })
18
+ end
19
+
20
+ it "requires a 'webinar_id' argument" do
21
+ expect { zc.webinar_poll_get(filter_key(args, :webinar_id)) }.to raise_error(Zoom::ParameterMissing, [:webinar_id].to_s)
22
+ end
23
+
24
+ it "requires a 'poll_id' argument" do
25
+ expect { zc.webinar_poll_get(filter_key(args, :poll_id)) }.to raise_error(Zoom::ParameterMissing, [:poll_id].to_s)
26
+ end
27
+
28
+ it 'returns a hash' do
29
+ expect(zc.webinar_poll_get(args)).to be_a(Hash)
30
+ end
31
+ end
32
+
33
+ context 'with a 4xx response' do
34
+ before :each do
35
+ stub_request(
36
+ :get,
37
+ zoom_url("/webinars/#{args[:webinar_id]}/polls/#{args[:poll_id]}")
38
+ ).to_return(body: json_response('error', 'validation'),
39
+ headers: { 'Content-Type' => 'application/json' })
40
+ end
41
+
42
+ it 'raises Zoom::Error exception' do
43
+ expect { zc.webinar_poll_get(args) }.to raise_error(Zoom::Error)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Webinar do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { webinar_id: '123456789' } }
8
+
9
+ describe '#webinar_polls_list' do
10
+ context 'with a valid response' do
11
+ before :each do
12
+ stub_request(
13
+ :get,
14
+ zoom_url("/webinars/#{args[:webinar_id]}/polls")
15
+ ).to_return(status: :ok,
16
+ body: json_response('webinar', 'polls_list'),
17
+ headers: { 'Content-Type' => 'application/json' })
18
+ end
19
+
20
+ it "requires a 'webinar_id' argument" do
21
+ expect { zc.webinar_polls_list(filter_key(args, :webinar_id)) }.to raise_error(Zoom::ParameterMissing, [:webinar_id].to_s)
22
+ end
23
+
24
+ it 'returns the http status code as a number' do
25
+ expect(zc.webinar_polls_list(args)['polls']).to be_an(Array)
26
+ end
27
+ end
28
+
29
+ context 'with a 4xx response' do
30
+ before :each do
31
+ stub_request(
32
+ :get,
33
+ zoom_url("/webinars/#{args[:webinar_id]}/polls")
34
+ ).to_return(status: 404,
35
+ body: json_response('error', 'not_found'),
36
+ headers: { 'Content-Type' => 'application/json' })
37
+ end
38
+
39
+ it 'raises an error' do
40
+ expect { zc.webinar_polls_list(args) }.to raise_error(Zoom::Error)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -21,6 +21,7 @@ describe Zoom::Client do
21
21
  end
22
22
  Zoom.new
23
23
  expect(Zoom::Client::JWT.default_options[:timeout]).to eq(15)
24
+ Zoom.configuration = nil
24
25
  end
25
26
 
26
27
  it 'must get the timeout from the configuration' do
@@ -31,6 +32,7 @@ describe Zoom::Client do
31
32
  end
32
33
  Zoom.new
33
34
  expect(Zoom::Client::JWT.default_options[:timeout]).to eq(20)
35
+ Zoom.configuration = nil
34
36
  end
35
37
  end
36
38
 
@@ -57,14 +59,27 @@ describe Zoom::Client do
57
59
 
58
60
  describe 'OAuth client' do
59
61
  let(:access_token) {'xxx'}
62
+ let(:refresh_token) {'xxx'}
63
+ let(:auth_token) {'xxx'}
60
64
  let(:client) {
61
65
  Zoom::Client::OAuth.new(access_token: access_token, timeout: 30)
62
66
  }
63
- it 'requires an access token' do
67
+ it 'raises an error if there is no token' do
64
68
  expect { Zoom::Client::OAuth.new(timeout: 30) }.to raise_error(Zoom::ParameterMissing)
69
+ end
70
+
71
+ it 'raises an error if there is no complete auth token, auth code and redirect_uri' do
72
+ expect { Zoom::Client::OAuth.new(auth_token: 'xxx', auth_code: 'xxx', redirect_uri: 'xxx') }.not_to raise_error
73
+ end
74
+
75
+ it 'requires atleast an access token' do
65
76
  expect { Zoom::Client::OAuth.new(access_token: access_token) }.not_to raise_error
66
77
  end
67
78
 
79
+ it 'requires atleast a refresh token' do
80
+ expect { Zoom::Client::OAuth.new(refresh_token: refresh_token) }.not_to raise_error
81
+ end
82
+
68
83
  it 'creates instance of Zoom::Client if api_key and api_secret is provided' do
69
84
  expect(client).to be_kind_of(Zoom::Client)
70
85
  end
@@ -72,5 +87,37 @@ describe Zoom::Client do
72
87
  it 'has the bearer token in the auth header' do
73
88
  expect(client.request_headers['Authorization']).to eq("Bearer #{access_token}")
74
89
  end
90
+
91
+ describe 'set_tokens' do
92
+ let(:zc) { oauth_client }
93
+ let(:args) { { auth_code: 'xxx', redirect_uri: 'http://localhost:3000' } }
94
+
95
+ before :each do
96
+ Zoom.configure do |config|
97
+ config.api_key = 'xxx'
98
+ config.api_secret = 'xxx'
99
+ config.timeout = 20
100
+ end
101
+
102
+ stub_request(
103
+ :post,
104
+ zoom_auth_url('oauth/token')
105
+ ).to_return(body: json_response('token', 'access_token'),
106
+ headers: { 'Content-Type' => 'application/json' })
107
+ end
108
+
109
+ it 'sets the refresh_token, access_token, expires_in and expires_at' do
110
+ expected_values = JSON.parse(json_response('token', 'access_token'))
111
+ zc.auth
112
+ expect(zc.access_token).to eq(expected_values['access_token'])
113
+ expect(zc.refresh_token).to eq(expected_values['refresh_token'])
114
+ expect(zc.expires_in).to eq(expected_values['expires_in'])
115
+ expect(zc.expires_at).to eq((Time.now + expected_values['expires_in']).to_i)
116
+ end
117
+
118
+ it 'has the basic auth authorization header' do
119
+ expect(zc.oauth_request_headers['Authorization']).to eq("Basic eHh4Onh4eA==")
120
+ end
121
+ end
75
122
  end
76
123
  end
@@ -8,7 +8,7 @@ RSpec.describe Zoom::Params do
8
8
  let(:params) { Zoom::Params.new(foo: :bar, baz: :bang) }
9
9
 
10
10
  it 'does not raise an error when required keys are present' do
11
- expect { params.require(:foo) }.not_to raise_error(Zoom::ParameterMissing)
11
+ expect { params.require(:foo) }.not_to raise_error
12
12
  end
13
13
 
14
14
  it 'does raise an error when required keys are missing' do
@@ -20,15 +20,35 @@ RSpec.describe Zoom::Params do
20
20
  end
21
21
  end
22
22
 
23
+ describe '#require_one_of' do
24
+ let(:params) { Zoom::Params.new(foo: :bar, baz: :bang) }
25
+
26
+ it 'does raise an error when required keys are missing' do
27
+ expect { params.require_one_of(:bar) }.to raise_error(Zoom::ParameterMissing, [:bar].to_s)
28
+ end
29
+
30
+ it 'does raise an error when there is a missing required keys out of many' do
31
+ expect { params.require_one_of(:bar, :fooey, :fooa) }.to raise_error(Zoom::ParameterMissing, "You are missing atleast one of #{[:bar, :fooey, :fooa].to_s}")
32
+ end
33
+
34
+ it 'does not raise an error when one of the required keys are missing' do
35
+ expect { params.require_one_of(:foo) }.not_to raise_error
36
+ end
37
+
38
+ it 'does not raise an error when one of the required keys are missing' do
39
+ expect { params.require_one_of(:foo, :bebop) }.not_to raise_error
40
+ end
41
+ end
42
+
23
43
  describe '#permit' do
24
44
  let(:params) { Zoom::Params.new(foo: true, bar: :baz ) }
25
45
 
26
46
  it 'does not raise an error when permitted keys are present' do
27
- expect { params.require(:foo).permit(:bar) }.not_to raise_error(Zoom::ParameterNotPermitted)
47
+ expect { params.require(:foo).permit(:bar) }.not_to raise_error
28
48
  end
29
49
 
30
50
  it 'does not raise an error when permitted keys are not present' do
31
- expect { params.require(:foo).permit(:bar, :bang) }.not_to raise_error(Zoom::ParameterNotPermitted)
51
+ expect { params.require(:foo).permit(:bar, :bang) }.not_to raise_error
32
52
  end
33
53
 
34
54
  context 'raises an error' do
@@ -2,21 +2,26 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- xdescribe Zoom::Utils do
5
+ describe Zoom::Utils do
6
6
 
7
7
  before(:all) do
8
8
  class Utils < Zoom::Utils; end
9
9
  end
10
10
 
11
- xdescribe '#argument_error' do
11
+ describe '#argument_error' do
12
12
  it 'raises ArgumentError' do
13
13
  expect(Utils.argument_error('foo')).to be_instance_of(ArgumentError)
14
14
  end
15
15
  end
16
16
 
17
- xdescribe '#raise_if_error!' do
18
- it 'raises Zoom::Error if error is present' do
19
- response = { 'error' => { 'message' => 'lol error' } }
17
+ describe '#raise_if_error!' do
18
+ it 'raises Zoom::AuthenticationError if error is present and code = 124' do
19
+ response = { 'code' => 124, 'message' => 'Invalid access token.' }
20
+ expect { Utils.raise_if_error!(response) }.to raise_error(Zoom::AuthenticationError)
21
+ end
22
+
23
+ it 'raises Zoom::Error if error is present and code >= 300' do
24
+ response = { 'code' => 400, 'message' => 'lol error' }
20
25
  expect { Utils.raise_if_error!(response) }.to raise_error(Zoom::Error)
21
26
  end
22
27
 
@@ -26,14 +31,14 @@ xdescribe Zoom::Utils do
26
31
  end
27
32
  end
28
33
 
29
- xdescribe '#extract_options!' do
34
+ describe '#extract_options!' do
30
35
  it 'converts array to hash options' do
31
36
  args = [{ foo: 'foo' }, { bar: 'bar' }, { zemba: 'zemba' }]
32
37
  expect(Utils.extract_options!(args)).to be_kind_of(Hash)
33
38
  end
34
39
  end
35
40
 
36
- xdescribe '#process_datetime_params' do
41
+ describe '#process_datetime_params' do
37
42
  it 'converts the Time objects to formatted strings' do
38
43
  args = {
39
44
  foo: 'foo',
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ SimpleCov.start
5
5
 
6
6
  require 'rubygems'
7
7
  require 'bundler/setup'
8
- require 'zoom'
8
+ require 'zoom_rb'
9
9
  require 'webmock/rspec'
10
10
 
11
11
  RSpec.configure do |config|
@@ -20,16 +20,29 @@ def json_response(*path, endpoint)
20
20
  open(fixture(path, endpoint + '.json')).read
21
21
  end
22
22
 
23
+ def request_headers
24
+ {
25
+ 'Accept' => 'application/json',
26
+ 'Content-Type' => 'application/json',
27
+ 'Authorization' => /Bearer .+/
28
+ }
29
+ end
30
+
23
31
  def zoom_url(url)
24
32
  /https:\/\/api.zoom.us\/v2#{url}.*/
25
33
  end
26
34
 
35
+ #OAuth endpoints have a different base_uri
36
+ def zoom_auth_url(url)
37
+ /https:\/\/zoom.us\/#{url}.*/
38
+ end
39
+
27
40
  def jwt_client
28
41
  Zoom.new
29
42
  end
30
43
 
31
44
  def oauth_client
32
- Zoom::Client::OAuth.new(access_token: 'xxx', timeout: 15)
45
+ Zoom::Client::OAuth.new(auth_token: 'xxx', auth_code: 'xxx', redirect_uri: 'xxx', timeout: 15)
33
46
  end
34
47
 
35
48
  def zoom_client
data/zoom_rb.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
  gem.add_dependency 'json', '>= 1.8'
11
11
  gem.add_dependency 'jwt'
12
12
 
13
- gem.add_development_dependency 'pry', '~> 0'
13
+ gem.add_development_dependency 'pry-byebug'
14
14
  gem.add_development_dependency 'hint-rubocop_style', '~> 0'
15
15
  gem.add_development_dependency 'rspec', '~> 3.8'
16
16
  gem.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoom_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -53,17 +53,17 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pry
56
+ name: pry-byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
@@ -145,77 +145,150 @@ extra_rdoc_files: []
145
145
  files:
146
146
  - ".circleci/config.yml"
147
147
  - ".gitignore"
148
+ - CHANGELOG.md
148
149
  - Gemfile
149
150
  - Gemfile.lock
150
151
  - LICENSE
151
152
  - Makefile
152
153
  - README.md
153
- - lib/zoom.rb
154
154
  - lib/zoom/actions/account.rb
155
- - lib/zoom/actions/group.rb
155
+ - lib/zoom/actions/billing.rb
156
+ - lib/zoom/actions/dashboard.rb
157
+ - lib/zoom/actions/groups.rb
156
158
  - lib/zoom/actions/im/chat.rb
157
159
  - lib/zoom/actions/im/group.rb
158
160
  - lib/zoom/actions/m323_device.rb
159
161
  - lib/zoom/actions/meeting.rb
160
- - lib/zoom/actions/metrics.rb
162
+ - lib/zoom/actions/phone.rb
161
163
  - lib/zoom/actions/recording.rb
162
164
  - lib/zoom/actions/report.rb
165
+ - lib/zoom/actions/roles.rb
166
+ - lib/zoom/actions/sip_audio.rb
167
+ - lib/zoom/actions/token.rb
163
168
  - lib/zoom/actions/user.rb
164
169
  - lib/zoom/actions/webinar.rb
165
170
  - lib/zoom/client.rb
166
171
  - lib/zoom/clients/jwt.rb
167
172
  - lib/zoom/clients/oauth.rb
168
- - lib/zoom/constants.rb
173
+ - lib/zoom/constants/account/options/pay_modes.rb
174
+ - lib/zoom/constants/account/settings/permitted_settings.rb
175
+ - lib/zoom/constants/constants.rb
176
+ - lib/zoom/constants/meeting/approval_types.rb
177
+ - lib/zoom/constants/meeting/audio_type.rb
178
+ - lib/zoom/constants/meeting/auto_recording.rb
179
+ - lib/zoom/constants/meeting/registration_types.rb
180
+ - lib/zoom/constants/meeting/types.rb
181
+ - lib/zoom/constants/recurrence/monthly_weeks.rb
182
+ - lib/zoom/constants/recurrence/types.rb
183
+ - lib/zoom/constants/recurrence/weekly_days.rb
184
+ - lib/zoom/constants/user/create_types.rb
185
+ - lib/zoom/constants/user/types.rb
186
+ - lib/zoom/constants/webinar/approval_types.rb
187
+ - lib/zoom/constants/webinar/audio_type.rb
188
+ - lib/zoom/constants/webinar/auto_recording.rb
189
+ - lib/zoom/constants/webinar/registration_types.rb
190
+ - lib/zoom/constants/webinar/types.rb
169
191
  - lib/zoom/error.rb
170
192
  - lib/zoom/interface.rb
171
193
  - lib/zoom/params.rb
172
194
  - lib/zoom/utils.rb
173
195
  - lib/zoom/version.rb
196
+ - lib/zoom_rb.rb
197
+ - spec/fixtures/account/create.json
198
+ - spec/fixtures/account/delete.json
199
+ - spec/fixtures/account/get.json
174
200
  - spec/fixtures/account/list.json
201
+ - spec/fixtures/account/managed_domains.json
202
+ - spec/fixtures/account/options_update.json
175
203
  - spec/fixtures/account/settings_get.json
204
+ - spec/fixtures/account/settings_update.json
205
+ - spec/fixtures/account/trusted_domains.json
206
+ - spec/fixtures/billing/get.json
207
+ - spec/fixtures/billing/plans_list.json
208
+ - spec/fixtures/billing/plans_subscribe.json
209
+ - spec/fixtures/billing/plans_usage.json
210
+ - spec/fixtures/billing/update.json
211
+ - spec/fixtures/chat/channels/get.json
176
212
  - spec/fixtures/chat/get.json
177
213
  - spec/fixtures/chat/list.json
214
+ - spec/fixtures/chat/users/channels/list.json
215
+ - spec/fixtures/dashboard/crc.json
216
+ - spec/fixtures/dashboard/meeting/detail.json
217
+ - spec/fixtures/dashboard/meeting/participants.json
218
+ - spec/fixtures/dashboard/meetings.json
178
219
  - spec/fixtures/error/already_exists.json
220
+ - spec/fixtures/error/channel_not_found.json
221
+ - spec/fixtures/error/group_does_not_exist.json
222
+ - spec/fixtures/error/group_not_belong_to_account.json
223
+ - spec/fixtures/error/meeting_not_exist.json
224
+ - spec/fixtures/error/next_page_token_invalid.json
179
225
  - spec/fixtures/error/not_found.json
226
+ - spec/fixtures/error/unauthorized_request.json
180
227
  - spec/fixtures/error/user_not_exist.json
181
228
  - spec/fixtures/error/validation.json
229
+ - spec/fixtures/groups/get.json
230
+ - spec/fixtures/groups/list.json
182
231
  - spec/fixtures/mc_recording_list.json
232
+ - spec/fixtures/meeting/add_registrant.json
183
233
  - spec/fixtures/meeting/create.json
184
- - spec/fixtures/meeting/delete.json
185
- - spec/fixtures/meeting/end.json
186
234
  - spec/fixtures/meeting/get.json
235
+ - spec/fixtures/meeting/invitation.json
187
236
  - spec/fixtures/meeting/list.json
188
- - spec/fixtures/meeting/live.json
189
- - spec/fixtures/meeting/register.json
190
- - spec/fixtures/meeting/update.json
191
- - spec/fixtures/metrics_crc.json
192
- - spec/fixtures/metrics_meetingdetail.json
193
- - spec/fixtures/metrics_meetings.json
194
- - spec/fixtures/recording_delete.json
195
- - spec/fixtures/recording_get.json
196
- - spec/fixtures/recording_list.json
237
+ - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
238
+ - spec/fixtures/meeting/live_stream/errors/missing_field.json
239
+ - spec/fixtures/recording/get.json
240
+ - spec/fixtures/recording/list.json
241
+ - spec/fixtures/recording/settings/get.json
242
+ - spec/fixtures/report/meeting.json
243
+ - spec/fixtures/report/meeting/participants.json
197
244
  - spec/fixtures/report/webinar/participants.json
198
245
  - spec/fixtures/report_getaccountreport.json
199
246
  - spec/fixtures/report_getdailyreport.json
200
247
  - spec/fixtures/report_getuserreport.json
201
- - spec/fixtures/user/assistant/delete.json
248
+ - spec/fixtures/roles/assign.json
249
+ - spec/fixtures/roles/create.json
250
+ - spec/fixtures/roles/get.json
251
+ - spec/fixtures/roles/list.json
252
+ - spec/fixtures/roles/members.json
253
+ - spec/fixtures/sip_audio/sip_trunks_get.json
254
+ - spec/fixtures/sip_audio/sip_trunks_internal_callout_countries_add.json
255
+ - spec/fixtures/sip_audio/sip_trunks_internal_callout_country_list.json
256
+ - spec/fixtures/sip_audio/sip_trunks_internal_numbers_add.json
257
+ - spec/fixtures/sip_audio/sip_trunks_internal_numbers_list.json
258
+ - spec/fixtures/sip_audio/sip_trunks_numbers_assign.json
259
+ - spec/fixtures/sip_audio/sip_trunks_numbers_list.json
260
+ - spec/fixtures/token/access_token.json
261
+ - spec/fixtures/token/data_compliance.json
262
+ - spec/fixtures/token/refresh_token.json
263
+ - spec/fixtures/user/assistant/create.json
264
+ - spec/fixtures/user/assistant/list.json
202
265
  - spec/fixtures/user/assistant/set.json
203
266
  - spec/fixtures/user/autocreate.json
204
267
  - spec/fixtures/user/autocreate2.json
205
268
  - spec/fixtures/user/create.json
206
269
  - spec/fixtures/user/custcreate.json
207
270
  - spec/fixtures/user/delete.json
271
+ - spec/fixtures/user/email_check.json
208
272
  - spec/fixtures/user/get.json
209
273
  - spec/fixtures/user/getbyemail.json
210
274
  - spec/fixtures/user/list.json
211
275
  - spec/fixtures/user/pending.json
212
276
  - spec/fixtures/user/permanent_delete.json
277
+ - spec/fixtures/user/permissions.json
278
+ - spec/fixtures/user/recording/list.json
279
+ - spec/fixtures/user/scheduler/list.json
213
280
  - spec/fixtures/user/settings_get.json
281
+ - spec/fixtures/user/token.json
214
282
  - spec/fixtures/user/update.json
283
+ - spec/fixtures/user/update_password.json
284
+ - spec/fixtures/user/vanity_name.json
215
285
  - spec/fixtures/webinar/create.json
216
286
  - spec/fixtures/webinar/delete.json
217
287
  - spec/fixtures/webinar/list.json
288
+ - spec/fixtures/webinar/panelist_list.json
218
289
  - spec/fixtures/webinar/past_webinar_list.json
290
+ - spec/fixtures/webinar/poll_get.json
291
+ - spec/fixtures/webinar/polls_list.json
219
292
  - spec/fixtures/webinar/registrant/add.json
220
293
  - spec/fixtures/webinar/registrant/get.json
221
294
  - spec/fixtures/webinar/registrant/list.json
@@ -224,18 +297,37 @@ files:
224
297
  - spec/fixtures/webinar_end.json
225
298
  - spec/fixtures/webinar_get.json
226
299
  - spec/fixtures/webinar_update.json
300
+ - spec/lib/zoom/actions/account/create_spec.rb
301
+ - spec/lib/zoom/actions/account/delete_spec.rb
302
+ - spec/lib/zoom/actions/account/get_locked_settings_spec.rb
303
+ - spec/lib/zoom/actions/account/get_spec.rb
227
304
  - spec/lib/zoom/actions/account/list_spec.rb
305
+ - spec/lib/zoom/actions/account/managed_domains_spec.rb
306
+ - spec/lib/zoom/actions/account/options_update_spec.rb
228
307
  - spec/lib/zoom/actions/account/settings_get_spec.rb
229
- - spec/lib/zoom/actions/group/create_spec.rb
230
- - spec/lib/zoom/actions/group/delete_spec.rb
231
- - spec/lib/zoom/actions/group/edit_spec.rb
232
- - spec/lib/zoom/actions/group/get_spec.rb
233
- - spec/lib/zoom/actions/group/list_spec.rb
234
- - spec/lib/zoom/actions/group/member/add_spec.rb
235
- - spec/lib/zoom/actions/group/member/delete_spec.rb
236
- - spec/lib/zoom/actions/group/member/list_spec.rb
308
+ - spec/lib/zoom/actions/account/settings_update_spec.rb
309
+ - spec/lib/zoom/actions/account/trusted_domains_spec.rb
310
+ - spec/lib/zoom/actions/billing/get_spec.rb
311
+ - spec/lib/zoom/actions/billing/plans_list_spec.rb
312
+ - spec/lib/zoom/actions/billing/plans_subscribe_spec.rb
313
+ - spec/lib/zoom/actions/billing/plans_usage_spec.rb
314
+ - spec/lib/zoom/actions/billing/update_spec.rb
315
+ - spec/lib/zoom/actions/dashboard/crc_spec.rb
316
+ - spec/lib/zoom/actions/dashboard/meeting_details_spec.rb
317
+ - spec/lib/zoom/actions/dashboard/meeting_participants_spec.rb
318
+ - spec/lib/zoom/actions/dashboard/meetings_spec.rb
319
+ - spec/lib/zoom/actions/groups/create_spec.rb
320
+ - spec/lib/zoom/actions/groups/delete_spec.rb
321
+ - spec/lib/zoom/actions/groups/edit_spec.rb
322
+ - spec/lib/zoom/actions/groups/get_spec.rb
323
+ - spec/lib/zoom/actions/groups/list_spec.rb
324
+ - spec/lib/zoom/actions/groups/member/add_spec.rb
325
+ - spec/lib/zoom/actions/groups/member/delete_spec.rb
326
+ - spec/lib/zoom/actions/groups/member/list_spec.rb
327
+ - spec/lib/zoom/actions/im/chat/channels/get_spec.rb
237
328
  - spec/lib/zoom/actions/im/chat/get_spec.rb
238
329
  - spec/lib/zoom/actions/im/chat/list_spec.rb
330
+ - spec/lib/zoom/actions/im/chat/users/channels/get_spec.rb
239
331
  - spec/lib/zoom/actions/im/group/create_spec.rb
240
332
  - spec/lib/zoom/actions/im/group/delete_spec.rb
241
333
  - spec/lib/zoom/actions/im/group/edit_spec.rb
@@ -257,56 +349,68 @@ files:
257
349
  - spec/lib/zoom/actions/ma/account/plan/get_spec.rb
258
350
  - spec/lib/zoom/actions/ma/account/plan/subscribe_spec.rb
259
351
  - spec/lib/zoom/actions/ma/account/plan/update_spec.rb
352
+ - spec/lib/zoom/actions/meeting/add_registrant_spec.rb
260
353
  - spec/lib/zoom/actions/meeting/create_spec.rb
261
354
  - spec/lib/zoom/actions/meeting/delete_spec.rb
262
- - spec/lib/zoom/actions/meeting/end_spec.rb
263
355
  - spec/lib/zoom/actions/meeting/get_spec.rb
356
+ - spec/lib/zoom/actions/meeting/invitation_spec.rb
264
357
  - spec/lib/zoom/actions/meeting/list_spec.rb
265
- - spec/lib/zoom/actions/meeting/live_spec.rb
266
- - spec/lib/zoom/actions/meeting/register_spec.rb
358
+ - spec/lib/zoom/actions/meeting/livestream_spec.rb
267
359
  - spec/lib/zoom/actions/meeting/update_spec.rb
268
- - spec/lib/zoom/actions/metrics/crc_spec.rb
269
- - spec/lib/zoom/actions/metrics/im_spec.rb
270
- - spec/lib/zoom/actions/metrics/meetingdetail_spec.rb
271
- - spec/lib/zoom/actions/metrics/meetings_spec.rb
272
- - spec/lib/zoom/actions/metrics/qos_spec.rb
273
- - spec/lib/zoom/actions/metrics/webinardetail_spec.rb
274
- - spec/lib/zoom/actions/metrics/webinars_spec.rb
275
- - spec/lib/zoom/actions/metrics/zoomroomdetail_spec.rb
276
- - spec/lib/zoom/actions/metrics/zoomrooms_spec.rb
277
- - spec/lib/zoom/actions/recording/delete_spec.rb
360
+ - spec/lib/zoom/actions/recording/file_delete_spec.rb
278
361
  - spec/lib/zoom/actions/recording/get_spec.rb
279
362
  - spec/lib/zoom/actions/recording/list_spec.rb
280
- - spec/lib/zoom/actions/recording/mc_list_spec.rb
363
+ - spec/lib/zoom/actions/recording/settings/get_spec.rb
364
+ - spec/lib/zoom/actions/recording/settings/update_spec.rb
281
365
  - spec/lib/zoom/actions/report/daily_report_spec.rb
282
- - spec/lib/zoom/actions/report/hosts_report_spec.rb
283
366
  - spec/lib/zoom/actions/report/meeting_details_report_spec.rb
284
367
  - spec/lib/zoom/actions/report/meeting_participants_report_spec.rb
285
- - spec/lib/zoom/actions/report/meeting_polls_report_spec.rb
286
- - spec/lib/zoom/actions/report/meetings_report_spec.rb
287
- - spec/lib/zoom/actions/report/telephone_report_spec.rb
288
- - spec/lib/zoom/actions/report/webinar_details_report_spec.rb
289
368
  - spec/lib/zoom/actions/report/webinar_participants_report_spec.rb
290
- - spec/lib/zoom/actions/report/webinar_polls_report_spec.rb
291
- - spec/lib/zoom/actions/report/webinar_qa_report_spec.rb
292
- - spec/lib/zoom/actions/user/activate_spec.rb
369
+ - spec/lib/zoom/actions/roles/assign_spec.rb
370
+ - spec/lib/zoom/actions/roles/create_spec.rb
371
+ - spec/lib/zoom/actions/roles/get_spec.rb
372
+ - spec/lib/zoom/actions/roles/list_spec.rb
373
+ - spec/lib/zoom/actions/roles/members_spec.rb
374
+ - spec/lib/zoom/actions/roles/unassign_spec.rb
375
+ - spec/lib/zoom/actions/sip_audio/add_trunks_internal_callout_countries_spec.rb
376
+ - spec/lib/zoom/actions/sip_audio/add_trunks_internal_numbers_spec.rb
377
+ - spec/lib/zoom/actions/sip_audio/assign_numbers_spec.rb
378
+ - spec/lib/zoom/actions/sip_audio/delete_internal_callout_countries_spec.rb
379
+ - spec/lib/zoom/actions/sip_audio/delete_trunk_internal_numbers_spec.rb
380
+ - spec/lib/zoom/actions/sip_audio/delete_trunk_numbers_spec.rb
381
+ - spec/lib/zoom/actions/sip_audio/delete_trunks_spec.rb
382
+ - spec/lib/zoom/actions/sip_audio/get_trunks_spec.rb
383
+ - spec/lib/zoom/actions/sip_audio/list_trunk_numbers_spec.rb
384
+ - spec/lib/zoom/actions/sip_audio/list_trunks_internal_callout_country_spec.rb
385
+ - spec/lib/zoom/actions/sip_audio/list_trunks_internal_numbers_spec.rb
386
+ - spec/lib/zoom/actions/token/access_token_spec.rb
387
+ - spec/lib/zoom/actions/token/data_compliance_spec.rb
388
+ - spec/lib/zoom/actions/token/refresh_token_spec.rb
389
+ - spec/lib/zoom/actions/user/assistant/create_spec.rb
390
+ - spec/lib/zoom/actions/user/assistant/delete_all_spec.rb
293
391
  - spec/lib/zoom/actions/user/assistant/delete_spec.rb
392
+ - spec/lib/zoom/actions/user/assistant/list_spec.rb
294
393
  - spec/lib/zoom/actions/user/assistant/set_spec.rb
295
394
  - spec/lib/zoom/actions/user/autocreate2_spec.rb
296
395
  - spec/lib/zoom/actions/user/autocreate_spec.rb
297
- - spec/lib/zoom/actions/user/checkemail_spec.rb
298
- - spec/lib/zoom/actions/user/checkzpk_spec.rb
299
396
  - spec/lib/zoom/actions/user/create_spec.rb
300
397
  - spec/lib/zoom/actions/user/custcreate_spec.rb
301
- - spec/lib/zoom/actions/user/deactivate_spec.rb
302
398
  - spec/lib/zoom/actions/user/delete_spec.rb
399
+ - spec/lib/zoom/actions/user/email_check_spec.rb
303
400
  - spec/lib/zoom/actions/user/get_spec.rb
304
401
  - spec/lib/zoom/actions/user/getbyemail_spec.rb
402
+ - spec/lib/zoom/actions/user/list_recordings_spec.rb
305
403
  - spec/lib/zoom/actions/user/list_spec.rb
306
- - spec/lib/zoom/actions/user/revoketoken_spec.rb
404
+ - spec/lib/zoom/actions/user/permissions_spec.rb
405
+ - spec/lib/zoom/actions/user/scheduler/delete_all_spec.rb
406
+ - spec/lib/zoom/actions/user/scheduler/delete_spec.rb
407
+ - spec/lib/zoom/actions/user/scheduler/list_spec.rb
307
408
  - spec/lib/zoom/actions/user/settings_get_spec.rb
409
+ - spec/lib/zoom/actions/user/settings_update_spec.rb
410
+ - spec/lib/zoom/actions/user/token_spec.rb
411
+ - spec/lib/zoom/actions/user/update_password_spec.rb
308
412
  - spec/lib/zoom/actions/user/update_spec.rb
309
- - spec/lib/zoom/actions/user/updatepassword_spec.rb
413
+ - spec/lib/zoom/actions/user/vanity_name_spec.rb
310
414
  - spec/lib/zoom/actions/webinar/attendees_list_spec.rb
311
415
  - spec/lib/zoom/actions/webinar/create_spec.rb
312
416
  - spec/lib/zoom/actions/webinar/delete_spec.rb
@@ -314,9 +418,10 @@ files:
314
418
  - spec/lib/zoom/actions/webinar/get_spec.rb
315
419
  - spec/lib/zoom/actions/webinar/list_registration_spec.rb
316
420
  - spec/lib/zoom/actions/webinar/list_spec.rb
317
- - spec/lib/zoom/actions/webinar/panelists_spec.rb
421
+ - spec/lib/zoom/actions/webinar/panelist_list_spec.rb
318
422
  - spec/lib/zoom/actions/webinar/past_webinar_list_spec.rb
319
- - spec/lib/zoom/actions/webinar/polls_spec.rb
423
+ - spec/lib/zoom/actions/webinar/poll_get_spec.rb
424
+ - spec/lib/zoom/actions/webinar/polls_list_spec.rb
320
425
  - spec/lib/zoom/actions/webinar/questions_spec.rb
321
426
  - spec/lib/zoom/actions/webinar/register_spec.rb
322
427
  - spec/lib/zoom/actions/webinar/registrants/add_spec.rb
@@ -351,56 +456,106 @@ required_rubygems_version: !ruby/object:Gem::Requirement
351
456
  - !ruby/object:Gem::Version
352
457
  version: '0'
353
458
  requirements: []
354
- rubygems_version: 3.0.3
459
+ rubygems_version: 3.1.2
355
460
  signing_key:
356
461
  specification_version: 4
357
462
  summary: zoom.us API wrapper
358
463
  test_files:
464
+ - spec/fixtures/account/create.json
465
+ - spec/fixtures/account/delete.json
466
+ - spec/fixtures/account/get.json
359
467
  - spec/fixtures/account/list.json
468
+ - spec/fixtures/account/managed_domains.json
469
+ - spec/fixtures/account/options_update.json
360
470
  - spec/fixtures/account/settings_get.json
471
+ - spec/fixtures/account/settings_update.json
472
+ - spec/fixtures/account/trusted_domains.json
473
+ - spec/fixtures/billing/get.json
474
+ - spec/fixtures/billing/plans_list.json
475
+ - spec/fixtures/billing/plans_subscribe.json
476
+ - spec/fixtures/billing/plans_usage.json
477
+ - spec/fixtures/billing/update.json
478
+ - spec/fixtures/chat/channels/get.json
361
479
  - spec/fixtures/chat/get.json
362
480
  - spec/fixtures/chat/list.json
481
+ - spec/fixtures/chat/users/channels/list.json
482
+ - spec/fixtures/dashboard/crc.json
483
+ - spec/fixtures/dashboard/meeting/detail.json
484
+ - spec/fixtures/dashboard/meeting/participants.json
485
+ - spec/fixtures/dashboard/meetings.json
363
486
  - spec/fixtures/error/already_exists.json
487
+ - spec/fixtures/error/channel_not_found.json
488
+ - spec/fixtures/error/group_does_not_exist.json
489
+ - spec/fixtures/error/group_not_belong_to_account.json
490
+ - spec/fixtures/error/meeting_not_exist.json
491
+ - spec/fixtures/error/next_page_token_invalid.json
364
492
  - spec/fixtures/error/not_found.json
493
+ - spec/fixtures/error/unauthorized_request.json
365
494
  - spec/fixtures/error/user_not_exist.json
366
495
  - spec/fixtures/error/validation.json
496
+ - spec/fixtures/groups/get.json
497
+ - spec/fixtures/groups/list.json
367
498
  - spec/fixtures/mc_recording_list.json
499
+ - spec/fixtures/meeting/add_registrant.json
368
500
  - spec/fixtures/meeting/create.json
369
- - spec/fixtures/meeting/delete.json
370
- - spec/fixtures/meeting/end.json
371
501
  - spec/fixtures/meeting/get.json
502
+ - spec/fixtures/meeting/invitation.json
372
503
  - spec/fixtures/meeting/list.json
373
- - spec/fixtures/meeting/live.json
374
- - spec/fixtures/meeting/register.json
375
- - spec/fixtures/meeting/update.json
376
- - spec/fixtures/metrics_crc.json
377
- - spec/fixtures/metrics_meetingdetail.json
378
- - spec/fixtures/metrics_meetings.json
379
- - spec/fixtures/recording_delete.json
380
- - spec/fixtures/recording_get.json
381
- - spec/fixtures/recording_list.json
504
+ - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
505
+ - spec/fixtures/meeting/live_stream/errors/missing_field.json
506
+ - spec/fixtures/recording/get.json
507
+ - spec/fixtures/recording/list.json
508
+ - spec/fixtures/recording/settings/get.json
509
+ - spec/fixtures/report/meeting.json
510
+ - spec/fixtures/report/meeting/participants.json
382
511
  - spec/fixtures/report/webinar/participants.json
383
512
  - spec/fixtures/report_getaccountreport.json
384
513
  - spec/fixtures/report_getdailyreport.json
385
514
  - spec/fixtures/report_getuserreport.json
386
- - spec/fixtures/user/assistant/delete.json
515
+ - spec/fixtures/roles/assign.json
516
+ - spec/fixtures/roles/create.json
517
+ - spec/fixtures/roles/get.json
518
+ - spec/fixtures/roles/list.json
519
+ - spec/fixtures/roles/members.json
520
+ - spec/fixtures/sip_audio/sip_trunks_get.json
521
+ - spec/fixtures/sip_audio/sip_trunks_internal_callout_countries_add.json
522
+ - spec/fixtures/sip_audio/sip_trunks_internal_callout_country_list.json
523
+ - spec/fixtures/sip_audio/sip_trunks_internal_numbers_add.json
524
+ - spec/fixtures/sip_audio/sip_trunks_internal_numbers_list.json
525
+ - spec/fixtures/sip_audio/sip_trunks_numbers_assign.json
526
+ - spec/fixtures/sip_audio/sip_trunks_numbers_list.json
527
+ - spec/fixtures/token/access_token.json
528
+ - spec/fixtures/token/data_compliance.json
529
+ - spec/fixtures/token/refresh_token.json
530
+ - spec/fixtures/user/assistant/create.json
531
+ - spec/fixtures/user/assistant/list.json
387
532
  - spec/fixtures/user/assistant/set.json
388
533
  - spec/fixtures/user/autocreate.json
389
534
  - spec/fixtures/user/autocreate2.json
390
535
  - spec/fixtures/user/create.json
391
536
  - spec/fixtures/user/custcreate.json
392
537
  - spec/fixtures/user/delete.json
538
+ - spec/fixtures/user/email_check.json
393
539
  - spec/fixtures/user/get.json
394
540
  - spec/fixtures/user/getbyemail.json
395
541
  - spec/fixtures/user/list.json
396
542
  - spec/fixtures/user/pending.json
397
543
  - spec/fixtures/user/permanent_delete.json
544
+ - spec/fixtures/user/permissions.json
545
+ - spec/fixtures/user/recording/list.json
546
+ - spec/fixtures/user/scheduler/list.json
398
547
  - spec/fixtures/user/settings_get.json
548
+ - spec/fixtures/user/token.json
399
549
  - spec/fixtures/user/update.json
550
+ - spec/fixtures/user/update_password.json
551
+ - spec/fixtures/user/vanity_name.json
400
552
  - spec/fixtures/webinar/create.json
401
553
  - spec/fixtures/webinar/delete.json
402
554
  - spec/fixtures/webinar/list.json
555
+ - spec/fixtures/webinar/panelist_list.json
403
556
  - spec/fixtures/webinar/past_webinar_list.json
557
+ - spec/fixtures/webinar/poll_get.json
558
+ - spec/fixtures/webinar/polls_list.json
404
559
  - spec/fixtures/webinar/registrant/add.json
405
560
  - spec/fixtures/webinar/registrant/get.json
406
561
  - spec/fixtures/webinar/registrant/list.json
@@ -409,18 +564,37 @@ test_files:
409
564
  - spec/fixtures/webinar_end.json
410
565
  - spec/fixtures/webinar_get.json
411
566
  - spec/fixtures/webinar_update.json
567
+ - spec/lib/zoom/actions/account/create_spec.rb
568
+ - spec/lib/zoom/actions/account/delete_spec.rb
569
+ - spec/lib/zoom/actions/account/get_locked_settings_spec.rb
570
+ - spec/lib/zoom/actions/account/get_spec.rb
412
571
  - spec/lib/zoom/actions/account/list_spec.rb
572
+ - spec/lib/zoom/actions/account/managed_domains_spec.rb
573
+ - spec/lib/zoom/actions/account/options_update_spec.rb
413
574
  - spec/lib/zoom/actions/account/settings_get_spec.rb
414
- - spec/lib/zoom/actions/group/create_spec.rb
415
- - spec/lib/zoom/actions/group/delete_spec.rb
416
- - spec/lib/zoom/actions/group/edit_spec.rb
417
- - spec/lib/zoom/actions/group/get_spec.rb
418
- - spec/lib/zoom/actions/group/list_spec.rb
419
- - spec/lib/zoom/actions/group/member/add_spec.rb
420
- - spec/lib/zoom/actions/group/member/delete_spec.rb
421
- - spec/lib/zoom/actions/group/member/list_spec.rb
575
+ - spec/lib/zoom/actions/account/settings_update_spec.rb
576
+ - spec/lib/zoom/actions/account/trusted_domains_spec.rb
577
+ - spec/lib/zoom/actions/billing/get_spec.rb
578
+ - spec/lib/zoom/actions/billing/plans_list_spec.rb
579
+ - spec/lib/zoom/actions/billing/plans_subscribe_spec.rb
580
+ - spec/lib/zoom/actions/billing/plans_usage_spec.rb
581
+ - spec/lib/zoom/actions/billing/update_spec.rb
582
+ - spec/lib/zoom/actions/dashboard/crc_spec.rb
583
+ - spec/lib/zoom/actions/dashboard/meeting_details_spec.rb
584
+ - spec/lib/zoom/actions/dashboard/meeting_participants_spec.rb
585
+ - spec/lib/zoom/actions/dashboard/meetings_spec.rb
586
+ - spec/lib/zoom/actions/groups/create_spec.rb
587
+ - spec/lib/zoom/actions/groups/delete_spec.rb
588
+ - spec/lib/zoom/actions/groups/edit_spec.rb
589
+ - spec/lib/zoom/actions/groups/get_spec.rb
590
+ - spec/lib/zoom/actions/groups/list_spec.rb
591
+ - spec/lib/zoom/actions/groups/member/add_spec.rb
592
+ - spec/lib/zoom/actions/groups/member/delete_spec.rb
593
+ - spec/lib/zoom/actions/groups/member/list_spec.rb
594
+ - spec/lib/zoom/actions/im/chat/channels/get_spec.rb
422
595
  - spec/lib/zoom/actions/im/chat/get_spec.rb
423
596
  - spec/lib/zoom/actions/im/chat/list_spec.rb
597
+ - spec/lib/zoom/actions/im/chat/users/channels/get_spec.rb
424
598
  - spec/lib/zoom/actions/im/group/create_spec.rb
425
599
  - spec/lib/zoom/actions/im/group/delete_spec.rb
426
600
  - spec/lib/zoom/actions/im/group/edit_spec.rb
@@ -442,56 +616,68 @@ test_files:
442
616
  - spec/lib/zoom/actions/ma/account/plan/get_spec.rb
443
617
  - spec/lib/zoom/actions/ma/account/plan/subscribe_spec.rb
444
618
  - spec/lib/zoom/actions/ma/account/plan/update_spec.rb
619
+ - spec/lib/zoom/actions/meeting/add_registrant_spec.rb
445
620
  - spec/lib/zoom/actions/meeting/create_spec.rb
446
621
  - spec/lib/zoom/actions/meeting/delete_spec.rb
447
- - spec/lib/zoom/actions/meeting/end_spec.rb
448
622
  - spec/lib/zoom/actions/meeting/get_spec.rb
623
+ - spec/lib/zoom/actions/meeting/invitation_spec.rb
449
624
  - spec/lib/zoom/actions/meeting/list_spec.rb
450
- - spec/lib/zoom/actions/meeting/live_spec.rb
451
- - spec/lib/zoom/actions/meeting/register_spec.rb
625
+ - spec/lib/zoom/actions/meeting/livestream_spec.rb
452
626
  - spec/lib/zoom/actions/meeting/update_spec.rb
453
- - spec/lib/zoom/actions/metrics/crc_spec.rb
454
- - spec/lib/zoom/actions/metrics/im_spec.rb
455
- - spec/lib/zoom/actions/metrics/meetingdetail_spec.rb
456
- - spec/lib/zoom/actions/metrics/meetings_spec.rb
457
- - spec/lib/zoom/actions/metrics/qos_spec.rb
458
- - spec/lib/zoom/actions/metrics/webinardetail_spec.rb
459
- - spec/lib/zoom/actions/metrics/webinars_spec.rb
460
- - spec/lib/zoom/actions/metrics/zoomroomdetail_spec.rb
461
- - spec/lib/zoom/actions/metrics/zoomrooms_spec.rb
462
- - spec/lib/zoom/actions/recording/delete_spec.rb
627
+ - spec/lib/zoom/actions/recording/file_delete_spec.rb
463
628
  - spec/lib/zoom/actions/recording/get_spec.rb
464
629
  - spec/lib/zoom/actions/recording/list_spec.rb
465
- - spec/lib/zoom/actions/recording/mc_list_spec.rb
630
+ - spec/lib/zoom/actions/recording/settings/get_spec.rb
631
+ - spec/lib/zoom/actions/recording/settings/update_spec.rb
466
632
  - spec/lib/zoom/actions/report/daily_report_spec.rb
467
- - spec/lib/zoom/actions/report/hosts_report_spec.rb
468
633
  - spec/lib/zoom/actions/report/meeting_details_report_spec.rb
469
634
  - spec/lib/zoom/actions/report/meeting_participants_report_spec.rb
470
- - spec/lib/zoom/actions/report/meeting_polls_report_spec.rb
471
- - spec/lib/zoom/actions/report/meetings_report_spec.rb
472
- - spec/lib/zoom/actions/report/telephone_report_spec.rb
473
- - spec/lib/zoom/actions/report/webinar_details_report_spec.rb
474
635
  - spec/lib/zoom/actions/report/webinar_participants_report_spec.rb
475
- - spec/lib/zoom/actions/report/webinar_polls_report_spec.rb
476
- - spec/lib/zoom/actions/report/webinar_qa_report_spec.rb
477
- - spec/lib/zoom/actions/user/activate_spec.rb
636
+ - spec/lib/zoom/actions/roles/assign_spec.rb
637
+ - spec/lib/zoom/actions/roles/create_spec.rb
638
+ - spec/lib/zoom/actions/roles/get_spec.rb
639
+ - spec/lib/zoom/actions/roles/list_spec.rb
640
+ - spec/lib/zoom/actions/roles/members_spec.rb
641
+ - spec/lib/zoom/actions/roles/unassign_spec.rb
642
+ - spec/lib/zoom/actions/sip_audio/add_trunks_internal_callout_countries_spec.rb
643
+ - spec/lib/zoom/actions/sip_audio/add_trunks_internal_numbers_spec.rb
644
+ - spec/lib/zoom/actions/sip_audio/assign_numbers_spec.rb
645
+ - spec/lib/zoom/actions/sip_audio/delete_internal_callout_countries_spec.rb
646
+ - spec/lib/zoom/actions/sip_audio/delete_trunk_internal_numbers_spec.rb
647
+ - spec/lib/zoom/actions/sip_audio/delete_trunk_numbers_spec.rb
648
+ - spec/lib/zoom/actions/sip_audio/delete_trunks_spec.rb
649
+ - spec/lib/zoom/actions/sip_audio/get_trunks_spec.rb
650
+ - spec/lib/zoom/actions/sip_audio/list_trunk_numbers_spec.rb
651
+ - spec/lib/zoom/actions/sip_audio/list_trunks_internal_callout_country_spec.rb
652
+ - spec/lib/zoom/actions/sip_audio/list_trunks_internal_numbers_spec.rb
653
+ - spec/lib/zoom/actions/token/access_token_spec.rb
654
+ - spec/lib/zoom/actions/token/data_compliance_spec.rb
655
+ - spec/lib/zoom/actions/token/refresh_token_spec.rb
656
+ - spec/lib/zoom/actions/user/assistant/create_spec.rb
657
+ - spec/lib/zoom/actions/user/assistant/delete_all_spec.rb
478
658
  - spec/lib/zoom/actions/user/assistant/delete_spec.rb
659
+ - spec/lib/zoom/actions/user/assistant/list_spec.rb
479
660
  - spec/lib/zoom/actions/user/assistant/set_spec.rb
480
661
  - spec/lib/zoom/actions/user/autocreate2_spec.rb
481
662
  - spec/lib/zoom/actions/user/autocreate_spec.rb
482
- - spec/lib/zoom/actions/user/checkemail_spec.rb
483
- - spec/lib/zoom/actions/user/checkzpk_spec.rb
484
663
  - spec/lib/zoom/actions/user/create_spec.rb
485
664
  - spec/lib/zoom/actions/user/custcreate_spec.rb
486
- - spec/lib/zoom/actions/user/deactivate_spec.rb
487
665
  - spec/lib/zoom/actions/user/delete_spec.rb
666
+ - spec/lib/zoom/actions/user/email_check_spec.rb
488
667
  - spec/lib/zoom/actions/user/get_spec.rb
489
668
  - spec/lib/zoom/actions/user/getbyemail_spec.rb
669
+ - spec/lib/zoom/actions/user/list_recordings_spec.rb
490
670
  - spec/lib/zoom/actions/user/list_spec.rb
491
- - spec/lib/zoom/actions/user/revoketoken_spec.rb
671
+ - spec/lib/zoom/actions/user/permissions_spec.rb
672
+ - spec/lib/zoom/actions/user/scheduler/delete_all_spec.rb
673
+ - spec/lib/zoom/actions/user/scheduler/delete_spec.rb
674
+ - spec/lib/zoom/actions/user/scheduler/list_spec.rb
492
675
  - spec/lib/zoom/actions/user/settings_get_spec.rb
676
+ - spec/lib/zoom/actions/user/settings_update_spec.rb
677
+ - spec/lib/zoom/actions/user/token_spec.rb
678
+ - spec/lib/zoom/actions/user/update_password_spec.rb
493
679
  - spec/lib/zoom/actions/user/update_spec.rb
494
- - spec/lib/zoom/actions/user/updatepassword_spec.rb
680
+ - spec/lib/zoom/actions/user/vanity_name_spec.rb
495
681
  - spec/lib/zoom/actions/webinar/attendees_list_spec.rb
496
682
  - spec/lib/zoom/actions/webinar/create_spec.rb
497
683
  - spec/lib/zoom/actions/webinar/delete_spec.rb
@@ -499,9 +685,10 @@ test_files:
499
685
  - spec/lib/zoom/actions/webinar/get_spec.rb
500
686
  - spec/lib/zoom/actions/webinar/list_registration_spec.rb
501
687
  - spec/lib/zoom/actions/webinar/list_spec.rb
502
- - spec/lib/zoom/actions/webinar/panelists_spec.rb
688
+ - spec/lib/zoom/actions/webinar/panelist_list_spec.rb
503
689
  - spec/lib/zoom/actions/webinar/past_webinar_list_spec.rb
504
- - spec/lib/zoom/actions/webinar/polls_spec.rb
690
+ - spec/lib/zoom/actions/webinar/poll_get_spec.rb
691
+ - spec/lib/zoom/actions/webinar/polls_list_spec.rb
505
692
  - spec/lib/zoom/actions/webinar/questions_spec.rb
506
693
  - spec/lib/zoom/actions/webinar/register_spec.rb
507
694
  - spec/lib/zoom/actions/webinar/registrants/add_spec.rb