8000 Adding worker channel capability · SudiptaIITKGP/twilio-python@dc05aad · GitHub
[go: up one dir, main page]

Skip to content

Commit dc05aad

Browse files
committed
Adding worker channel capability
1 parent 22b84cd commit dc05aad

File tree

4 files changed

+26
-11
lines changed

4 files changed

+26
-11
lines changed

tests/task_router/test_capability.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,23 @@ def test_defaults(self):
9393
'query_filter': {},
9494
'post_filter': {},
9595
},
96+
{
97+
'url': 'https://taskrouter.twilio.com/v1/Workspaces/{0}/Workers/{1}/Channels/**'.format(self.workspace_sid, self.worker_sid),
98+
'method': 'GET',
99+
'allow': True,
100+
'query_filter': {},
101+
'post_filter': {},
102+
},
96103
{
97104
'url': 'https://taskrouter.twilio.com/v1/Workspaces/{0}/Workers/{1}'.format(self.workspace_sid, self.worker_sid),
98105
'method': 'GET',
99106
'allow': True,
100107
'query_filter': {},
101108
'post_filter': {},
102109
}
110+
103111
]
112+
print decoded['policies']
104113
self.assertEqual(expected, decoded['policies'])
105114

106115
def test_allow_worker_activity_updates(self):

tests/task_router/test_task_router_capability.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_workspace_default(self):
4545
self.check_decoded(decoded, account_sid, workspace_sid, channel_id)
4646

4747
policies = decoded['policies']
48-
self.assertEqual(len(policies), 3)
48+
self.assertEqual(len(policies), 4)
4949

5050
for method, url, policy in [
5151
('GET', "https://event-bridge.twilio.com/v1/wschannels/AC123/WS456", policies[0]),
@@ -72,15 +72,16 @@ def test_worker_default(self):
7272
self.check_decoded(decoded, account_sid, workspace_sid, worker_sid, worker_sid)
7373

7474
policies = decoded['policies']
75-
self.assertEqual(len(policies), 6)
75+
self.assertEqual(len(policies), 7)
7676

7777
for method, url, policy in [
7878
('GET', "https://event-bridge.twilio.com/v1/wschannels/AC123/WK789", policies[0]),
7979
('POST', "https://event-bridge.twilio.com/v1/wschannels/AC123/WK789", policies[1]),
8080
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789", policies[2])
8181
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities", policies[3]),
8282
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**", policies[4]),
83-
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789/Reservations/**", policies[5])
83+
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789/Reservations/**", policies[5]),
84+
('GET', "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789/Channels/**", policies[6])
8485
]:
8586
yield self.check_policy, method, url, policy
8687

@@ -102,7 +103,7 @@ def test_task_queue_default(self):
102103
self.check_decoded(decoded, account_sid, workspace_sid, taskqueue_sid, taskqueue_sid)
103104

104105
policies = decoded['policies']
105-
self.assertEqual(len(policies), 3)
106+
self.assertEqual(len(policies), 4)
106107

107108
for method, url, policy in [
108109
('GET', "https://event-bridge.twilio.com/v1/wschannels/AC123/WQ789", policies[0]),
@@ -129,7 +130,7 @@ def test_deprecated_worker(self):
129130
self.check_decoded(decoded, account_sid, workspace_sid, worker_sid, worker_sid)
130131

131132
policies = decoded['policies']
132-
self.assertEqual(len(policies), 6)
133+
self.assertEqual(len(policies), 7)
133134

134135
# should expect 6 policies
135136
for method, url, policy in [

tests/task_router/test_task_router_worker_capability.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def test_defaults(self):
7474

7575
# expect 6 policies
7676
policies = decoded['policies']
77-
self.assertEqual(len(policies), 6)
77+
self.assertEqual(len(policies), 7)
7878

7979
# should expect 6 policies
8080
for method, url, policy in [
@@ -99,8 +99,8 @@ def test_allow_activity_updates(self):
9999
self.assertNotEqual(None, decoded)
100100

101101
policies = decoded['policies']
102-
self.assertEqual(len(policies), 7)
103-
policy = policies[6]
102+
self.assertEqual(len(policies), 8)
103+
policy = policies[7]
104104

105105
url = "https://taskrouter.twilio.com/v1/Workspaces/{0}/Workers/{1}".format(self.workspace_sid, self.worker_sid)
106106

@@ -122,13 +122,13 @@ def test_allow_reservation_updates(self):
122122
self.assertNotEqual(None, decoded)
123123

124124
77F4 policies = decoded['policies']
125-
self.assertEqual(len(policies), 8)
125+
self.assertEqual(len(policies), 9)
126126

127-
taskPolicy = policies[6]
127+
taskPolicy = policies[7]
128128
tasksUrl = "https://taskrouter.twilio.com/v1/Workspaces/{0}/Tasks/**".format(self.workspace_sid)
129129
self.check_policy('POST', tasksUrl, taskPolicy)
130130

131-
workerReservationsPolicy = policies[7]
131+
workerReservationsPolicy = policies[8]
132132
reservationsUrl = "https://taskrouter.twilio.com/v1/Workspaces/{0}/Workers/{1}/Reservations/**".format(self.workspace_sid, self.worker_sid)
133133
self.check_policy('POST', reservationsUrl, workerReservationsPolicy)
134134

twilio/task_router/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ def setup_resource(self):
7171
worker_reservations_url = self.resource_url + "/Reservations/**"
7272
self.allow(worker_reservations_url, "GET")
7373

74+
channel_url = self.resource_url + "/Channels/**"
75+
self.allow(channel_url, "GET")
76+
7477
elif self.channel_prefix == "WQ":
7578
self.resource_url = "{0}/TaskQueues/{1}".format(
7679
self.base_url, self.channel_id)
@@ -219,12 +222,14 @@ def __init__(self, account_sid, auth_token, workspace_sid, worker_sid):
219222
self.activity_url = self.base_url + "/Activities"
220223
self.reservations_url = self.base_url + "/Tasks/**"
221224
self.worker_reservations_url = self.resource_url + "/Reservations/**"
225+
self.channel_url = self.resource_url + "/Channels/**"
222226

223227
# add permissions to fetch the
224228
# list of activities, tasks, and worker reservations
225229
self.allow(self.activity_url, "GET")
226230
self.allow(self.reservations_url, "GET")
227231
self.allow(self.worker_reservations_url, "GET")
232+
self.allow(self.channel_url, "GET")
228233

229234
def setup_resource(self):
230235
self.resource_url = self.base_url + "/Workers/" + self.channel_id

0 commit comments

Comments
 (0)
0