twilio-ruby 5.2.3 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +26 -0
  3. data/README.md +3 -3
  4. data/UPGRADE.md +30 -0
  5. data/lib/twilio-ruby.rb +0 -18
  6. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +2 -2
  7. data/lib/twilio-ruby/rest/chat/v2/service.rb +24 -2
  8. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +5 -3
  9. data/lib/twilio-ruby/rest/client.rb +3 -3
  10. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +24 -2
  11. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +5 -3
  12. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +12 -12
  13. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +38 -0
  14. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +40 -0
  15. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +350 -0
  16. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +264 -0
  17. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +10 -2
  18. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +15 -3
  19. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +38 -0
  20. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +6 -2
  21. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +274 -0
  22. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +213 -0
  23. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +14 -10
  24. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +40 -0
  25. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +357 -0
  26. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +243 -0
  27. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +10 -2
  28. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +339 -0
  29. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +239 -0
  30. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +10 -2
  31. data/lib/twilio-ruby/rest/video/v1/room.rb +7 -0
  32. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  33. data/lib/twilio-ruby/version.rb +1 -1
  34. data/spec/integration/chat/v2/service/channel/message_spec.rb +41 -7
  35. data/spec/integration/chat/v2/service_spec.rb +8 -0
  36. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +41 -7
  37. data/spec/integration/ip_messaging/v2/service_spec.rb +8 -0
  38. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +94 -0
  39. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +79 -0
  40. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +8 -0
  41. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +21 -38
  42. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +87 -0
  43. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +68 -0
  44. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +34 -61
  45. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +8 -0
  46. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +95 -0
  47. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +55 -0
  48. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +12 -4
  49. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +92 -0
  50. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +70 -0
  51. data/spec/integration/taskrouter/v1/workspace_spec.rb +8 -0
  52. data/spec/integration/video/v1/room_spec.rb +12 -0
  53. data/spec/security/request_validator_spec.rb +0 -28
  54. data/spec/twilio_spec.rb +0 -15
  55. metadata +28 -9
  56. data/lib/rack/twilio_webhook_authentication.rb +0 -46
  57. data/lib/twilio-ruby/util/configuration.rb +0 -7
  58. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  59. data/spec/util/configuration_spec.rb +0 -15
@@ -29,105 +29,78 @@ describe 'WorkersStatistics' do
29
29
  200,
