Commit Graph

74 Commits

Author SHA1 Message Date
Michael Bell
51db19067c Allow attributes to be set with subscribe command (#1705) 2018-07-13 10:21:33 +01:00
Iain Bullard
cd4dd3cfbf SNS - Enforce 'Message too long' exception when publishing messages 2018-06-04 13:38:58 +00:00
hsuhans
d9a4501d24 Change SNS http header to actual setting 2018-06-02 06:18:27 +08:00
Steve Pulec
b6909ff64c
Merge pull request #1654 from Birne94/sns-raw-message-delivery
Add RawMessageDelivery for SNS subscriptions (fixes #1571)
2018-05-30 09:46:59 -04:00
Daniel Birnstiel
222cb1535c Add RawMessageDelivery for SNS subscriptions (fixes #1571) 2018-05-30 09:30:18 +02:00
Ben Jolitz
289d361463 add check for at least 1 character as the minumum length
REF: http://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.create_topic
2018-05-04 19:17:37 -07:00
Ben Jolitz
0ed18c8b8a remove extraneous backslash 2018-05-04 16:33:43 -07:00
Ben Jolitz
b08fc8bede
allow topic names to start/end with _, - 2018-05-04 16:30:47 -07:00
wblackconv
ba2ea8e1b3 Add tests for message attribute validation in SNS (#1582)
* Add tests for message attribute validation in SNS

Fixes up bug in return value of
moto.sns.responses.SNSResponse._parse_message_attributes due to
accidental recycling of a variable.

* Fix test_sns.test_publish_to_http in py36 env

Http response is encoded as a byte string which json.loads can't handle.
2018-04-27 15:10:30 -07:00
Steve Pulec
f37bae5b57
Merge pull request #1574 from wblackconv/add-msg-attributes
Include SNS message attributes with message body when delivering to SQS.
2018-04-18 21:19:21 -04:00
Mike Grima
794b8ba59e SNS now supports all modern boto3 regions. 2018-04-18 11:29:02 -07:00
wblack
f401c60825 Include SNS message attributes with message body when delivering to SQS. 2018-04-18 13:42:36 +00:00
Steve Pulec
3373c5bf13 Fix SNS max subject length. Closes #1503. 2018-04-13 15:17:38 -04:00
Alexander Mohr
941d817da4 fix lambda endpoint parsing (#1395)
* fix endpoint parsing

* add new unittest

* finish test
2018-03-21 22:14:10 -07:00
Iain Bullard
d3d9557d49 Implement basic SNS message filtering (#1521)
* Add support for FilterPolicy to sns subscription set_filter_attributes

* Add basic support for sns message filtering

This adds support for exact string value matching along with AND/OR
logic as described here:

https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html

It does not provide support for:
- Anything-but string matching
- Prefix string matching
- Numeric Value Matching

The above filter policies (if configured) will not match messages.
2018-03-21 08:49:11 -07:00
Boris Gvozdev
633decc6c0 SNS: do not duplicate subscriptions 2018-01-02 11:30:39 +11:00
Alexander Mohr
9d087b0729 add subject support (#1387) 2017-12-10 21:59:04 +00:00
Adam Gilman
2ad0f2fc1c SNS create_topic should only accept valid characters (#1329)
* SNS create_topic should only accept valid characters

Closes #1328

* Fix flake8 errors

* Updated regex to match full TopicName constraints

Fixed test_server as it contained invalid TopicNames’ per constraints

* fix error message for invalid topic name
2017-11-13 18:27:11 +00:00
Adam Gilman
307ef8ead1 Makes Creating SNS topics idempotent (#1324)
Make creating SNS topics idempotent

Closes #1323
2017-11-06 19:06:55 +00:00
Terry Cain
dce81cf875 Fixed typos ;-)
Thanks @hwine
2017-10-20 14:52:24 +01:00
Terry Cain
bca8e11290 Fixes #1276 SNS Subject validation 2017-10-20 13:19:55 +01:00
Andrew Miller
194da53a0e Correct the type of a default attribute in SNS PlatformEndpoint (#1267)
The `Enabled` Attribute in the PlatformEndpoint of SNS current returns a boolean, however, the 'enabled' property is expecting a string as `.lower()` is called on the result.

This change simply changes the default from `True` to `'True'` so the property works as expected.
2017-10-17 10:42:29 -07:00
Alexander Mohr
9008b85299 lambda + SNS enhancements (#1048)
* updates

- support lambda messages from SNS
- run lambda in docker container

* decode output

* populate timeout

* simplify

* whoops

* skeletons of cloudwatchlogs

* impl filter log streams

* fix logging

* PEP fixes

* PEP fixes

* fix reset

* fix reset

* add new endpoint

* fix region name

* add docker

* try to fix tests

* try to fix travis issue with boto

* fix escaping in urls

* fix environment variables

* fix PEP

* more pep

* switch back to precise

* another fix attempt

* fix typo

* fix lambda invoke

* fix more unittests

* work on getting this to work in new scheme

* fix py2

* fix error

* fix tests when running in server mode

* more lambda fixes

* try running with latest docker

adapted from aiodocker

* switch to docker python client

* pep fixes

* switch to docker volume

* fix unittest

* fix invoke from sns

* fix zip2tar

* add hack impl for get_function with zip

* try fix

* fix for py < 3.6

* add volume refcount

* try to fix travis

* docker test

* fix yaml

* try fix

* update endpoints

* fix

* another attempt

* try again

* fix recursive import

* refactor fix

* revert changes with better fix

* more reverts

* wait for service to come up

* add back detached mode

* sleep and add another exception type

* put this back for logging

* put back with note

* whoops :)

* docker in docker!

* fix invalid url

* hopefully last fix!

* fix lambda regions

* fix protocol

* travis!!!!

* just run lambda test for now

* use one print

* fix escaping

* another attempt

* yet another

* re-enable all tests

* fixes

* fix for py2

* revert change

* fix for py2.7

* fix output ordering

* remove this given there's a new unittest that covers it

* changes based on review

- add skeleton logs test file
- switch to docker image that matches test env
- fix mock_logs import

* add readme entry
2017-09-27 16:04:58 -07:00
Terry Cain
56c65bc67c
Added in publish by phone number 2017-09-26 00:21:07 +01:00
Terry Cain
18cb0bce54
General tidy up 2017-09-21 21:16:00 +01:00
Terry Cain
19074c535c
Added ConfirmSubscription + Tests + checks
For now subscriptions do nothing, but if we go the route of handing out subscribe tokens, I
have layed the groundwork for validating that
2017-09-20 21:47:02 +01:00
Terry Cain
ef8a97f6c3
Implemented Add/RemovePermission + Tests 2017-09-20 21:13:26 +01:00
Terry Cain
f7f80293c7
Implemented OptInPhoneNumber + Tests 2017-09-20 20:56:37 +01:00
Terry Cain
1281ac86d5
Implemented ListPhoneNumbersOptedOut + Tests 2017-09-20 00:03:58 +01:00
Terry Cain
ba8a2ccfc5
Implemented CheckIfPhoneNumberIsOptedOut + Tests + Error code 2017-09-19 23:54:13 +01:00
Terry Cain
57d94d56c3
Implemented SNS.SetSMSAttributes & SNS.GetSMSAttributes + Filtering
TODO:
AddPermission / RemovePermission
CheckIfPhoneNumberIsOptedOut
ConfirmSubscription
ListPhoneNumbersOptedOut
OptInPhoneNumber
2017-09-19 22:48:46 +01:00
Toshiya Kawasaki
0c3708a8e7 Support SNS subscription attributes (#1087)
* remove code for local test

* Add SNS set_subscription_attributes and get_subscription_attributes
2017-09-07 11:19:34 -07:00
Toshiya Kawasaki
ce7eabd44a Envelope sns message when sending to sqs (#1066)
* envelop message when sendig from sns to sqs

* add test for publishing sns message to sqs

* specify separators options to json.dumps to avoid json bug in python2

* remove unused print

* replace time string for testing server mode
2017-08-21 12:29:34 -07:00
Toshiya Kawasaki
ccf4cf28b1 escape json string when sending message from sns mock to sqs mock 2017-08-18 10:23:11 +09:00
Jack Danger
2b76d07558 Merge pull request #1027 from iCHEF/fix_sns_should_send_json_http_message
Send JSON message to HTTP endpoint of SNS
2017-07-31 12:45:17 -07:00
Peter Us
d76559ee7c SNS delete_topic should also delete subscriptions. 2017-07-31 13:37:29 +02:00
sodastsai
92eedcf291 Send JSON message to HTTP endpoint of SNS
By the documentation from AWS -
http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html ,
SNS would send messages to HTTP/HTTPS endpoint in JSON format. But
current implementation of `moto` sends messages in form-data format.
2017-07-30 20:44:06 +08:00
Steve Pulec
c207963a86 Cleanup SNS exceptions. Closes #751. 2017-03-16 22:28:30 -04:00
Steve Pulec
6d422d1f37 Add BaseModel to all models. 2017-03-11 23:41:12 -05:00
Steve Pulec
1287d53817 Fix tests for py26 and py3. 2017-02-27 20:53:57 -05:00
Steve Pulec
a22caf27ab Cleanup sns default topic. 2017-02-27 10:20:53 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
cb28eeefbb Add moto reset API. 2017-02-20 18:25:10 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Steve Pulec
d3df810065 Generalize decorator code. 2017-02-12 00:22:29 -05:00
Mike Pappas
4942e74ab1 Fix SNS application endpoint to match AWS return format (#763) 2016-11-11 17:01:47 -05:00
Collin RM Stocks
1b65c45b56 ALWAYS use utcnow(), never now() 2016-09-07 14:40:52 -04:00
Michael van Tellingen
45ce0615e1
Save the sns messages in the PlatformEndpoint
This makes it easier to test the correct sns messages are sent
2016-06-02 11:02:43 +02:00
Michael van Tellingen
d34dd5b08a
Implement support for sns delete_endpoint() 2016-05-02 14:34:51 +02:00
Andrew Garrett
ec10699c38 Add XML support for cloudformation commands that lacked it
This lets boto3's cloudformation API work with moto.

fixes #444

Signed-off-by: Scott Greene <scott.greene@getbraintree.com>
2016-02-29 19:50:23 +00:00