General tidy up
This commit is contained in:
parent
fec81fc6ea
commit
18cb0bce54
@ -574,7 +574,12 @@ class SNSResponse(BaseResponse):
|
||||
error_response = self._error('NotFound', 'Topic does not exist')
|
||||
return error_response, dict(status=404)
|
||||
|
||||
# Added other parts here for when they are needed
|
||||
# Once Tokens are stored by the `subscribe` endpoint and distributed
|
||||
# to the client somehow, then we can check validity of tokens
|
||||
# presented to this method. The following code works, all thats
|
||||
# needed is to perform a token check and assign that value to the
|
||||
# `already_subscribed` variable.
|
||||
#
|
||||
# token = self._get_param('Token')
|
||||
# auth = self._get_param('AuthenticateOnUnsubscribe')
|
||||
# if already_subscribed:
|
||||
|
@ -321,3 +321,30 @@ def test_publish_to_disabled_platform_endpoint():
|
||||
MessageStructure="json",
|
||||
TargetArn=endpoint_arn,
|
||||
).should.throw(ClientError)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_set_sms_attributes():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
conn.set_sms_attributes(attributes={'DefaultSMSType': 'Transactional', 'test': 'test'})
|
||||
|
||||
response = conn.get_sms_attributes()
|
||||
response.should.contain('attributes')
|
||||
response['attributes'].should.contain('DefaultSMSType')
|
||||
response['attributes'].should.contain('test')
|
||||
response['attributes']['DefaultSMSType'].should.equal('Transactional')
|
||||
response['attributes']['test'].should.equal('test')
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_get_sms_attributes_filtered():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
conn.set_sms_attributes(attributes={'DefaultSMSType': 'Transactional', 'test': 'test'})
|
||||
|
||||
response = conn.get_sms_attributes(attributes=['DefaultSMSType'])
|
||||
response.should.contain('attributes')
|
||||
response['attributes'].should.contain('DefaultSMSType')
|
||||
response['attributes'].should_not.contain('test')
|
||||
response['attributes']['DefaultSMSType'].should.equal('Transactional')
|
||||
|
@ -1,113 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
import boto3
|
||||
import sure # noqa
|
||||
|
||||
from moto import mock_sns
|
||||
from botocore.exceptions import ClientError
|
||||
from nose.tools import assert_raises
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_set_sms_attributes():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
conn.set_sms_attributes(attributes={'DefaultSMSType': 'Transactional', 'test': 'test'})
|
||||
|
||||
response = conn.get_sms_attributes()
|
||||
response.should.contain('attributes')
|
||||
response['attributes'].should.contain('DefaultSMSType')
|
||||
response['attributes'].should.contain('test')
|
||||
response['attributes']['DefaultSMSType'].should.equal('Transactional')
|
||||
response['attributes']['test'].should.equal('test')
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_get_sms_attributes_filtered():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
conn.set_sms_attributes(attributes={'DefaultSMSType': 'Transactional', 'test': 'test'})
|
||||
|
||||
response = conn.get_sms_attributes(attributes=['DefaultSMSType'])
|
||||
response.should.contain('attributes')
|
||||
response['attributes'].should.contain('DefaultSMSType')
|
||||
response['attributes'].should_not.contain('test')
|
||||
response['attributes']['DefaultSMSType'].should.equal('Transactional')
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_not_opted_out():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.check_if_phone_number_is_opted_out(phoneNumber='+447428545375')
|
||||
|
||||
response.should.contain('isOptedOut')
|
||||
response['isOptedOut'].should.be(False)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_opted_out(): # Ends in 99 so is opted out
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.check_if_phone_number_is_opted_out(phoneNumber='+447428545399')
|
||||
|
||||
response.should.contain('isOptedOut')
|
||||
response['isOptedOut'].should.be(True)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_opted_out_invalid():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
# Invalid phone number
|
||||
with assert_raises(ClientError):
|
||||
conn.check_if_phone_number_is_opted_out(phoneNumber='+44742LALALA')
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_list_opted_out():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
|
||||
response.should.contain('phoneNumbers')
|
||||
len(response['phoneNumbers']).should.be.greater_than(0)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_opt_in():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
current_len = len(response['phoneNumbers'])
|
||||
assert current_len > 0
|
||||
|
||||
conn.opt_in_phone_number(phoneNumber=response['phoneNumbers'][0])
|
||||
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
len(response['phoneNumbers']).should.be.greater_than(0)
|
||||
len(response['phoneNumbers']).should.be.lower_than(current_len)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_add_remove_permissions():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.create_topic(Name='testpermissions')
|
||||
|
||||
conn.add_permission(
|
||||
TopicArn=response['TopicArn'],
|
||||
Label='Test1234',
|
||||
AWSAccountId=['999999999999'],
|
||||
ActionName=['AddPermission']
|
||||
)
|
||||
conn.remove_permission(
|
||||
TopicArn=response['TopicArn'],
|
||||
Label='Test1234'
|
||||
)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_confirm_subscription():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.create_topic(Name='testconfirm')
|
||||
|
||||
conn.confirm_subscription(
|
||||
TopicArn=response['TopicArn'],
|
||||
Token='2336412f37fb687f5d51e6e241d59b68c4e583a5cee0be6f95bbf97ab8d2441cf47b99e848408adaadf4c197e65f03473d53c4ba398f6abbf38ce2e8ebf7b4ceceb2cd817959bcde1357e58a2861b05288c535822eb88cac3db04f592285249971efc6484194fc4a4586147f16916692',
|
||||
AuthenticateOnUnsubscribe='true'
|
||||
)
|
@ -34,6 +34,7 @@ def test_creating_subscription():
|
||||
"ListSubscriptionsResult"]["Subscriptions"]
|
||||
subscriptions.should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_sns_deprecated
|
||||
def test_deleting_subscriptions_by_deleting_topic():
|
||||
conn = boto.connect_sns()
|
||||
@ -66,6 +67,7 @@ def test_deleting_subscriptions_by_deleting_topic():
|
||||
"ListSubscriptionsResult"]["Subscriptions"]
|
||||
subscriptions.should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_sns_deprecated
|
||||
def test_getting_subscriptions_by_topic():
|
||||
conn = boto.connect_sns()
|
||||
|
@ -37,6 +37,7 @@ def test_creating_subscription():
|
||||
subscriptions = conn.list_subscriptions()["Subscriptions"]
|
||||
subscriptions.should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_deleting_subscriptions_by_deleting_topic():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
@ -68,6 +69,7 @@ def test_deleting_subscriptions_by_deleting_topic():
|
||||
subscriptions = conn.list_subscriptions()["Subscriptions"]
|
||||
subscriptions.should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_getting_subscriptions_by_topic():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
@ -197,3 +199,67 @@ def test_set_subscription_attributes():
|
||||
AttributeName='InvalidName',
|
||||
AttributeValue='true'
|
||||
)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_not_opted_out():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.check_if_phone_number_is_opted_out(phoneNumber='+447428545375')
|
||||
|
||||
response.should.contain('isOptedOut')
|
||||
response['isOptedOut'].should.be(False)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_opted_out():
|
||||
# Phone number ends in 99 so is hardcoded in the endpoint to return opted
|
||||
# out status
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.check_if_phone_number_is_opted_out(phoneNumber='+447428545399')
|
||||
|
||||
response.should.contain('isOptedOut')
|
||||
response['isOptedOut'].should.be(True)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_check_opted_out_invalid():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
|
||||
# Invalid phone number
|
||||
with assert_raises(ClientError):
|
||||
conn.check_if_phone_number_is_opted_out(phoneNumber='+44742LALALA')
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_list_opted_out():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
|
||||
response.should.contain('phoneNumbers')
|
||||
len(response['phoneNumbers']).should.be.greater_than(0)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_opt_in():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
current_len = len(response['phoneNumbers'])
|
||||
assert current_len > 0
|
||||
|
||||
conn.opt_in_phone_number(phoneNumber=response['phoneNumbers'][0])
|
||||
|
||||
response = conn.list_phone_numbers_opted_out()
|
||||
len(response['phoneNumbers']).should.be.greater_than(0)
|
||||
len(response['phoneNumbers']).should.be.lower_than(current_len)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_confirm_subscription():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.create_topic(Name='testconfirm')
|
||||
|
||||
conn.confirm_subscription(
|
||||
TopicArn=response['TopicArn'],
|
||||
Token='2336412f37fb687f5d51e6e241d59b68c4e583a5cee0be6f95bbf97ab8d2441cf47b99e848408adaadf4c197e65f03473d53c4ba398f6abbf38ce2e8ebf7b4ceceb2cd817959bcde1357e58a2861b05288c535822eb88cac3db04f592285249971efc6484194fc4a4586147f16916692',
|
||||
AuthenticateOnUnsubscribe='true'
|
||||
)
|
||||
|
@ -129,3 +129,20 @@ def test_topic_paging():
|
||||
response.shouldnt.have("NextToken")
|
||||
|
||||
topics_list.should.have.length_of(int(DEFAULT_PAGE_SIZE / 2))
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_add_remove_permissions():
|
||||
conn = boto3.client('sns', region_name='us-east-1')
|
||||
response = conn.create_topic(Name='testpermissions')
|
||||
|
||||
conn.add_permission(
|
||||
TopicArn=response['TopicArn'],
|
||||
Label='Test1234',
|
||||
AWSAccountId=['999999999999'],
|
||||
ActionName=['AddPermission']
|
||||
)
|
||||
conn.remove_permission(
|
||||
TopicArn=response['TopicArn'],
|
||||
Label='Test1234'
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user