8000 More comprehensive integration test suite · sangsiri/twilio-python@78d4b38 · GitHub
[go: up one dir, main page]

Skip to content

Commit 78d4b38

Browse files
author
matt
committed
More comprehensive integration test suite
The suite has revealed various deficiencies in that are also addressed in this commit - Semantic date_time arguments were not being serialized appropriately - Serializers did not test the values.unset case - delete() resulting in a 5xx error code should raise an exception - tests.integrtion.holodeck.Request is more broadly useful, moved to twilio.rest.http.request.Request - Integration tests revealed various errors in the construction of some resources, these have been repaired.
1 parent a769048 commit 78d4b38

File tree

91 files changed

+1686
-150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1686
-150
lines changed

tests/integration/api/v2010/account/address/test_dependent_phone_number.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Addresses/ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DependentPhoneNumbers.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Addresses/ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DependentPhoneNumbers.json',
2828
))

tests/integration/api/v2010/account/available_phone_number/test_local.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Local.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Local.json',
2828
))

tests/integration/api/v2010/account/available_phone_number/test_mobile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Mobile.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/Mobile.json',
2828
))

tests/integration/api/v2010/account/available_phone_number/test_toll_free.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/TollFree.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AvailablePhoneNumbers/US/TollFree.json',
2828
))

tests/integration/api/v2010/account/call/test_feedback.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,24 @@
1414

1515
class FeedbackTestCase(IntegrationTestCase):
1616

