zoom_rb 0.8.6 → 0.8.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87d7cc4ec57a2ec29ae1f363155844a1dcab08454beb12dafa37c87b4c14d5c3
4
- data.tar.gz: bce3d9b5ba1cb6da18f8d647c8f7f99aa333083360f121714ef455e1f7730818
3
+ metadata.gz: 9c6bdaacbf4a10b0f14d9cba48f13b9cccc9e7ed1d0aa3b5e9d20c4b7b0acefd
4
+ data.tar.gz: 80732724df8e317b58d7c9814db9862d429dac3ffbeff2535ab7bc28160bd5a9
5
5
  SHA512:
6
- metadata.gz: 8d0cc2484ddfae76d99b745113e2376d41796f456bbff4d4bfa000086d5f5f7e5e6c30f29abacfd746aa931490620298aeadf268bf759342abea316c5ac5ccc7
7
- data.tar.gz: 1bac71bc72c540a63af1929d50e28def004c9ea1c33e520a30a4f92c435384567ebfeb1b3acbcc53d3f5878172b7485f3d5bcde646f46289fc3ca929cd5aecf9
6
+ metadata.gz: 450e7576c8c0ff966c54dc94a7986d5025dfaaade64592c57f24ad3fc218e35d6494d01d2dea7f91872f904b2518ea651a61df306f5ae1e56d403fe2c15b1e3f
7
+ data.tar.gz: 8b9984d94f4dd49849a08d2416ea2fd1c952c91a744815f0b3521669bc4164d384bc4fc1a9e90532beb4e37ea60dbecde1ce98e4d50ff9b7df0d7fd9a7d21443
@@ -3,24 +3,52 @@
3
3
  module Zoom
4
4
  module Actions
5
5
  module Report
6
- def report_getaccountreport(*args)
7
- options = Utils.extract_options!(args)
8
- Utils.require_params(%i[from to], options)
9
- Utils.process_datetime_params!(%i[from to], options)
10
- Utils.parse_response self.class.post('/report/getaccountreport', query: options)
6
+ def daily_report(*args)
7
+ params = Zoom::Params.new(Utils.extract_options!(args))
8
+ params.permit(:year, :month)
9
+ Utils.parse_response self.class.get('/report/daily', query: params)
11
10
  end
12
11
 
13
- def report_getuserreport(*args)
14
- options = Utils.extract_options!(args)
15
- Utils.require_params(%i[user_id from to], options)
16
- Utils.process_datetime_params!(%i[from to], options)
17
- Utils.parse_response self.class.post('/report/getuserreport', query: options)
12
+ def hosts_report(*args)
13
+ # TODO: implement hosts_report
18
14
  end
19
15
 
20
- def report_getdailyreport(*args)
21
- options = Utils.extract_options!(args)
22
- Utils.require_params(%i[year month], options)
23
- Utils.parse_response self.class.post('/report/getdailyreport', query: options)
16
+ def meetings_report(*args)
17
+ # TODO: implement meetings_report
18
+ end
19
+
20
+ def meeting_details_report(*args)
21
+ # TODO: implement meeting_details_report
22
+ end
23
+
24
+ def meeting_participants_report(*args)
25
+ # TODO: implement meeting_participants_report
26
+ end
27
+
28
+ def meeting_polls_report(*args)
29
+ # TODO: implement meeting_polls_report
30
+ end
31
+
32
+ def webinar_details_report(*args)
33
+ # TODO: implement webinar_details_report
34
+ end
35
+
36
+ def webinar_participants_report(*args)
37
+ params = Zoom::Params.new(Utils.extract_options!(args))
38
+ params.require(:id).permit(:page_size, :next_page_token)
39
+ Utils.parse_response self.class.get("/report/webinars/#{params[:id]}/participants", query: params.except(:id).merge(access_token: access_token))
40
+ end
41
+
42
+ def webinar_polls_report(*args)
43
+ # TODO: implement report_hosts
44
+ end
45
+
46
+ def webinar_qa_report(*args)
47
+ # TODO: implement report_hosts
48
+ end
49
+
50
+ def telephone_report(*args)
51
+ # TODO: implement report_hosts
24
52
  end
