1
+ import sys
2
+ sys .path .append ('/Users/wli/Projects/python-private/twilio/' )
3
+
1
4
import unittest
2
5
import warnings
3
6
7
10
8
11
class TaskRouterCapabilityTest (unittest .TestCase ):
9
12
13
+ def check_policy (self , method , url , policy ):
14
+ print policy
15
+ self .assertEqual (url , policy ['url' ])
16
+ self .assertEqual (method , policy ['method' ])
17
+ self .assertTrue (policy ['allow' ])
18
+ self .assertEqual ({}, policy ['query_filter' ])
19
+ self .assertEqual ({}, policy ['post_filter' ])
20
+
10
21
def test_workspace_default (self ):
11
22
account_sid = "AC123"
12
23
auth_token = "foobar"
@@ -32,29 +43,12 @@ def test_workspace_default(self):
32
43
policies = decoded ['policies' ]
33
44
self .assertEqual (len (policies ), 3 )
34
45
35
- # websocket GET
36
- get_policy = policies [0 ]
37
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WS456" , get_policy ['url' ])
38
- self .assertEqual ("GET" , get_policy ['method' ])
39
- self .assertTrue (get_policy ['allow' ])
40
- self .assertEqual ({}, get_policy ['query_filter' ])
41
- self .assertEqual ({}, get_policy ['post_filter' ])
42
-
43
- # websocket POST
44
- post_policy = policies [1 ]
45
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WS456" , post_policy ['url' ])
46
- self .assertEqual ("POST" , post_policy ['method' ])
47
- self .assertTrue (post_policy ['allow' ])
48
- self .assertEqual ({}, post_policy ['query_filter' ])
49
- self .assertEqual ({}, post_policy ['post_filter' ])
50
-
51
- # fetch GET
52
- fetch_policy = policies [2 ]
53
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456" , fetch_policy ['url' ])
54
- self .assertEqual ("GET" , fetch_policy ['method' ])
55
- self .assertTrue (fetch_policy ['allow' ])
56
- self .assertEqual ({}, fetch_policy ['query_filter' ])
57
- self .assertEqual ({}, fetch_policy ['post_filter' ])
46
+ for method , url , policy in [
47
+ ('GET' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WS456" , policies [0 ]),
48
+ ('POST' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WS456" , policies [1 ]),
49
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456" , policies [2 ]),
50
+ ]:
51
+ yield self .check_policy , method , url , policy
58
52
59
53
def test_worker_default (self ):
60
54
account_sid = "AC123"
@@ -82,45 +76,14 @@ def test_worker_default(self):
82
76
policies = decoded ['policies' ]
83
77
self .assertEqual (len (policies ), 5 )
84
78
85
- # activity GET
86
- fetch_activity = policies [0 ]
87
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities" , fetch_activity ['url' ])
88
- self .assertEqual ("GET" , fetch_activity ['method' ])
89
- self .assertTrue (fetch_activity ['allow' ])
90
- self .assertEqual ({}, fetch_activity ['query_filter' ])
91
- self .assertEqual ({}, fetch_activity ['post_filter' ])
92
-
93
- # reservation GET
94
- fetch_reservation = policies [1 ]
95
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**" , fetch_reservation ['url' ])
96
- self .assertEqual ("GET" , fetch_reservation ['method' ])
97
- self .assertTrue (fetch_reservation ['allow' ])
98
- self .assertEqual ({}, fetch_reservation ['query_filter' ])
99
- self .assertEqual ({}, fetch_reservation ['post_filter' ])
100
-
101
- # websocket GET
102
- get_policy = policies [2 ]
103
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , get_policy ['url' ])
104
- self .assertEqual ("GET" , get_policy ['method' ])
105
- self .assertTrue (get_policy ['allow' ])
106
- self .assertEqual ({}, get_policy ['query_filter' ])
107
- self .assertEqual ({}, get_policy ['post_filter' ])
108
-
109
- # websocket POST
110
- post_policy = policies [3 ]
111
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , post_policy ['url' ])
112
- self .assertEqual ("POST" , post_policy ['method' ])
113
- self .assertTrue (post_policy ['allow' ])
114
- self .assertEqual ({}, post_policy ['query_filter' ])
115
- self .assertEqual ({}, post_policy ['post_filter' ])
116
-
117
- # fetch GET
118
- fetch_policy = policies [4 ]
119
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789" , fetch_policy ['url' ])
120
- self .assertEqual ("GET" , fetch_policy ['method' ])
121
- self .assertTrue (fetch_policy ['allow' ])
122
- self .assertEqual ({}, fetch_policy ['query_filter' ])
123
- self .assertEqual ({}, fetch_policy ['post_filter' ])
79
+ for method , url , policy in [
80
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities" , policies [0 ]),
81
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**" , policies [1 ]),
82
+ ('GET' , "https://taskrouter.twilio.com/v1/wschannels/AC123/WK789" , policies [2 ]),
83
+ ('POST' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , policies [3 ]),
84
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789" , policies [4 ])
85
+ ]:
86
+ yield self .check_policy , method , url , policy
124
87
125
88
def test_task_queue_default (self ):
126
89
account_sid = "AC123"
@@ -148,29 +111,12 @@ def test_task_queue_default(self):
148
111
policies = decoded ['policies' ]
149
112
self .assertEqual (len (policies ), 3 )
150
113
151
- # websocket GET
152
- get_policy = policies [0 ]
153
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WQ789" , get_policy ['url' ])
154
- self .assertEqual ("GET" , get_policy ['method' ])
155
- self .assertTrue (get_policy ['allow' ])
156
- self .assertEqual ({}, get_policy ['query_filter' ])
157
- self .assertEqual ({}, get_policy ['post_filter' ])
158
-
159
- # websocket POST
160
- post_policy = policies [1 ]
161
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WQ789" , post_policy ['url' ])
162
- self .assertEqual ("POST" , post_policy ['method' ])
163
- self .assertTrue (post_policy ['allow' ])
164
- self .assertEqual ({}, post_policy ['query_filter' ])
165
- self .assertEqual ({}, post_policy ['post_filter' ])
166
-
167
- # fetch GET
168
- fetch_policy = policies [2 ]
169
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/TaskQueues/WQ789" , fetch_policy ['url' ])
170
- self .assertEqual ("GET" , fetch_policy ['method' ])
171
- self .assertTrue (fetch_policy ['allow' ])
172
- self .assertEqual ({}, fetch_policy ['query_filter' ])
173
- self .assertEqual ({}, fetch_policy ['post_filter' ])
114
+ for method , url , policy in [
115
+ ('GET' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WQ789" , policies [0 ]),
116
+ ('POST' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WQ789" , policies [1 ])
117
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/TaskQueues/WQ789" , policies [2 ])
118
+ ]:
119
+ yield self .check_policy , method , url , policy
174
120
175
121
def test_deprecated_worker (self ):
176
122
account_sid = "AC123"
@@ -199,46 +145,14 @@ def test_deprecated_worker(self):
199
145
self .assertEqual (len (policies ), 5 )
200
146
201
147
# should expect 5 policies
202
-
203
- # activity GET
204
- fetch_activity = policies [0 ]
205
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities" , fetch_activity ['url' ])
206
- self .assertEqual ("GET" , fetch_activity ['method' ])
207
- self .assertTrue (fetch_activity ['allow' ])
208
- self .assertEqual ({}, fetch_activity ['query_filter' ])
209
- self .assertEqual ({}, fetch_activity ['post_filter' ])
210
-
211
- # reservation GET
212
- fetch_reservation = policies [1 ]
213
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**" , fetch_reservation ['url' ])
214
- self .assertEqual ("GET" , fetch_reservation ['method' ])
215
- self .assertTrue (fetch_reservation ['allow' ])
216
- self .assertEqual ({}, fetch_reservation ['query_filter' ])
217
- self .assertEqual ({}, fetch_reservation ['post_filter' ])
218
-
219
- # websocket GET
220
- get_policy = policies [2 ]
221
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , get_policy ['url' ])
222
- self .assertEqual ("GET" , get_policy ['method' ])
223
- self .assertTrue (get_policy ['allow' ])
224
- self .assertEqual ({}, get_policy ['query_filter' ])
225
- self .assertEqual ({}, get_policy ['post_filter' ])
226
-
227
- # websocket POST
228
- post_policy = policies [3 ]
229
- self .assertEqual ("https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , post_policy ['url' ])
230
- self .assertEqual ("POST" , post_policy ['method' ])
231
- self .assertTrue (post_policy ['allow' ])
232
- self .assertEqual ({}, post_policy ['query_filter' ])
233
- self .assertEqual ({}, post_policy ['post_filter' ])
234
-
235
- # fetch GET
236
- fetch_policy = policies [4 ]
237
- self .assertEqual ("https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789" , fetch_policy ['url' ])
238
- self .assertEqual ("GET" , fetch_policy ['method' ])
239
- self .assertTrue (fetch_policy ['allow' ])
240
- self .assertEqual ({}, fetch_policy ['query_filter' ])
241
- self .assertEqual ({}, fetch_policy ['post_filter' ])
148
+ for method , url , policy in [
149
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Activities" , policies [0 ]),
150
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Tasks/**" , policies [1 ]),
151
+ ('GET' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , policies [2 ]),
152
+ ('POST' , "https://event-bridge.twilio.com/v1/wschannels/AC123/WK789" , policies [3 ]),
153
+ ('GET' , "https://taskrouter.twilio.com/v1/Workspaces/WS456/Workers/WK789" , policies [4 ])
154
+ ]:
155
+ yield self .check_policy , method , url , policy
242
156
243
157
# check deprecated warnings
244
158
with warnings .catch_warnings (record = True ) as w :
0 commit comments