30
30
  %q[
31
31
  {
32
- "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
33
- "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics",
34
32
  "cumulative": {
33
+ "reservations_created": 0,
34
+ "reservations_accepted": 0,
35
+ "reservations_rejected": 0,
36
+ "reservations_timed_out": 0,
37
+ "reservations_canceled": 0,
38
+ "reservations_rescinded": 0,
35
39
  "activity_durations": [
36
40
  {
37
- "avg": 0.0,
38
- "friendly_name": "80fa2beb-3a05-11e5-8fc8-98e0d9a1eb73",
39
41
  "max": 0,
40
- "min": 0,
42
+ "min": 900,
41
43
  "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
42
- "total": 0
44
+ "friendly_name": "Offline",
45
+ "avg": 1080,
46
+ "total": 5400
43
47
  },
44
48
  {
45
- "avg": 0.0,
46
- "friendly_name": "817ca1c5-3a05-11e5-9292-98e0d9a1eb73",
47
49
  "max": 0,
48
- "min": 0,
50
+ "min": 900,
49
51
  "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
50
- "total": 0
51
- },
52
- {
53
- "avg": 0.0,
54
52
  "friendly_name": "Busy",
55
- "max": 0,
56
- "min": 0,
57
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
58
- "total": 0
53
+ "avg": 1012,
54
+ "total": 8100
59
55
  },
60
56
  {
61
- "avg": 0.0,
62
- "friendly_name": "Idle",
63
57
  "max": 0,
64
58
  "min": 0,
65
59
  "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
60
+ "friendly_name": "Idle",
61
+ "avg": 0,
66
62
  "total": 0
67
63
  },
68
64
  {
69
- "avg": 0.0,
70
- "friendly_name": "Offline",
71
65
  "max": 0,
72
66
  "min": 0,
73
67
  "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
74
- "total": 0
75
- },
76
- {
77
- "avg": 0.0,
78
68
  "friendly_name": "Reserved",
79
- "max": 0,
80
- "min": 0,
81
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
69
+ "avg": 0,
82
70
  "total": 0
83
71
  }
84
72
  ],
85
- "end_time": "2015-08-18T16:35:33Z",
86
- "reservations_accepted": 0,
87
- "reservations_canceled": 0,
88
- "reservations_created": 0,
89
- "reservations_rejected": 0,
90
- "reservations_rescinded": 0,
91
- "reservations_timed_out": 0,
92
- "start_time": "2015-08-18T16:20:33Z",
93
- "tasks_assigned": 0
73
+ "start_time": "2008-01-02T00:00:00Z",
74
+ "end_time": "2008-01-02T00:00:00Z"
94
75
  },
95
76
  "realtime": {
77
+ "total_workers": 15,
96
78
  "activity_statistics": [
97
- {
98
- "friendly_name": "Offline",
99
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
100
- "workers": 1
101
- },
102
79
  {
103
80
  "friendly_name": "Idle",
104
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
105
- "workers": 0
81
+ "workers": 0,
82
+ "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
106
83
  },
107
84
  {
108
- "friendly_name": "80fa2beb-3a05-11e5-8fc8-98e0d9a1eb73",
109
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
110
- "workers": 0
111
- },
112
- {
113
- "friendly_name": "Reserved",
114
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
115
- "workers": 0
85
+ "friendly_name": "Busy",
86
+ "workers": 9,
87
+ "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
116
88
  },
117
89
  {
118
- "friendly_name": "Busy",
119
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
120
- "workers": 0
90
+ "friendly_name": "Offline",
91
+ "workers": 6,
92
+ "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
121
93
  },
122
94
  {
123
- "friendly_name": "817ca1c5-3a05-11e5-9292-98e0d9a1eb73",
124
- "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
125
- "workers": 0
95
+ "friendly_name": "Reserved",
96
+ "workers": 0,
97
+ "sid": "WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
126
98
  }
127
- ],
128
- "total_workers": 1
99
+ ]
129
100
  },
130
- "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
101
+ "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
102
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
103
+ "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics"
131
104
  }
132
105
  ]
133
106
  ))
@@ -56,6 +56,8 @@ describe 'Worker' do
56
56
  "activity": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Activities/WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
57
57
  "workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
58
58
  "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics",
59
+ "workers_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/RealTimeStatistics",
60
+ "workers_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/CumulativeStatistics",
59
61
  "worker_channels": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
60
62
  "reservations": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations"
61
63
  }
@@ -137,6 +139,8 @@ describe 'Worker' do
137
139
  "activity": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Activities/WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
138
140
  "workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
139
141
  "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics",
142
+ "workers_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/RealTimeStatistics",
143
+ "workers_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/CumulativeStatistics",
140
144
  "worker_channels": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
141
145
  "reservations": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations"
142
146
  }
@@ -188,6 +192,8 @@ describe 'Worker' do
188
192
  "activity": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Activities/WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
189
193
  "workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
190
194
  "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics",
195
+ "workers_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/RealTimeStatistics",
196
+ "workers_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/CumulativeStatistics",
191
197
  "worker_channels": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
192
198
  "reservations": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations"
193
199
  }
@@ -239,6 +245,8 @@ describe 'Worker' do
239
245
  "activity": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Activities/WAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
240
246
  "workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
241
247
  "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/Statistics",
248
+ "workers_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/RealTimeStatistics",
249
+ "workers_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/CumulativeStatistics",
242
250
  "worker_channels": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels",
243
251
  "reservations": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Reservations"
244
252
  }
