diff --git a/tests/ip_messaging/test_channels.py b/tests/ip_messaging/test_channels.py index 61faa2dfc6..9d23b8df3f 100644 --- a/tests/ip_messaging/test_channels.py +++ b/tests/ip_messaging/test_channels.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Channels, Channel from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Channels(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_channel(mock): - resp = create_mock_json("tests/resources/ip_messaging/channel_instance.json") - resp.status_code = 201 - mock.return_value = resp +class ChannelTest(unittest.TestCase): - uri = "%s/Channels" % (BASE_URI) - list_resource.create(friendly_name='TestChannel') - exp_params = { - 'FriendlyName': "TestChannel" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_channel(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/channel_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Channels" % (BASE_URI) + list_resource.create(friendly_name='TestChannel') + exp_params = { + 'FriendlyName': "TestChannel" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/channel_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/channel_instance.json") + mock.return_value = resp - uri = "%s/Channels/%s" % (BASE_URI, CHANNEL_SID) - list_resource.get(CHANNEL_SID) + uri = "%s/Channels/%s" % (BASE_URI, CHANNEL_SID) + list_resource.get(CHANNEL_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Channel(list_resource, "CH123") - app.delete() - uri = "%s/Channels/CH123" % (BASE_URI) - req.assert_called_with("DELETE", uri) + app = Channel(list_resource, "CH123") + app.delete() + uri = "%s/Channels/CH123" % (BASE_URI) + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_credentials.py b/tests/ip_messaging/test_credentials.py index 52b2c01c86..ae749db875 100644 --- a/tests/ip_messaging/test_credentials.py +++ b/tests/ip_messaging/test_credentials.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Credentials, Credential from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Credentials(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_credential(mock): - resp = create_mock_json("tests/resources/ip_messaging/credential_instance.json") - resp.status_code = 201 - mock.return_value = resp +class CredentialTest(unittest.TestCase): - uri = "%s/Credentials" % (BASE_URI) - list_resource.create('apn') - exp_params = { - 'Type': "apn" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_credential(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/credential_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Credentials" % (BASE_URI) + list_resource.create('apn') + exp_params = { + 'Type': "apn" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/credential_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/credential_instance.json") + mock.return_value = resp - uri = "%s/Credentials/%s" % (BASE_URI, CREDENTIAL_SID) - list_resource.get(CREDENTIAL_SID) + uri = "%s/Credentials/%s" % (BASE_URI, CREDENTIAL_SID) + list_resource.get(CREDENTIAL_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Credential(list_resource, "IS123") - app.delete() - uri = "https://ip-messaging.twilio.com/v1/Credentials/IS123" - req.assert_called_with("DELETE", uri) + app = Credential(list_resource, "IS123") + app.delete() + uri = "https://ip-messaging.twilio.com/v1/Credentials/IS123" + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_members.py b/tests/ip_messaging/test_members.py index fa05331870..23010bbee3 100644 --- a/tests/ip_messaging/test_members.py +++ b/tests/ip_messaging/test_members.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Members, Member from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Members(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_member(mock): - resp = create_mock_json("tests/resources/ip_messaging/member_instance.json") - resp.status_code = 201 - mock.return_value = resp +class MemberTest(unittest.TestCase): - uri = "%s/Members" % (BASE_URI) - list_resource.create('test_identity') - exp_params = { - 'Identity': "test_identity" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_member(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/member_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Members" % (BASE_URI) + list_resource.create('test_identity') + exp_params = { + 'Identity': "test_identity" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/member_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/member_instance.json") + mock.return_value = resp - uri = "%s/Members/%s" % (BASE_URI, MEMBER_SID) - list_resource.get(MEMBER_SID) + uri = "%s/Members/%s" % (BASE_URI, MEMBER_SID) + list_resource.get(MEMBER_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Member(list_resource, "MB123") - app.delete() - uri = "%s/Members/MB123" % (BASE_URI) - req.assert_called_with("DELETE", uri) + app = Member(list_resource, "MB123") + app.delete() + uri = "%s/Members/MB123" % (BASE_URI) + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_messages.py b/tests/ip_messaging/test_messages.py index c4fd6f8a2c..62f9d450d4 100644 --- a/tests/ip_messaging/test_messages.py +++ b/tests/ip_messaging/test_messages.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Messages, Message from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Messages(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_message(mock): - resp = create_mock_json("tests/resources/ip_messaging/message_instance.json") - resp.status_code = 201 - mock.return_value = resp +class MessageTest(unittest.TestCase): - uri = "%s/Messages" % (BASE_URI) - list_resource.create('TestBody') - exp_params = { - 'Body': "TestBody" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_message(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/message_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Messages" % (BASE_URI) + list_resource.create('TestBody') + exp_params = { + 'Body': "TestBody" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/message_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/message_instance.json") + mock.return_value = resp - uri = "%s/Messages/%s" % (BASE_URI, MESSAGE_SID) - list_resource.get(MESSAGE_SID) + uri = "%s/Messages/%s" % (BASE_URI, MESSAGE_SID) + list_resource.get(MESSAGE_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Message(list_resource, "MS123") - app.delete() - uri = "%s/Messages/MS123" % (BASE_URI) - req.assert_called_with("DELETE", uri) + app = Message(list_resource, "MS123") + app.delete() + uri = "%s/Messages/MS123" % (BASE_URI) + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_roles.py b/tests/ip_messaging/test_roles.py index 8160dcb7c9..b8485361ee 100644 --- a/tests/ip_messaging/test_roles.py +++ b/tests/ip_messaging/test_roles.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Roles, Role from tests.tools import create_mock_json @@ -10,27 +11,47 @@ list_resource = Roles(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/role_instance.json") - mock.return_value = resp - - uri = "%s/Roles/%s" % (BASE_URI, ROLE_SID) - list_resource.get(ROLE_SID) - - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) - - -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Role(list_resource, "RO123") - app.delete() - uri = "%s/Roles/RO123" % (BASE_URI) - req.assert_called_with("DELETE", uri) +class RoleTest(unittest.TestCase): + + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get_role(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/role_instance.json") + mock.return_value = resp + + uri = "%s/Roles/%s" % (BASE_URI, ROLE_SID) + list_resource.get(ROLE_SID) + + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_role(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/role_instance.json") + resp.status_code = 201 + mock.return_value = resp + + list_resource.create("Test Role", "deployment", "createChannel") + uri = "%s/Roles" % (BASE_URI) + mock.assert_called_with( + "POST", + uri, + data={ + 'FriendlyName': 'Test Role', + 'Type': 'deployment', + 'Permission': 'createChannel' + }, + auth=AUTH, + use_json_extension=False + ) + + @patch("twilio.rest.resources.base.Resource.request") + def test_delete_role(self, req): + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} + + app = Role(list_resource, "RO123") + app.delete() + uri = "%s/Roles/RO123" % (BASE_URI) + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_services.py b/tests/ip_messaging/test_services.py index 04b24a7f14..e8bd5cde85 100644 --- a/tests/ip_messaging/test_services.py +++ b/tests/ip_messaging/test_services.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Services, Service from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Services(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_service(mock): - resp = create_mock_json("tests/resources/ip_messaging/service_instance.json") - resp.status_code = 201 - mock.return_value = resp +class ServiceTest(unittest.TestCase): - uri = "%s/Services" % (BASE_URI) - list_resource.create('TestService') - exp_params = { - 'FriendlyName': "TestService" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_service(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/service_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Services" % (BASE_URI) + list_resource.create('TestService') + exp_params = { + 'FriendlyName': "TestService" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/service_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/service_instance.json") + mock.return_value = resp - uri = "%s/Services/%s" % (BASE_URI, SERVICE_SID) - list_resource.get(SERVICE_SID) + uri = "%s/Services/%s" % (BASE_URI, SERVICE_SID) + list_resource.get(SERVICE_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = Service(list_resource, "IS123") - app.delete() - uri = "https://ip-messaging.twilio.com/v1/Services/IS123" - req.assert_called_with("DELETE", uri) + app = Service(list_resource, "IS123") + app.delete() + uri = "https://ip-messaging.twilio.com/v1/Services/IS123" + req.assert_called_with("DELETE", uri) diff --git a/tests/ip_messaging/test_users.py b/tests/ip_messaging/test_users.py index 0c90bb7e2a..5790134b10 100644 --- a/tests/ip_messaging/test_users.py +++ b/tests/ip_messaging/test_users.py @@ -1,3 +1,4 @@ +import unittest from mock import patch, Mock from twilio.rest.resources.ip_messaging import Users, User from tests.tools import create_mock_json @@ -10,43 +11,43 @@ list_resource = Users(BASE_URI, AUTH) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_create_user(mock): - resp = create_mock_json("tests/resources/ip_messaging/user_instance.json") - resp.status_code = 201 - mock.return_value = resp +class UserTest(unittest.TestCase): - uri = "%s/Users" % (BASE_URI) - list_resource.create('test_id') - exp_params = { - 'Id': "test_id" - } + @patch("twilio.rest.resources.base.make_twilio_request") + def test_create_user(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/user_instance.json") + resp.status_code = 201 + mock.return_value = resp - mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, - use_json_extension=False) + uri = "%s/Users" % (BASE_URI) + list_resource.create('test_id') + exp_params = { + 'Id': "test_id" + } + mock.assert_called_with("POST", uri, data=exp_params, auth=AUTH, + use_json_extension=False) -@patch("twilio.rest.resources.base.make_twilio_request") -def test_get(mock): - resp = create_mock_json("tests/resources/ip_messaging/user_instance.json") - mock.return_value = resp + @patch("twilio.rest.resources.base.make_twilio_request") + def test_get(self, mock): + resp = create_mock_json("tests/resources/ip_messaging/user_instance.json") + mock.return_value = resp - uri = "%s/Users/%s" % (BASE_URI, USER_SID) - list_resource.get(USER_SID) + uri = "%s/Users/%s" % (BASE_URI, USER_SID) + list_resource.get(USER_SID) - mock.assert_called_with("GET", uri, auth=AUTH, - use_json_extension=False) + mock.assert_called_with("GET", uri, auth=AUTH, + use_json_extension=False) + @patch("twilio.rest.resources.base.Resource.request") + def test_delete(self, req): + """ Deleting a call should work """ + resp = Mock() + resp.content = "" + resp.status_code = 204 + req.return_value = resp, {} -@patch("twilio.rest.resources.base.Resource.request") -def test_delete(req): - """ Deleting a call should work """ - resp = Mock() - resp.content = "" - resp.status_code = 204 - req.return_value = resp, {} - - app = User(list_resource, "US123") - app.delete() - uri = "%s/Users/US123" % (BASE_URI) - req.assert_called_with("DELETE", uri) + app = User(list_resource, "US123") + app.delete() + uri = "%s/Users/US123" % (BASE_URI) + req.assert_called_with("DELETE", uri) diff --git a/twilio/rest/__init__.py b/twilio/rest/__init__.py index b1963720e0..634a003c64 100644 --- a/twilio/rest/__init__.py +++ b/twilio/rest/__init__.py @@ -1,10 +1,13 @@ from .base import set_twilio_proxy from .client import TwilioRestClient +from .conversations import TwilioConversationsClient +from .ip_messaging import TwilioIpMessagingClient from .lookups import TwilioLookupsClient from .pricing import TwilioPricingClient from .task_router import TwilioTaskRouterClient from .trunking import TwilioTrunkingClient -_hush_pyflakes = [set_twilio_proxy, TwilioRestClient, TwilioLookupsClient, - TwilioPricingClient, TwilioTaskRouterClient, - TwilioTrunkingClient] +_hush_pyflakes = [set_twilio_proxy, TwilioRestClient, + TwilioConversationsClient, TwilioIpMessagingClient, + TwilioLookupsClient, TwilioPricingClient, + TwilioTaskRouterClient, TwilioTrunkingClient] diff --git a/twilio/rest/resources/ip_messaging/channels.py b/twilio/rest/resources/ip_messaging/channels.py index ad6f42ce68..8f84b2216d 100644 --- a/twilio/rest/resources/ip_messaging/channels.py +++ b/twilio/rest/resources/ip_messaging/channels.py @@ -10,8 +10,17 @@ class Channel(NextGenInstanceResource): Messages ] - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, **kwargs): + """ + Updates the Channel instance + :param sid: Channel instance identifier + :param type: Channel type + :param friendly_name: Channel's friendly name + :param attributes: Additional attributes that needs to be stored with + channel + :return: the updated instance + """ + return self.update_instance(**kwargs) def delete(self): """ @@ -52,3 +61,15 @@ def delete(self, sid): Delete a given Channel """ return self.delete_instance(sid) + + def update(self, sid, **kwargs): + """ + Updates the Channel instance identified by sid + :param sid: Channel instance identifier + :param type: Channel type + :param friendly_name: Channel's friendly name + :param attributes: Additional attributes that needs to be stored with + channel + :return: Updated instance + """ + return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/credentials.py b/twilio/rest/resources/ip_messaging/credentials.py index c861dc28d7..3b84f85364 100644 --- a/twilio/rest/resources/ip_messaging/credentials.py +++ b/twilio/rest/resources/ip_messaging/credentials.py @@ -3,8 +3,20 @@ class Credential(NextGenInstanceResource): - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, credential_type, **kwargs): + """ + Updates this Credential instance + :param sid: Credential instance identifier + :param credential_type: Credential type + :param friendly_name: Credential's friendly name + :param certificate: Credential's certificate + :param private_key: Credential's Private key + :param sandbox: Credential's Sandbox + :param api_key: Credential's Api Key + :return: Updated instance + """ + kwargs['type'] = credential_type + return self.update_instance(**kwargs) def delete(self): """ @@ -34,16 +46,16 @@ def list(self, **kwargs): """ return self.get_instances(kwargs) - def create(self, type, **kwargs): + def create(self, credential_type, **kwargs): """ Make a phone call to a number. - :param str type: The type of credential + :param str credential_type: The type of credential :param str friendly_name: The friendly name of the credential. :return: A :class:`Credential` object """ - kwargs["type"] = type + kwargs["type"] = credential_type return self.create_instance(kwargs) def delete(self, sid): @@ -51,3 +63,18 @@ def delete(self, sid): Delete a given Credential """ return self.delete_instance(sid) + + def update(self, sid, credential_type, **kwargs): + """ + Updates the Credential instance identified by sid + :param sid: Credential instance identifier + :param credential_type: Credential type + :param friendly_name: Credential's friendly name + :param certificate: Credential's certificate + :param private_key: Credential's Private key + :param sandbox: Credential's Sandbox + :param api_key: Credential's Api Key + :return: Updated instance + """ + kwargs['type'] = credential_type + return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/members.py b/twilio/rest/resources/ip_messaging/members.py index dd3b0fae90..dfdaadf149 100644 --- a/twilio/rest/resources/ip_messaging/members.py +++ b/twilio/rest/resources/ip_messaging/members.py @@ -3,8 +3,16 @@ class Member(NextGenInstanceResource): - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, role_sid, **kwargs): + """ + Updates the Member instance identified by sid + :param sid: Member instance identifier + :param role_sid: Member's Role Sid + :param identity: Member's Identity + :return: Updated instance + """ + kwargs['role_sid'] = role_sid + return self.update_instance(**kwargs) def delete(self): """ @@ -47,3 +55,14 @@ def delete(self, sid): Delete a given Member """ return self.delete_instance(sid) + + def update(self, sid, role_sid, **kwargs): + """ + Updates the Member instance identified by sid + :param sid: Member instance identifier + :param role_sid: Member's Role Sid + :param identity: Member's Identity + :return: Updated instance + """ + kwargs['role_sid'] = role_sid + return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/messages.py b/twilio/rest/resources/ip_messaging/messages.py index d888e21004..72452e130d 100644 --- a/twilio/rest/resources/ip_messaging/messages.py +++ b/twilio/rest/resources/ip_messaging/messages.py @@ -3,9 +3,6 @@ class Message(NextGenInstanceResource): - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) - def delete(self): """ Delete this message diff --git a/twilio/rest/resources/ip_messaging/roles.py b/twilio/rest/resources/ip_messaging/roles.py index bff9147821..3e1f232842 100644 --- a/twilio/rest/resources/ip_messaging/roles.py +++ b/twilio/rest/resources/ip_messaging/roles.py @@ -3,8 +3,14 @@ class Role(NextGenInstanceResource): - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, permission, **kwargs): + """ + Updates this Role instance + :param permission: Role permission + :return: Updated instance + """ + kwargs['permission'] = permission + return self.update_instance(**kwargs) def delete(self): """ @@ -35,3 +41,27 @@ def delete(self, sid): Delete a given Role """ return self.delete_instance(sid) + + def create(self, friendly_name, role_type, permission): + """ + Creates a Role + :param str friendly_name: Human readable name to the Role + :param str role_type: Type of role - deployment or channel + :param str permission: Set of permissions for the role + """ + kwargs = { + "friendly_name": friendly_name, + "type": role_type, + "permission": permission + } + return self.create_instance(kwargs) + + def update(self, sid, permission, **kwargs): + """ + Updates the Role instance identified by sid + :param sid: Role instance identifier + :param permission: Role permission + :return: Updated instance + """ + kwargs['permission'] = permission + return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/services.py b/twilio/rest/resources/ip_messaging/services.py index 92765677da..f22c30260a 100644 --- a/twilio/rest/resources/ip_messaging/services.py +++ b/twilio/rest/resources/ip_messaging/services.py @@ -12,8 +12,12 @@ class Service(NextGenInstanceResource): Users ] - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, **kwargs): + """ + Updates this Service instance + :return: Updated instance + """ + return self.update_instance(**kwargs) def delete(self): """ @@ -55,3 +59,11 @@ def delete(self, sid): Delete a given Service """ return self.delete_instance(sid) + + def update(self, sid, **kwargs): + """ + Updates the Service instance identified by sid + :param sid: Service instance identifier + :return: Updated instance + """ + return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/users.py b/twilio/rest/resources/ip_messaging/users.py index eb5c6e3501..b37e6767e5 100644 --- a/twilio/rest/resources/ip_messaging/users.py +++ b/twilio/rest/resources/ip_messaging/users.py @@ -3,8 +3,13 @@ class User(NextGenInstanceResource): - def update(self, sid, **kwargs): - return self.update_instance(sid, kwargs) + def update(self, **kwargs): + """ + Updates this User instance + :param role_sid: The role to assign the user. + :return: Updated instance + """ + return self.update_instance(**kwargs) def delete(self): """ @@ -32,10 +37,10 @@ def list(self, **kwargs): def create(self, id, **kwargs): """ - Make a phone call to a number. + Creates a User :param str id: The identity of the user. - :param str role: The role to assign the user. + :param str role_sid: The role to assign the user. :return: A :class:`User` object """ @@ -47,3 +52,12 @@ def delete(self, sid): Delete a given User """ return self.delete_instance(sid) + + def update(self, sid, **kwargs): + """ + Updates the User instance identified by sid + :param sid: User instance identifier + :param role_sid: The role to assign the user. + :return: Updated instance + """ + return self.update_instance(sid, kwargs)