Commit Graph

146 Commits

Author SHA1 Message Date
jmsanders
0b7e990bbf Limit SQS list_queues response to 1000 queues
The maximum number of queues that the ListQueues API can return is 1000:

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html
2020-02-07 15:54:42 -06:00
gruebel
44024ab74b Fix sqs permission handling & add more error handling 2020-01-30 22:42:27 +01:00
Steve Pulec
a32b3c4b59 Fix SQS get_queue_attributes to allow RedrivePolicy. Closes #2682. 2020-01-22 19:38:07 -06:00
gruebel
9d9b620878 Fixed linter errors 2019-12-26 21:03:49 +01:00
gruebel
d7ba355a65 Add missing regions to all services 2019-12-26 17:12:22 +01:00
Fabio Dias
743dd46399 black linting 2019-12-16 21:25:20 -05:00
Fabio Dias
fd9ac4b9a5 ACCOUNT_ID moved to moto.core, MOTO_ACCOUNT_ID env var override 2019-12-16 21:05:29 -05:00
Fabio Dias
b83a750630 Added references to moto.iam.models.ACCOUNT_ID instead of hardcoded id 2019-12-16 19:56:11 -05:00
Asher Foa
3bb31c84fd Fix some typos 2019-11-16 12:31:45 -08:00
Bjorn Olsen
97c20dd11d Added AWS DataSync mocks and tests 2019-11-04 17:41:46 +02:00
Bjorn Olsen
9c00f572d6 First working tests! 2019-11-01 19:24:21 +02:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
gruebel
86e53c3db3 Remove dead code 2019-10-30 17:37:38 +01:00
gruebel
51117c948a Add error handling to sqs.delete_message 2019-10-27 12:46:59 +01:00
gruebel
c3cb411c07 Refactor sqs.get_queue_attributes & add AttributeNames handling 2019-10-27 12:13:33 +01:00
gruebel
6573f69087 Refactor sqs.get_queue_url 2019-10-26 22:26:48 +02:00
gruebel
23978e644f Refactor sqs.send_message_batch 2019-10-26 22:08:45 +02:00
gruebel
ed1c799bdc CR fix 2019-10-18 09:04:29 +02:00
gruebel
19a34ea57a Add error handling for sqs.list_queue_tags 2019-10-17 22:38:16 +02:00
gruebel
dbfb319def Add error handling for sqs.tag_queue 2019-10-17 22:36:37 +02:00
gruebel
65c5502a62 Add error handling for sqs.send_message_batch 2019-10-17 22:09:14 +02:00
gruebel
ce3f1eed66 fix test server error 2019-10-13 20:32:53 +02:00
gruebel
0d8c81a211 fix CloudFormation tests 2019-10-13 17:18:11 +02:00
gruebel
49045fe680 Add tags parameter to sqs.create_queue 2019-10-13 14:51:31 +02:00
Steve Pulec
d88e1fbdda
Merge pull request #2402 from gruebel/fix-sqs-maxReceiveCount
Store SQS RedrivePolicy maxReceiveCount value as int
2019-09-11 21:52:16 -05:00
gruebel
9ac20ad5f1 store SQS RedrivePolicy maxReceiveCount value as int 2019-08-31 19:28:09 +02:00
Vladimir
8b90a75aa0 issues-2386 make comparing exists and new queues only by static attrs 2019-08-23 17:17:10 +03:00
Randy Westergren
ccceb70397
And event source mapping endpoints and SQS trigger support 2019-08-20 21:54:57 -04:00
Steve Pulec
b19c201975 Cleanup model ref resetting. 2019-07-10 21:16:11 -05:00
Robert Lewis
6e89a22008 Remove request_id from templates. 2019-01-20 19:17:25 -08:00
jamesandres
e38eea751f
Go easier on the CPU when moto sqs is idle
For our local development setup we have found that moto is using around 25% CPU constantly. Digging in with gdb it turned out that it was burning that CPU in the sleeping loop. Here i'm increasing the sleep by 10x which brings the idle CPU usage down by 10x (to ~2%).

