From 00847b37fe67d2578e41ead5ba44af09f60f9ad3 Mon Sep 17 00:00:00 2001 From: Senthil Ramakrishnan Date: Tue, 1 Dec 2015 19:58:12 -0800 Subject: [PATCH 1/3] Fixed issues with ipmessaging - update calls - Tests are also updated --- tests/ip_messaging/test_channels.py | 65 ++++++++--------- tests/ip_messaging/test_credentials.py | 65 ++++++++--------- tests/ip_messaging/test_members.py | 65 ++++++++--------- tests/ip_messaging/test_messages.py | 65 ++++++++--------- tests/ip_messaging/test_roles.py | 69 ++++++++++++------- tests/ip_messaging/test_services.py | 65 ++++++++--------- tests/ip_messaging/test_users.py | 65 ++++++++--------- twilio/rest/__init__.py | 2 + .../rest/resources/ip_messaging/channels.py | 25 ++++++- .../resources/ip_messaging/credentials.py | 31 ++++++++- twilio/rest/resources/ip_messaging/members.py | 23 ++++++- .../rest/resources/ip_messaging/messages.py | 3 - twilio/rest/resources/ip_messaging/roles.py | 34 ++++++++- .../rest/resources/ip_messaging/services.py | 16 ++++- twilio/rest/resources/ip_messaging/users.py | 22 ++++-- 15 files changed, 382 insertions(+), 233 deletions(-) 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..cf5149929f 100644 --- a/twilio/rest/__init__.py +++ b/twilio/rest/__init__.py @@ -1,5 +1,7 @@ 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 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..73b9ed6cc4 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, type, **kwargs): + """ + Updates this Credential instance + :param sid: Credential instance identifier + :param 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'] = type + return self.update_instance(**kwargs) def delete(self): """ @@ -51,3 +63,18 @@ def delete(self, sid): Delete a given Credential """ return self.delete_instance(sid) + + def update(self, sid, type, **kwargs): + """ + Updates the Credential instance identified by sid + :param sid: Credential instance identifier + :param 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'] = 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..a7bb677d8b 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, type, permission): + """ + Creates a Role + :param str friendly_name: Human readable name to the Role + :param str type: Type of role - deployment or channel + :param str permission: Set of permissions for the role + """ + kwargs = { + "friendly_name": friendly_name, + "type": 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) From b5b4b668265e47ac4984e042ce921ad61ef971ef Mon Sep 17 00:00:00 2001 From: Senthil Ramakrishnan Date: Thu, 3 Dec 2015 15:56:16 -0800 Subject: [PATCH 2/3] Parameter name with type, prefixed with context --- .../rest/resources/ip_messaging/credentials.py | 18 +++++++++--------- twilio/rest/resources/ip_messaging/roles.py | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/twilio/rest/resources/ip_messaging/credentials.py b/twilio/rest/resources/ip_messaging/credentials.py index 73b9ed6cc4..3b84f85364 100644 --- a/twilio/rest/resources/ip_messaging/credentials.py +++ b/twilio/rest/resources/ip_messaging/credentials.py @@ -3,11 +3,11 @@ class Credential(NextGenInstanceResource): - def update(self, type, **kwargs): + def update(self, credential_type, **kwargs): """ Updates this Credential instance :param sid: Credential instance identifier - :param type: Credential type + :param credential_type: Credential type :param friendly_name: Credential's friendly name :param certificate: Credential's certificate :param private_key: Credential's Private key @@ -15,7 +15,7 @@ def update(self, type, **kwargs): :param api_key: Credential's Api Key :return: Updated instance """ - kwargs['type'] = type + kwargs['type'] = credential_type return self.update_instance(**kwargs) def delete(self): @@ -46,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): @@ -64,11 +64,11 @@ def delete(self, sid): """ return self.delete_instance(sid) - def update(self, sid, type, **kwargs): + def update(self, sid, credential_type, **kwargs): """ Updates the Credential instance identified by sid :param sid: Credential instance identifier - :param type: Credential type + :param credential_type: Credential type :param friendly_name: Credential's friendly name :param certificate: Credential's certificate :param private_key: Credential's Private key @@ -76,5 +76,5 @@ def update(self, sid, type, **kwargs): :param api_key: Credential's Api Key :return: Updated instance """ - kwargs['type'] = type + kwargs['type'] = credential_type return self.update_instance(sid, kwargs) diff --git a/twilio/rest/resources/ip_messaging/roles.py b/twilio/rest/resources/ip_messaging/roles.py index a7bb677d8b..3e1f232842 100644 --- a/twilio/rest/resources/ip_messaging/roles.py +++ b/twilio/rest/resources/ip_messaging/roles.py @@ -42,16 +42,16 @@ def delete(self, sid): """ return self.delete_instance(sid) - def create(self, friendly_name, type, permission): + def create(self, friendly_name, role_type, permission): """ Creates a Role :param str friendly_name: Human readable name to the Role - :param str type: Type of role - deployment or channel + :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": type, + "type": role_type, "permission": permission } return self.create_instance(kwargs) From d5c068075fd89104ff416cc573e66191eafd44c9 Mon Sep 17 00:00:00 2001 From: Senthil Ramakrishnan Date: Thu, 3 Dec 2015 16:46:17 -0800 Subject: [PATCH 3/3] Added TwilioConversationsClient and TwilioIpMessagingClient to _hush_pyflakes variable. --- twilio/rest/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/twilio/rest/__init__.py b/twilio/rest/__init__.py index cf5149929f..634a003c64 100644 --- a/twilio/rest/__init__.py +++ b/twilio/rest/__init__.py @@ -7,6 +7,7 @@ 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]