25
53
  end
26
54
  end
@@ -0,0 +1,18 @@
1
+ {
2
+ "page_count": 1,
3
+ "page_size": 1,
4
+ "total_records": 1,
5
+ "next_page_token": "test",
6
+ "participants": [
7
+ {
8
+ "id": "test-uuid",
9
+ "user_id": "test@test.com",
10
+ "name": "Test",
11
+ "user_email": "testuser@test.com",
12
+ "join_time": "2019-01-01T09:00:00Z",
13
+ "leave_time": "2019-01-01T09:00:00Z",
14
+ "duration": 60,
15
+ "attentiveness_score": "10"
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Report do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { id: '123456789' } }
8
+
9
+ describe '#webinar_participants_report' do
10
+ context 'with a valid response' do
11
+ before :each do
12
+ stub_request(
13
+ :get,
14
+ zoom_url("/report/webinars/#{args[:id]}/participants")
15
+ ).to_return(status: 200,
16
+ body: json_response('report', 'webinar', 'participants'),
17
+ headers: {"Content-Type"=> "application/json"})
18
+ end
19
+
20
+ it "requires a 'id' argument" do
21
+ expect { zc.webinar_participants_report(filter_key(args, :id)) }.to raise_error(Zoom::ParameterMissing, [:id].to_s)
22
+ end
23
+
24
+ it 'returns an array of participants' do
25
+ expect(zc.webinar_participants_report(args)['participants']).to be_kind_of(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("/report/webinars/#{args[:id]}/participants")
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_participants_report(args) }.to raise_error(Zoom::Error)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -25,5 +25,5 @@ Gem::Specification.new do |gem|
25
25
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
26
26
  gem.name = 'zoom_rb'
27
27
  gem.require_paths = ['lib']
28
- gem.version = '0.8.6'
28
+ gem.version = '0.8.7'
29
29
  end
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.8.6
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-30 00:00:00.000000000 Z
11
+ date: 2019-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -190,10 +190,7 @@ files:
190
190
  - spec/fixtures/recording_delete.json
191
191
  - spec/fixtures/recording_get.json
192
192
  - spec/fixtures/recording_list.json
193
- - spec/fixtures/report/getaccountreport.json
194
- - spec/fixtures/report/getaudioreport.json
195
- - spec/fixtures/report/getdailyreport.json
196
- - spec/fixtures/report/getuserreport.json
193
+ - spec/fixtures/report/webinar/participants.json
197
194
  - spec/fixtures/report_getaccountreport.json
198
195
  - spec/fixtures/report_getdailyreport.json
199
196
  - spec/fixtures/report_getuserreport.json
@@ -272,10 +269,17 @@ files:
272
269
  - spec/lib/zoom/actions/recording/get_spec.rb
273
270
  - spec/lib/zoom/actions/recording/list_spec.rb
274
271
  - spec/lib/zoom/actions/recording/mc_list_spec.rb
275
- - spec/lib/zoom/actions/report/getaccountreport_spec.rb
276
- - spec/lib/zoom/actions/report/getaudioreport_spec.rb
277
- - spec/lib/zoom/actions/report/getdailyreport_spec.rb
278
- - spec/lib/zoom/actions/report/getuserreport_spec.rb
272
+ - spec/lib/zoom/actions/report/daily_report_spec.rb
273
+ - spec/lib/zoom/actions/report/hosts_report_spec.rb
274
+ - spec/lib/zoom/actions/report/meeting_details_report_spec.rb
275
+ - spec/lib/zoom/actions/report/meeting_participants_report_spec.rb
276
+ - spec/lib/zoom/actions/report/meeting_polls_report_spec.rb
277
+ - spec/lib/zoom/actions/report/meetings_report_spec.rb
278
+ - spec/lib/zoom/actions/report/telephone_report_spec.rb
279
+ - spec/lib/zoom/actions/report/webinar_details_report_spec.rb
280
+ - spec/lib/zoom/actions/report/webinar_participants_report_spec.rb
281
+ - spec/lib/zoom/actions/report/webinar_polls_report_spec.rb
282
+ - spec/lib/zoom/actions/report/webinar_qa_report_spec.rb
279
283
  - spec/lib/zoom/actions/user/activate_spec.rb
280
284
  - spec/lib/zoom/actions/user/assistant/delete_spec.rb
281
285
  - spec/lib/zoom/actions/user/assistant/set_spec.rb
@@ -362,10 +366,7 @@ test_files:
362
366
  - spec/fixtures/recording_delete.json
363
367
  - spec/fixtures/recording_get.json
364
368
  - spec/fixtures/recording_list.json
365
- - spec/fixtures/report/getaccountreport.json
366
- - spec/fixtures/report/getaudioreport.json
367
- - spec/fixtures/report/getdailyreport.json
368
- - spec/fixtures/report/getuserreport.json
369
+ - spec/fixtures/report/webinar/participants.json
369
370
  - spec/fixtures/report_getaccountreport.json
370
371
  - spec/fixtures/report_getdailyreport.json
371
372
  - spec/fixtures/report_getuserreport.json
@@ -444,10 +445,17 @@ test_files:
444
445
  - spec/lib/zoom/actions/recording/get_spec.rb
445
446
  - spec/lib/zoom/actions/recording/list_spec.rb
446
447
  - spec/lib/zoom/actions/recording/mc_list_spec.rb
447
- - spec/lib/zoom/actions/report/getaccountreport_spec.rb
448
- - spec/lib/zoom/actions/report/getaudioreport_spec.rb
449
- - spec/lib/zoom/actions/report/getdailyreport_spec.rb
450
- - spec/lib/zoom/actions/report/getuserreport_spec.rb
448
+ - spec/lib/zoom/actions/report/daily_report_spec.rb
449
+ - spec/lib/zoom/actions/report/hosts_report_spec.rb
450
+ - spec/lib/zoom/actions/report/meeting_details_report_spec.rb
451
+ - spec/lib/zoom/actions/report/meeting_participants_report_spec.rb
452
+ - spec/lib/zoom/actions/report/meeting_polls_report_spec.rb
453
+ - spec/lib/zoom/actions/report/meetings_report_spec.rb
454
+ - spec/lib/zoom/actions/report/telephone_report_spec.rb
455
+ - spec/lib/zoom/actions/report/webinar_details_report_spec.rb
456
+ - spec/lib/zoom/actions/report/webinar_participants_report_spec.rb
457
+ - spec/lib/zoom/actions/report/webinar_polls_report_spec.rb
458
+ - spec/lib/zoom/actions/report/webinar_qa_report_spec.rb
451
459
  - spec/lib/zoom/actions/user/activate_spec.rb
452
460
  - spec/lib/zoom/actions/user/assistant/delete_spec.rb
453
461
  - spec/lib/zoom/actions/user/assistant/set_spec.rb
@@ -1,23 +0,0 @@
1
- {
2
- "page_count": 1,
3
- "page_number": 1,
4
- "page_size": 30,
5
- "total_records": 5,
6
- "from": "2013-5-19",
7
- "to": "2013-5-20",
8
- "total_meetings": 50,
9
- "total_participants": 100,
10
- "total_meeting_minutes": 100,
11
- "users": [
12
- {
13
- "user_id": "bNsPi5hCQ-qOzWn2EeCXJA",
14
- "email": "john@sample.com",
15
- "type": 2,
16
- "meetings": 10,
17
- "participants": 56,
18
- "meeting_minutes": 300,
19
- "last_client_version": "1.0.18584.0225",
20
- "last_login_time": "2013-02-11T08:18:09Z"
21
- }
22
- ]
23
- }
@@ -1,22 +0,0 @@
1
- {
2
- "from": "2016-01-08",
3
- "to": "2016-01-21",
4
- "page_count": 1,
5
- "page_number": 1,
6
- "page_size": 30,
7
- "total_records": 1,
8
- "telephony_usage": [
9
- {
10
- "meeting_id": 2932547621,
11
- "phone_number": "+86 8208",
12
- "type": "call-out",
13
- "host_name": "test",
14
- "host_email": "zoom.test@zoom.us",
15
- "department": "",
16
- "start_time": "2016-01-12T02:25:34Z",
17
- "end_time": "2016-01-12T02:26:48Z",
18
- "duration": 2,
19
- "total": 0.12
20
- }
21
- ]
22
- }
@@ -1,13 +0,0 @@
1
- {
2
- "year": 2013,
3
- "month": 5,
4
- "dates": [
5
- {
6
- "meetings": 0,
7
- "date": "2013-05-01",
8
- "new_user": 0,
9
- "participants": 0,
10
- "meeting_minutes": 0
11
- }
12
- ]
13
- }
@@ -1,24 +0,0 @@
1
- {
2
- "page_count": 1,
3
- "page_number": 1,
4
- "page_size": 30,
5
- "total_records": 5,
6
- "from": "2013-5-19",
7
- "to": "2013-5-20",
8
- "meetings": [
9
- {
10
- "number": 111111111,
11
- "topic": "Meeting Topic",
12
- "start_time": "2013-02-11T08:18:09Z",
13
- "end_time": "2013-02-11T09:18:09Z",
14
- "duration": 60,
15
- "participants": [
16
- {
17
- "name": "John",
18
- "join_time": "2013-02-11T08:30:09Z",
19
- "leave_time": "2013-02-11T08:50:09Z"
20
- }
21
- ]
22
- }
23
- ]
24
- }
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Report do
6
- let(:zc) { zoom_client}
7
- let(:args) { { from: '2013-04-05T15:50:47Z', to: '2013-04-09T19:00:00Z' } }
8
- let(:response) { zc.report_getaccountreport(args) }
9
-
10
- xdescribe '#report_getaccountreport action' do
11
- before :each do
12
- stub_request(
13
- :post,
14
- zoom_url('/report/getaccountreport')
15
- ).to_return(body: json_response('report_getaccountreport'))
16
- end
17
-
18
- it "requires a 'from' argument" do
19
- expect {
20
- zc.report_getaccountreport(filter_key(args, :from))
21
- }.to raise_error(ArgumentError)
22
- end
23
-
24
- it "requires a 'to' argument" do
25
- expect {
26
- zc.report_getaccountreport(filter_key(args, :to))
27
- }.to raise_error(ArgumentError)
28
- end
29
-
30
- it 'returns a hash' do
31
- expect(response).to be_kind_of(Hash)
32
- end
33
-
34
- it "returns 'total_records'" do
35
- expect(response['total_records']).to eq(1)
36
- end
37
-
38
- it "returns 'users' Array" do
39
- expect(response['users']).to be_kind_of(Array)
40
- end
41
- end
42
-
43
- xdescribe '#report_getaccountreport! action' do
44
- before :each do
45
- stub_request(
46
- :post,
47
- zoom_url('/report/getaccountreport')
48
- ).to_return(body: json_response('error'))
49
- end
50
-
51
- it 'raises Zoom::Error exception' do
52
- expect {
53
- zc.report_getaccountreport!(args)
54
- }.to raise_error(Zoom::Error)
55
- end
56
- end
57
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Report do
6
- before :all do
7
- @zc = zoom_client
8
- @args = { year: 2017, month: 7 }
9
- end
10
-
11
- xdescribe '#report_getdailyreport action' do
12
- before :each do
13
- stub_request(
14
- :post,
15
- zoom_url('/report/getdailyreport')
16
- ).to_return(body: json_response('report_getdailyreport'))
17
- end
18
-
19
- it "requires a 'year' argument" do
20
- expect {
21
- @zc.report_getdailyreport(filter_key(@args, :year))
22
- }.to raise_error(ArgumentError)
23
- end
24
-
25
- it "requires a 'month' argument" do
26
- expect {
27
- @zc.report_getdailyreport(filter_key(@args, :month))
28
- }.to raise_error(ArgumentError)
29
- end
30
-
31
- it 'returs a Hash' do
32
- expect(@zc.report_getdailyreport(@args)).to be_kind_of(Hash)
33
- end
34
-
35
- it "returns a 'year'" do
36
- expect(@zc.report_getdailyreport(@args)['year']).to eq(@args[:year])
37
- end
38
-
39
- it "returns a 'month'" do
40
- expect(@zc.report_getdailyreport(@args)['month']).to eq(@args[:month])
41
- end
42
-
43
- it "returns a 'dates' Array" do
44
- expect(@zc.report_getdailyreport(@args)['dates']).to be_kind_of(Array)
45
- end
46
- end
47
-
48
- xdescribe '#report_getdailyreport! action' do
49
- before :each do
50
- stub_request(
51
- :post,
52
- zoom_url('/report/getdailyreport')
53
- ).to_return(body: json_response('error'))
54
- end
55
-
56
- it 'raises Zoom::Error exception' do
57
- expect {
58
- @zc.report_getdailyreport!(@args)
59
- }.to raise_error(Zoom::Error)
60
- end
61
- end
62
- end
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- xdescribe Zoom::Actions::Report do
6
-
7
- before :all do
8
- @zc = zoom_client
9
- @args = { from: '2013-04-05T15:50:47Z',
10
- to: '2013-04-09T19:00:00Z',
11
- user_id: 'ufR93M2pRyy8ePFN92dttq' }
12
- end
13
-
14
- xdescribe '#report_getuserreport action' do
15
- before :each do
16
- stub_request(
17
- :post,
18
- zoom_url('/report/getuserreport')
19
- ).to_return(body: json_response('report_getuserreport'))
20
- end
21
-
22
- it "requires a 'user_id' argument" do
23
- expect {
24
- @zc.report_getuserreport(filter_key(@args, :user_id))
25
- }.to raise_error(ArgumentError)
26
- end
27
-
28
- it "requires a 'from' argument" do
29
- expect {
30
- @zc.report_getuserreport(filter_key(@args, :from))
31
- }.to raise_error(ArgumentError)
32
- end
33
-
34
- it "requires a 'to' argument" do
35
- expect {
36
- @zc.report_getuserreport(filter_key(@args, :to))
37
- }.to raise_error(ArgumentError)
38
- end
39
-
40
- it 'returns a hash' do
41
- expect(@zc.report_getuserreport(@args)).to be_kind_of(Hash)
42
- end
43
-
44
- it "returns 'total_records'" do
45
- expect(@zc.report_getuserreport(@args)['total_records']).to eq(1)
46
- end
47
-
48
- it "returns 'meetings' Array" do
49
- expect(@zc.report_getuserreport(@args)['meetings']).to be_kind_of(Array)
50
- end
51
- end
52
-
53
- xdescribe '#report_getuserreport! action' do
54
- before :each do
55
- stub_request(
56
- :post,
57
- zoom_url('/report/getuserreport')
58
- ).to_return(body: json_response('error'))
59
- end
60
-
61
- it 'raises Zoom::Error exception' do
62
- expect {
63
- @zc.report_getuserreport!(@args)
64
- }.to raise_error(Zoom::Error)
65
- end
66
- end
67
- end