I just spent a long time debugging this error I was getting in a unit test using moto to mock out the boto3 SNS client:
botocore.errorfactory.InvalidParameterException: An error occurred
(InvalidParameter) when calling the Publish operation: not enough values to
unpack (expected 6, got 1)
This error comes from the innards of moto, where it splits an ARN on
assumes there will be six sections to unpack into Python variables there. I was
test_sns_topic_arn as this is just a unit test.
The fix is just to use a realistic ARN structure when using moto in tests, e.g.
This took a long time to identify due to there being no explicit validation on the ARN, so there wasn’t a helpful error message to indicate that the problem was related to the ARN being used during unit tests.