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
class ConnectAppTest(unittest.TestCase): def setUp(self): self.parent = Mock() self.uri = "/base" self.auth = ("AC123", "token") self.resource = ConnectApps(self.uri, self.auth) @patch("twilio.rest.resources.base.make_twilio_request") def test_get(self, mock): mock.return_value = Mock() mock.return_value.content = '{"sid": "SID"}' self.resource.get("SID") mock.assert_called_with("GET", "/base/ConnectApps/SID", auth=self.auth, use_json_extension=True) @patch("twilio.rest.resources.base.make_twilio_request") def test_list_with_paging(self, mock): mock.return_value = Mock() mock.return_value.content = '{"connect_apps": []}' self.resource.list(page=1, page_size=50) mock.assert_called_with("GET", "/base/ConnectApps", params={ "Page": 1, "PageSize": 50 }, auth=self.auth, use_json_extension=True) @patch("twilio.rest.resources.base.make_twilio_request") def test_list(self, mock): mock.return_value = Mock() mock.return_value.content = '{"connect_apps": []}' self.resource.list() mock.assert_called_with("GET", "/base/ConnectApps", params={}, auth=self.auth, use_json_extension=True) def test_create(self): self.assertRaises(AttributeError, getattr, self.resource, 'create') def test_delete(self): self.assertRaises(AttributeError, getattr, self.resource, 'delete') def test_update(self): self.assertRaises(AttributeError, getattr, self.resource, 'update')
class ConnectAppTest(unittest.TestCase): def setUp(self): self.parent = Mock() self.uri = "/base" self.auth = ("AC123", "token") self.resource = ConnectApps(self.uri, self.auth) @patch("twilio.rest.resources.base.make_twilio_request") def test_get(self, mock): mock.return_value = Mock() mock.return_value.content = '{"sid": "SID"}' self.resource.get("SID") mock.assert_called_with("GET", "/base/ConnectApps/SID", auth=self.auth, use_json_extension=True) @patch("twilio.rest.resources.base.make_twilio_request") def test_list_with_paging(self, mock): mock.return_value = Mock() mock.return_value.content = '{"connect_apps": []}' self.resource.list(page=1, page_size=50) mock.assert_called_with("GET", "/base/ConnectApps", params={"Page": 1, "PageSize": 50}, auth=self.auth, use_json_extension=True) @patch("twilio.rest.resources.base.make_twilio_request") def test_list(self, mock): mock.return_value = Mock() mock.return_value.content = '{"connect_apps": []}' self.resource.list() mock.assert_called_with("GET", "/base/ConnectApps", params={}, auth=self.auth, use_json_extension=True) def test_create(self): self.assertRaises(AttributeError, getattr, self.resource, 'create') def test_delete(self): self.assertRaises(AttributeError, getattr, self.resource, 'delete') def test_update(self): self.assertRaises(AttributeError, getattr, self.resource, 'update')
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)
def setUp(self): self.parent = Mock() self.uri = "/base" self.auth = ("AC123", "token") self.resource = ConnectApps(self.uri, self.auth)