@@ -0,0 +1,95 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ require 'spec_helper.rb'
8
+
9
+ describe 'WorkflowCumulativeStatistics' do
10
+ it "can fetch" do
11
+ @holodeck.mock(Twilio::Response.new(500, ''))
12
+
13
+ expect {
14
+ @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
15
+ .workflows("WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
16
+ .workflow_cumulative_statistics().fetch()
17
+ }.to raise_exception(Twilio::REST::TwilioError)
18
+
19
+ values = {}
20
+ expect(
21
+ @holodeck.has_request?(Holodeck::Request.new(
22
+ method: 'get',
23
+ url: 'https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics',
24
+ ))).to eq(true)
25
+ end
26
+
27
+ it "receives fetch responses" do
28
+ @holodeck.mock(Twilio::Response.new(
29
+ 200,
30
+ %q[
31
+ {
32
+ "avg_task_acceptance_time": 100,
33
+ "tasks_canceled": 100,
34
+ "start_time": "2015-07-30T20:00:00Z",
35
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "tasks_moved": 100,
37
+ "tasks_entered": 100,
38
+ "wait_duration_until_canceled": {
39
+ "avg": 0,
40
+ "min": 0,
41
+ "max": 0,
42
+ "total": 0
43
+ },
44
+ "wait_duration_until_accepted": {
45
+ "avg": 0,
46
+ "min": 0,
47
+ "max": 0,
48
+ "total": 0
49
+ },
50
+ "split_by_wait_time": {
51
+ "5": {
52
+ "above": {
53
+ "tasks_canceled": 0,
54
+ "reservations_accepted": 0
55
+ },
56
+ "below": {
57
+ "tasks_canceled": 0,
58
+ "reservations_accepted": 0
59
+ }
60
+ },
61
+ "10": {
62
+ "above": {
63
+ "tasks_canceled": 0,
64
+ "reservations_accepted": 0
65
+ },
66
+ "below": {
67
+ "tasks_canceled": 0,
68
+ "reservations_accepted": 0
69
+ }
70
+ }
71
+ },
72
+ "reservations_canceled": 100,
73
+ "end_time": "2015-07-30T20:00:00Z",
74
+ "workflow_sid": "WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
75
+ "reservations_created": 100,
76
+ "reservations_accepted": 100,
77
+ "reservations_rescinded": 100,
78
+ "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
79
+ "reservations_rejected": 100,
80
+ "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics",
81
+ "tasks_deleted": 100,
82
+ "tasks_timed_out_in_workflow": 100,
83
+ "tasks_completed": 100,
84
+ "reservations_timed_out": 100
85
+ }
86
+ ]
87
+ ))
88
+
89
+ actual = @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
90
+ .workflows("WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
91
+ .workflow_cumulative_statistics().fetch()
92
+
93
+ expect(actual).to_not eq(nil)
94
+ end
95
+ end
@@ -0,0 +1,55 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ require 'spec_helper.rb'
8
+
9
+ describe 'WorkflowRealTimeStatistics' do
10
+ it "can fetch" do
11
+ @holodeck.mock(Twilio::Response.new(500, ''))
12
+
13
+ expect {
14
+ @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
15
+ .workflows("WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
16
+ .workflow_real_time_statistics().fetch()
17
+ }.to raise_exception(Twilio::REST::TwilioError)
18
+
19
+ values = {}
20
+ expect(
21
+ @holodeck.has_request?(Holodeck::Request.new(
22
+ method: 'get',
23
+ url: 'https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics',
24
+ ))).to eq(true)
25
+ end
26
+
27
+ it "receives fetch responses" do
28
+ @holodeck.mock(Twilio::Response.new(
29
+ 200,
30
+ %q[
31
+ {
32
+ "longest_task_waiting_age": 100,
33
+ "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics",
34
+ "tasks_by_priority": {},
35
+ "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
36
+ "tasks_by_status": {
37
+ "reserved": 0,
38
+ "pending": 0,
39
+ "assigned": 0,
40
+ "wrapping": 0
41
+ },
42
+ "workflow_sid": "WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
43
+ "total_tasks": 100,
44
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
45
+ }
46
+ ]
47
+ ))
48
+
49
+ actual = @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
50
+ .workflows("WWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
51
+ .workflow_real_time_statistics().fetch()
52
+
53
+ expect(actual).to_not eq(nil)
54
+ end
55
+ end
@@ -41,7 +41,9 @@ describe 'Workflow' do
41
41
  "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
42
42
  "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
43
43
  "links": {
44
- "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics"
44
+ "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics",
45
+ "workflow_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics",
46
+ "workflow_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics"
45
47
  }
46
48
  }
47
49
  ]
@@ -86,7 +88,9 @@ describe 'Workflow' do
86
88
  "task_reservation_timeout": 120,
87
89
  "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
88
90
  "links": {
89
- "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics"
91
+ "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics",
92
+ "workflow_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics",
93
+ "workflow_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics"
90
94
  },
91
95
  "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
92
96
  }
@@ -172,7 +176,9 @@ describe 'Workflow' do
172
176
  "task_reservation_timeout": 120,
173
177
  "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
174
178
  "links": {
175
- "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics"
179
+ "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics",
180
+ "workflow_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics",
181
+ "workflow_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics"
176
182
  },
177
183
  "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
178
184
  }