I'm not familiar enough with the moto/sqs codebase to know if lengthening this sleep will have an adverse effect; however, in other Python dev I've noticed that (in Python 2.7 anyway..) Python threading won't context switch a thread until a sleep of at least 0.01 seconds is performed (shockingly long!). So based on this guesswork I suspect sleeping for 0.01 seconds won't cause any grief.
2018-10-31 11:39:49 +00:00
Steve Pulec
0ab07bc482
Merge pull request #1763 from nate/fix/receive_message_wait_time_seconds
Force receive_message_wait_time_seconds to be int
2018-09-22 16:49:24 -04:00
Nathan Sutton
8393c7f20b Don't error on double create queue with same attrs
Creating a queue a second time with the same attributes should not raise
an error. This change makes it work correctly.
2018-08-08 21:10:13 -05:00
Nathan Sutton
9d1c665310 Force receive_message_wait_time_seconds to be int
When a queue is created with the ReceiveMessageWaitTimeSeconds
attribute the value is never converted to an integer. When the
ReceiveMessage action is called it tries to compare the string
ReceiveMessageWaitTimeSeconds with the min and max wait times which
raises a TypeError.

The solution is to convert this value to an integer before comparing.
2018-08-08 19:14:56 -05:00
Steve Pulec
1689a2808f Fix creating SQS queue with same attributes. Closes #1663. 2018-05-31 23:05:50 -04:00
Steve Pulec
919c0c9b04
Merge pull request #1656 from Birne94/sqs-message-group-id
Add MessageGroupId support to SQS queues (fixes #1655)
2018-05-30 20:36:53 -04:00
Daniel Birnstiel
9b8e62e1f1 Add MessageGroupId support to SQS queues (fixes #1655) 2018-05-30 15:29:57 +02:00
Steve Pulec
bc1bdd7ae1
Merge pull request #1586 from DHager/accept_non_json_redrive_policy
Fix Cloudformation not accepting non-JSON SQS redrive policy
2018-05-29 22:07:00 -04:00
Iain Bullard
fad4394474 SQS add missing validation to ReceiveMessage (#1595)
* SQS receive_message - enforce bounds on MaxNumberOfMessages as AWS does

* SQS receive_message - enforce bounds on WaitTimeSeconds as AWS does
2018-04-24 09:51:49 -07:00
Darien Hager
3c9d8bca46 Remove whitespace to satisfy flake8 formatting 2018-04-20 11:46:12 -07:00
Darien Hager
5cd4d5e02f Change SQS model to support non-JSON redrive policies. Does not affect other limitations in SQS APIs. 2018-04-19 23:25:10 -07:00
Darien Hager
6556ba89cd Basic plumbing to preserve MessageGroupId and MessageDeduplicationID, if they are provided. 2018-04-19 00:22:58 -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
Iain Bullard
6dce7dcb18 Improve SQS Compatibility with AWS (#1520)
* Return correct error code when fetching a queue that does not exist

* Improve SQS Queue get and set attributes

* Queue creation and set_attributes uses the same code path
    - ensure bool/int values are cast correctly
* RedrivePolicy is handled properly with set_attributes
    - _setup_dlq is called
    - is json decoded, so that returned RedrivePolicy is not json
      encoded twice
* As per AWS not all attributes are returned when they are not set, for
  example RedrivePolicy, FifoQueue, Policy, Kms*
* WaitTimeSeconds is not a queue attribute switch to
  ReceiveMessageWaitTimeSeconds
2018-03-21 08:48:08 -07:00
Dan W Anderson
8959643e56 return redrivepolicy attribute as string 2018-01-23 18:33:23 -08:00
Dan W Anderson
89bad39313 add redrivepolicy attribute to sqs 2018-01-23 18:33:23 -08:00
Alexander Mohr
97687d153a Implement CloudWatch get_metric_statistics (#1369)
* implement get_metric_statistics
2017-12-01 20:37:27 +00:00
Terry Cain
75f0deb828 Completed SQS Implementation 2017-10-29 18:59:40 +00:00
Terry Cain
49ddb500a8 AWS X-Ray client mock. (#1255)
* X-Ray Client SDK patched

Fixes #1250

* Fixed flake8

* Fixed some issues

* Fixed flake8

* Fixed more typos

* Fixed python2 string

* Fixed aws-sdk patch order

* Added more test cases to test the patching
2017-10-16 17:06:22 -07:00
Jack Danger
dc40fce146 implement SQS QueueDoesNotExist error 2017-10-10 13:05:48 -07:00