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 __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 mock import patch, Mock from nose.tools import raises from tests.tools import create_mock_json from twilio.rest.resources import Usage from twilio.rest.resources.usage import UsageTriggers, UsageTrigger BASE_URI = "https://api.twilio.com/2010-04-01/Accounts/AC123" ACCOUNT_SID = "AC123" AUTH = (ACCOUNT_SID, "token") usage = Usage(BASE_URI, AUTH) @patch("twilio.rest.resources.base.make_twilio_request") def test_triggers_create(request): resp = create_mock_json("tests/resources/usage_triggers_instance.json") resp.status_code = 201 request.return_value = resp usage.triggers.create(friendly_name="foo", usage_category="sms", trigger_by="count", recurring="price", trigger_value="10.00", callback_url="http://www.example.com", callback_method="POST") uri = "%s/Usage/Triggers" % BASE_URI request.assert_called_with("POST", uri,