@@ -251,7 +257,9 @@ describe 'Workflow' do
251
257
  "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
252
258
  "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
253
259
  "links": {
254
- "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics"
260
+ "statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Statistics",
261
+ "workflow_real_time_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/RealTimeStatistics",
262
+ "workflow_cumulative_statistics": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workflows/WFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics"
255
263
  }
256
264
  }
257
265
  ]
@@ -0,0 +1,92 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+
7
+ require 'spec_helper.rb'
8
+
9
+ describe 'WorkspaceCumulativeStatistics' do
10
+ it "can fetch" do
11
+ @holodeck.mock(Twilio::Response.new(500, ''))
12
+
13
+ expect {
14
+ @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
15
+ .workspace_cumulative_statistics().fetch()
16
+ }.to raise_exception(Twilio::REST::TwilioError)
17
+
18
+ values = {}
19
+ expect(
20
+ @holodeck.has_request?(Holodeck::Request.new(
21
+ method: 'get',
22
+ url: 'https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics',
23
+ ))).to eq(true)
24
+ end
25
+
26
+ it "receives fetch responses" do
27
+ @holodeck.mock(Twilio::Response.new(
28
+ 200,
29
+ %q[
30
+ {
31
+ "reservations_accepted": 100,
32
+ "tasks_completed": 100,
33
+ "start_time": "2015-07-30T20:00:00Z",
34
+ "reservations_rescinded": 100,
35
+ "tasks_timed_out_in_workflow": 100,
36
+ "end_time": "2015-07-30T20:00:00Z",
37
+ "avg_task_acceptance_time": 100,
38
+ "tasks_canceled": 100,
39
+ "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/CumulativeStatistics",
40
+ "tasks_moved": 100,
41
+ "tasks_deleted": 100,
42
+ "tasks_created": 100,
43
+ "reservations_canceled": 100,
44
+ "reservations_timed_out": 100,
45
+ "wait_duration_until_canceled": {
46
+ "avg": 0,
47
+ "min": 0,
48
+ "max": 0,
49
+ "total": 0
50
+ },
51
+ "wait_duration_until_accepted": {
52
+ "avg": 0,
53
+ "min": 0,
54
+ "max": 0,
55
+ "total": 0
56
+ },
57
+ "split_by_wait_time": {
58
+ "5": {
59
+ "above": {
60
+ "tasks_canceled": 0,
61
+ "reservations_accepted": 0
62
+ },
63
+ "below": {
64
+ "tasks_canceled": 0,
65
+ "reservations_accepted": 0
66
+ }
67
+ },
68
+ "10": {
69
+ "above": {
70
+ "tasks_canceled": 0,
71
+ "reservations_accepted": 0
72
+ },
73
+ "below": {
74
+ "tasks_canceled": 0,
75
+ "reservations_accepted": 0
76
+ }
77
+ }
78
+ },
79
+ "reservations_created": 100,
80
+ "reservations_rejected": 100,
81
+ "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
82
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
83
+ }
84
+ ]
85
+ ))
86
+
87
+ actual = @client.taskrouter.v1.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
88
+ .workspace_cumulative_statistics().fetch()
89
+
90
+ expect(actual).to_not eq(nil)
91
+ end
92
+ end