def test_create_call_feedback_one_request(self, request): resp = create_mock_json('tests/resources/call_feedback.json') resp.status_code = 201 request.return_value = resp base_uri = 'https://api.twilio.com/2010-04-01/Accounts/AC123' account_sid = 'AC123' auth = (account_sid, "token") calls = Calls(base_uri, auth) uri = "%s/Calls/CA123/Feedback" % base_uri feedback = calls.feedback( 'CA123', quality_score=5, issue=['imperfect-audio', 'post-dial-delay'] ) exp_data = { 'QualityScore': 5, 'Issue': ['imperfect-audio', 'post-dial-delay'], } assert_equal(['imperfect-audio', 'post-dial-delay'], feedback.issues) request.assert_called_with( "POST", uri, data=exp_data, auth=auth, use_json_extension=True, )
def test_create_call_feedback_one_request(self, request): resp = create_mock_json('tests/resources/call_feedback.json') resp.status_code = 201 request.return_value = resp base_uri = 'https://api.twilio.com/2010-04-01/Accounts/AC123' account_sid = 'AC123' auth = (account_sid, "token") calls = Calls(base_uri, auth) uri = "%s/Calls/CA123/Feedback" % base_uri feedback = calls.feedback('CA123', quality_score=5, issue=['imperfect-audio', 'post-dial-delay']) exp_data = { 'QualityScore': 5, 'Issue': ['imperfect-audio', 'post-dial-delay'], } assert_equal(['imperfect-audio', 'post-dial-delay'], feedback.issues) request.assert_called_with( "POST", uri, data=exp_data, auth=auth, use_json_extension=True, )
def __init__(self, account=None, token=None, base="https://api.twilio.com", version="2010-04-01", client=None): """ Create a Twilio REST API client. """ # Get account credentials if not account or not token: account, token = find_credentials() if not account or not token: raise TwilioException("Could not find account credentials") auth = (account, token) version_uri = "%s/%s" % (base, version) account_uri = "%s/%s/Accounts/%s" % (base, version, account) self.accounts = Accounts(version_uri, auth) self.applications = Applications(account_uri, auth) self.calls = Calls(account_uri, auth) self.caller_ids = CallerIds(account_uri, auth) self.notifications = Notifications(account_uri, auth) self.recordings = Recordings(account_uri, auth) self.transcriptions = Transcriptions(account_uri, auth) self.sms = Sms(account_uri, auth) self.phone_numbers = PhoneNumbers(account_uri, auth) self.conferences = Conferences(account_uri, auth) self.sandboxes = Sandboxes(account_uri, auth) self.auth = auth self.account_uri = account_uri
def __init__(self, account=None, token=None, base="https://api.twilio.com", version="2010-04-01", client=None, timeout=UNSET_TIMEOUT): """ Create a Twilio REST API client. """ # Get account credentials if not account or not token: account, token = find_credentials() if not account or not token: raise TwilioException(""" Twilio could not find your account credentials. Pass them into the TwilioRestClient constructor like this: client = TwilioRestClient(account='AC38135355602040856210245275870', token='2flnf5tdp7so0lmfdu3d') Or, add your credentials to your shell environment. From the terminal, run echo "export TWILIO_ACCOUNT_SID=AC3813535560204085626521" >> ~/.bashrc echo "export TWILIO_AUTH_TOKEN=2flnf5tdp7so0lmfdu3d7wod" >> ~/.bashrc and be sure to replace the values for the Account SID and auth token with the values from your Twilio Account at https://www.twilio.com/user/account. """) self.base = base auth = (account, token) version_uri = "%s/%s" % (base, version) account_uri = "%s/%s/Accounts/%s" % (base, version, account) self.accounts = Accounts(version_uri, auth, timeout) self.applications = Applications(account_uri, auth, timeout) self.authorized_connect_apps = AuthorizedConnectApps( account_uri, auth, timeout) self.calls = Calls(account_uri, auth, timeout) self.caller_ids = CallerIds(account_uri, auth, timeout) self.connect_apps = ConnectApps(account_uri, auth, timeout) self.notifications = Notifications(account_uri, auth, timeout) self.recordings = Recordings(account_uri, auth, timeout) self.transcriptions = Transcriptions(account_uri, auth, timeout) self.sms = Sms(account_uri, auth, timeout) self.phone_numbers = PhoneNumbers(account_uri, auth, timeout) self.conferences = Conferences(account_uri, auth, timeout) self.queues = Queues(account_uri, auth, timeout) self.sandboxes = Sandboxes(account_uri, auth, timeout) self.usage = Usage(account_uri, auth, timeout) self.messages = Messages(account_uri, auth, timeout) self.media = MediaList(account_uri, auth, timeout) self.sip = Sip(account_uri, auth, timeout) self.auth = auth self.account_uri = account_uri self.timeout = timeout
def test_create_call_feedback_one_request(self, request): resp = create_mock_json("tests/resources/call_feedback.json") resp.status_code = 201 request.return_value = resp base_uri = "https://api.twilio.com/2010-04-01/Accounts/AC123" account_sid = "AC123" auth = (account_sid, "token") calls = Calls(base_uri, auth) uri = "%s/Calls/CA123/Feedback" % base_uri feedback = calls.feedback("CA123", quality_score=5, issue=["imperfect-audio", "post-dial-delay"]) exp_data = {"QualityScore": 5, "Issue": ["imperfect-audio", "post-dial-delay"]} assert_equal(["imperfect-audio", "post-dial-delay"], feedback.issues) request.assert_called_with("POST", uri, data=exp_data, auth=auth)
def test_get_call_feedback_summary(self, request): resp = create_mock_json('tests/resources/call_feedback_summary.json') request.return_value = resp base_uri = 'https://api.twilio.com/2010-04-01/Accounts/AC123' account_sid = 'AC123' auth = (account_sid, "token") calls = Calls(base_uri, auth) uri = "%s/Calls/Summary" % base_uri feedback = calls.summary.get() assert_equal(10200, feedback.call_count) assert_equal(729, feedback.call_feedback_count) request.assert_called_with('GET', uri, params={}, auth=auth)
def __init__(self, account=None, token=None, base="https://api.twilio.com", version="2010-04-01", timeout=UNSET_TIMEOUT, request_account=None): """ Create a Twilio REST API client. """ super(TwilioRestClient, self).__init__(account, token, base, version, timeout, request_account) version_uri = "%s/%s" % (base, version) self.accounts = Accounts(version_uri, self.auth, timeout) self.applications = Applications(self.account_uri, self.auth, timeout) self.authorized_connect_apps = AuthorizedConnectApps( self.account_uri, self.auth, timeout ) self.addresses = Addresses(self.account_uri, self.auth, timeout) self.calls = Calls(self.account_uri, self.auth, timeout) self.caller_ids = CallerIds(self.account_uri, self.auth, timeout) self.connect_apps = ConnectApps(self.account_uri, self.auth, timeout) self.notifications = Notifications(self.account_uri, self.auth, timeout) self.recordings = Recordings(self.account_uri, self.auth, timeout) self.transcriptions = Transcriptions(self.account_uri, self.auth, timeout) self.sms = Sms(self.account_uri, self.auth, timeout) self.phone_numbers = PhoneNumbers(self.account_uri, self.auth, timeout) self.conferences = Conferences(self.account_uri, self.auth, timeout) self.queues = Queues(self.account_uri, self.auth, timeout) self.sandboxes = Sandboxes(self.account_uri, self.auth, timeout) self.usage = Usage(self.account_uri, self.auth, timeout) self.messages = Messages(self.account_uri, self.auth, timeout) self.media = MediaList(self.account_uri, self.auth, timeout) self.sip = Sip(self.account_uri, self.auth, timeout) self.tokens = Tokens(self.account_uri, self.auth, timeout) self.keys = Keys(self.account_uri, self.auth, timeout)
from datetime import date from mock import patch, Mock from nose.tools import raises, assert_equals, assert_true from twilio.rest.resources import Calls from tools import create_mock_json BASE_URI = "https://api.twilio.com/2010-04-01/Accounts/AC123" ACCOUNT_SID = "AC123" AUTH = (ACCOUNT_SID, "token") CALL_SID = "CA47e13748ed59a5733d2c1c1c69a83a28" list_resource = Calls(BASE_URI, AUTH) @patch("twilio.rest.resources.make_twilio_request") def test_paging(mock): resp = create_mock_json("tests/resources/calls_list.json") mock.return_value = resp uri = "{}/Calls".format(BASE_URI) list_resource.list(started=date(2010, 12, 5)) exp_params = {'StartTime': '2010-12-05'} mock.assert_called_with("GET", uri, params=exp_params, auth=AUTH) @patch("twilio.rest.resources.make_twilio_request") def test_paging(mock): resp = create_mock_json("tests/resources/calls_list.json") mock.return_value = resp