17+
def test_create_request(self):
18+
self.holodeck.mock(Response(500, ''))
19+
20+
with self.assertRaises(TwilioException):
21+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
22+
.calls(sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
23+
.feedback().create(quality_score=1)
24+
25+
values = {
26+
'QualityScore': 1,
27+
}
28+
29+
self.holodeck.assert_has_request(Request(
30+
'post',
31+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json',
32+
data=values,
33+
))
34+
1735
def test_fetch_request(self):
1836
self.holodeck.mock(Response(500, ''))
1937

@@ -24,5 +42,23 @@ def test_fetch_request(self):
2442

2543
self.holodeck.assert_has_request(Request(
2644
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json'
45+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json',
46+
))
47+
48+
def test_update_request(self):
49+
self.holodeck.mock(Response(500, ''))
50+
51+
with self.assertRaises(TwilioException):
52+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
53+
.calls(sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
54+
.feedback().update(quality_score=1)
55+
56+
values = {
57+
'QualityScore': 1,
58+
}
59+
60+
self.holodeck.assert_has_request(Request(
61+
'post',
62+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json',
63+
data=values,
2864
))

tests/integration/api/v2010/account/call/test_feedback_summary.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,35 @@
66
/ /
77
"""
88

9+
from datetime import date
910
from tests.integration import IntegrationTestCase
1011
from tests.integration.holodeck import Request
1112
from twilio.exceptions import TwilioException
1213
from twilio.http.response import Response
14+
from twilio.rest import serialize
1315

1416

1517
class FeedbackSummaryTestCase(IntegrationTestCase):
1618

19+
def test_create_request(self):
20+
self.holodeck.mock(Response(500, ''))
21+
22+
with self.assertRaises(TwilioException):
23+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
24+
.calls \
25+
.feedback_summaries.create(start_date=date(2008, 1, 2), end_date=date(2008, 1, 2))
26+
27+
values = {
28+
'StartDate': serialize.iso8601_date(date(2008, 1, 2)),
29+
'EndDate': serialize.iso8601_date(date(2008, 1, 2)),
30+
}
31+
32+
self.holodeck.assert_has_request(Request(
33+
'post',
34+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json',
35+
data=values,
36+
))
37+
1738
def test_fetch_request(self):
1839
self.holodeck.mock(Response(500, ''))
1940

@@ -24,5 +45,18 @@ def test_fetch_request(self):
2445

2546
self.holodeck.assert_has_request(Request(
2647
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary/FSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
48+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary/FSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
49+
))
50+
51+
def test_delete_request(self):
52+
self.holodeck.mock(Response(500, ''))
53+
54+
with self.assertRaises(TwilioException):
55+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
56+
.calls \
57+
.feedback_summaries(sid="FSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
58+
59+
self.holodeck.assert_has_request(Request(
60+
'delete',
61+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary/FSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
2862
))

tests/integration/api/v2010/account/call/test_notification.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,20 @@ def test_fetch_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications/NOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications/NOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
28+
))
29+
30+
def test_delete_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.calls(sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
36+
.notifications(sid="NOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
37+
38+
self.holodeck.assert_has_request(Request(
39+
'delete',
40+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications/NOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
2841
))
2942

3043
def test_read_request(self):
@@ -37,5 +50,5 @@ def test_read_request(self):
3750

3851
self.holodeck.assert_has_request(Request(
3952
'get',
40-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json'
53+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json',
4154
))

tests/integration/api/v2010/account/call/test_recording.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,20 @@ def test_fetch_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
28+
))
29+
30+
def test_delete_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.calls(sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
36+
.recordings(sid="REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
37+
38+
self.holodeck.assert_has_request(Request(
39+
'delete',
40+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
2841
))
2942

3043
def test_read_request(self):
@@ -37,5 +50,5 @@ def test_read_request(self):
3750

3851
self.holodeck.assert_has_request(Request(
3952
'get',
40-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json'
53+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json',
4154
))

tests/integration/api/v2010/account/conference/test_participant.py

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,38 @@ def test_fetch_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
28+
))
29+
30+
def test_update_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.conferences(sid="CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
36+
.participants(call_sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update(muted=True)
37+
38+
values = {
39+
'Muted': True,
40+
}
41+
42+
self.holodeck.assert_has_request(Request(
43+
'post',
44+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
45+
data=values,
46+
))
47+
48+
def test_delete_request(self):
49+
self.holodeck.mock(Response(500, ''))
50+
51+
with self.assertRaises(TwilioException):
52+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
53+
.conferences(sid="CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
54+
.participants(call_sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
55+
56+
self.holodeck.assert_has_request(Request(
57+
'delete',
58+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
2859
))
2960

3061
def test_read_request(self):
@@ -37,5 +68,5 @@ def test_read_request(self):
3768

3869
self.holodeck.assert_has_request(Request(
3970
'get',
40-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json'
71+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json',
4172
))

tests/integration/api/v2010/account/incoming_phone_number/test_local.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,24 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json',
28+
))
29+
30+
def test_create_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.incoming_phone_numbers \
36+
.local.create(area_code="area_code", phone_number="+987654321")
37+
38+
values = {
39+
'AreaCode': "area_code",
40+
'PhoneNumber': "+987654321",
41+
}
42+
43+
self.holodeck.assert_has_request(Request(
44+
'post',
45+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Local.json',
46+
data=values,
2847
))

tests/integration/api/v2010/account/incoming_phone_number/test_mobile.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,24 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Mobile.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Mobile.json',
28+
))
29+
30+
def test_create_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.incoming_phone_numbers \
36+
.mobile.create(area_code="area_code", phone_number="+987654321")
37+
38+
values = {
39+
'AreaCode': "area_code",
40+
'PhoneNumber': "+987654321",
41+
}
42+
43+
self.holodeck.assert_has_request(Request(
44+
'post',
45+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/Mobile.json',
46+
data=values,
2847
))

tests/integration/api/v2010/account/incoming_phone_number/test_toll_free.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,24 @@ def test_read_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/TollFree.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/TollFree.json',
28+
))
29+
30+
def test_create_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.incoming_phone_numbers \
36+
.toll_free.create(area_code="area_code", phone_number="+987654321")
37+
38+
values = {
39+
'AreaCode': "area_code",
40+
'PhoneNumber': "+987654321",
41+
}
42+
43+
self.holodeck.assert_has_request(Request(
44+
'post',
45+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/TollFree.json',
46+
data=values,
2847
))

tests/integration/api/v2010/account/message/test_media.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,19 @@
1414

1515
class MediaTestCase(IntegrationTestCase):
1616

17+
def test_delete_request(self):
18+
self.holodeck.mock(Response(500, ''))
19+
20+
with self.assertRaises(TwilioException):
21+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
22+
.messages(sid="MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
23+
.media(sid="MEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").delete()
24+
25+
self.holodeck.assert_has_request(Request(
26+
'delete',
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media/MEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
28+
))
29+
1730
def test_fetch_request(self):
1831
self.holodeck.mock(Response(500, ''))
1932

@@ -24,7 +37,7 @@ def test_fetch_request(self):
2437

2538
self.holodeck.assert_has_request(Request(
2639
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media/MEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
40+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media/MEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
2841
))
2942

3043
def test_read_request(self):
@@ -37,5 +50,5 @@ def test_read_request(self):
3750

3851
self.holodeck.assert_has_request(Request(
3952
'get',
40-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json'
53+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages/MMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Media.json',
4154
))

tests/integration/api/v2010/account/queue/test_member.py

Original file line numberDiff line numberDiff line change
@@ -24,7 +24,26 @@ def test_fetch_request(self):
2424

2525
self.holodeck.assert_has_request(Request(
2626
'get',
27-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues/QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
27+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues/QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
28+
))
29+
30+
def test_update_request(self):
31+
self.holodeck.mock(Response(500, ''))
32+
33+
with self.assertRaises(TwilioException):
34+
self.twilio.api.v2010.accounts(sid="ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
35+
.queues(sid="QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") \
36+
.members(call_sid="CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").update(url="https://example.com", method="GET")
37+
38+
values = {
39+
'Url': "https://example.com",
40+
'Method': "GET",
41+
}
42+
43+
self.holodeck.assert_has_request(Request(
44+
'post',
45+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues/QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json',
46+
data=values,
2847
))
2948

3049
def test_read_request(self):
@@ -37,5 +56,5 @@ def test_read_request(self):
3756

3857
self.holodeck.assert_has_request(Request(
3958
'get',
40-
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues/QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members.json'
59+
'https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Queues/QUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Members.json',
4160
))