Add basic SNS support.
This commit is contained in:
parent
955b4c6c4a
commit
216750c05b
10 changed files with 517 additions and 0 deletions
49
tests/test_sns/test_subscriptions.py
Normal file
49
tests/test_sns/test_subscriptions.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import boto
|
||||
|
||||
import sure # noqa
|
||||
|
||||
from moto import mock_sns
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_creating_subscription():
|
||||
conn = boto.connect_sns()
|
||||
conn.create_topic("some-topic")
|
||||
topics_json = conn.get_all_topics()
|
||||
topic_arn = topics_json["ListTopicsResponse"]["ListTopicsResult"]["Topics"][0]['TopicArn']
|
||||
|
||||
conn.subscribe(topic_arn, "http", "http://example.com/")
|
||||
|
||||
subscriptions = conn.get_all_subscriptions()["ListSubscriptionsResponse"]["ListSubscriptionsResult"]["Subscriptions"]
|
||||
subscriptions.should.have.length_of(1)
|
||||
subscription = subscriptions[0]
|
||||
subscription["TopicArn"].should.equal(topic_arn)
|
||||
subscription["Protocol"].should.equal("http")
|
||||
subscription["SubscriptionArn"].should.contain(topic_arn)
|
||||
subscription["Endpoint"].should.equal("http://example.com/")
|
||||
|
||||
# Now unsubscribe the subscription
|
||||
conn.unsubscribe(subscription["SubscriptionArn"])
|
||||
|
||||
# And there should be zero subscriptions left
|
||||
subscriptions = conn.get_all_subscriptions()["ListSubscriptionsResponse"]["ListSubscriptionsResult"]["Subscriptions"]
|
||||
subscriptions.should.have.length_of(0)
|
||||
|
||||
|
||||
@mock_sns
|
||||
def test_getting_subscriptions_by_topic():
|
||||
conn = boto.connect_sns()
|
||||
conn.create_topic("topic1")
|
||||
conn.create_topic("topic2")
|
||||
|
||||
topics_json = conn.get_all_topics()
|
||||
topics = topics_json["ListTopicsResponse"]["ListTopicsResult"]["Topics"]
|
||||
topic1_arn = topics[0]['TopicArn']
|
||||
topic2_arn = topics[1]['TopicArn']
|
||||
|
||||
conn.subscribe(topic1_arn, "http", "http://example1.com/")
|
||||
conn.subscribe(topic2_arn, "http", "http://example2.com/")
|
||||
|
||||
topic1_subscriptions = conn.get_all_subscriptions_by_topic(topic1_arn)["ListSubscriptionsByTopicResponse"]["ListSubscriptionsByTopicResult"]["Subscriptions"]
|
||||
topic1_subscriptions.should.have.length_of(1)
|
||||
topic1_subscriptions[0]['Endpoint'].should.equal("http://example1.com/")
|
||||
Loading…
Add table
Add a link
Reference in a new issue