Exemplo n.º 1
0
    def test_calls_publish(self, mock_boto3):
        mock_client = mock.MagicMock()
        mock_boto3.client.return_value = mock_client

        sns.send_data({"lol": "wut"}, 'topic')

        self.assertTrue(mock_client.publish.called)
Exemplo n.º 2
0
def route(event, context):
    order_data = sns.parse_data(event)
    product = order_data.get('product')
    if product in SUPPORTED_PRODUCTS:
        product_topic = '{}-order'.format(product)
        sns.send_data(order_data, product_topic)
    else:
        print "Error: Invalid product {}".format(product)
Exemplo n.º 3
0
    def test_calls_publish_with_serialized_data(self, mock_boto3):
        mock_client = mock.MagicMock()
        mock_boto3.client.return_value = mock_client
        data = {"lol": "wut"}
        message_json = json.dumps(data)

        sns.send_data(data, 'topic')

        args, kwargs = mock_client.publish.call_args
        self.assertEqual(kwargs['Message'], message_json)
Exemplo n.º 4
0
    def test_calls_publish_with_topic_arn(self, mock_os, mock_boto3):
        mock_client = mock.MagicMock()
        mock_boto3.client.return_value = mock_client
        mock_os.environ = {
            'SNS_TOPIC_ARN_PREFIX': 'arn:aws:sns:us-east-1:12345'
        }

        sns.send_data({"lol": "wut"}, 'topic')

        args, kwargs = mock_client.publish.call_args
        self.assertEqual(kwargs['TopicArn'],
                         'arn:aws:sns:us-east-1:12345:topic')
Exemplo n.º 5
0
def create(order_data):
    if order_data:
        sns.send_data(order_data, 'new-order')
Exemplo n.º 6
0
 def test_creates_sns_client(self, mock_boto3):
     sns.send_data({"lol": "wut"}, 'topic')
     mock_boto3.client.assert_called_with('sns')